1、SOA — 面向服务的体系结构

      面向服务的体系结构(service-oriented architecture,SOA)是一个组件
模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的
接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服
务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可
以以一种统一和通用的方式进行交互。

      SOA 是一种 IT 体系结构样式,支持将您的业务作为链接服务或可重复业务
任务进行集成,可在需要时通过网络访问这些服务和任务。这个网络可能完全包
含在您的公司总部内,也可能分散于各地且采用不同的技术,通过对来自纽约、
伦敦和香港的服务进行组合,可让最终用户感觉似乎这些服务就安装在本地桌面
上一样。需要时,这些服务可以将自己组装为按需应用程序——即相互连接的服
务提供者和使用者集合,彼此结合以完成特定业务任务,使您的业务能够适应不
断变化的情况和需求(在有些情况下,甚至不需要人工干预)。

      从技术角度而言,SOA 带来了“松散耦合”的应用程序组件,在此类组件中,
代码不一定绑定到某个特定的数据库(甚至不一定绑定到特定的基础设施)。正
是得益于这个松散耦合特性,才使得能够将服务组合为各种应用程序。这样还大
幅度提高了代码重用率,可以在增加功能的同时减少工作量。由于服务和访问服
务的客户机并未彼此绑定,因此可以完全替换用于处理订单的服务,下订单的客
户机-服务将永远不会知道这个更改。所有交互都是基于“服务契约”进行的;
服务契约用于定义服务提供者和客户机之间的交互。通常,您将通过创建“基于
消息的”系统来实现此目标。

通过实现 SOA,可以带来大量好处,包括以下各个方面:

. 更高的业务和 IT 一致性
. 基于组件的系统
. 松散耦合的组件和系统
. 基于网络的基础设施,允许分散于各地且采用不同技术的资源协同工作
. 动态构建的按需应用程序
. 更高的代码重用率
. 更好地标准化整个企业内的流程
. 更易于集中企业控制


      由于 SOA 涉及到业务的诸多方面,因此需要从一开始就对 SOA 项目进行细心的
规划和设计。您需要考虑项目的整个生命周期,从最初的阶段到第一个实现,再
一直到可能的修订和重用。

现在让我们看看 SOA 生命周期,如图 1 中所示。此部分概略说明了在生命周期
的各个阶段发生的事项,并详细介绍了实现生命周期的各个步骤。

建模

     面向服务的体系结构项目的第一步几乎和技术没有任何关系,所有事项都与您的
业务相关。请记住,面向服务的方法将业务所执行的活动视为服务,因此第一步
是要确定这些业务活动或流程实际是什么。对您的业务体系结构进行记录,这些
记录不仅可以用于规划 SOA,还可以用于对实际业务流程进行优化。通过在编写
代码前模拟或建模业务流程,您可以更深入地了解这些流程,从而有利于构建帮
助执行这些流程的软件。

建模业务流程的程度将依赖于预期实现的深度。另外,这个程度还依赖于您在开
发团队中担任的角色。如果您是企业架构师,您将会对实际的业务服务进行建模。
如果您是软件开发人员,您将可能对单个服务进行建模。下面提供了一些有用的
资源,可帮助您更有效地对业务和应用程序进行建模。

组装

     对业务流程进行了建模和优化后,开发人员可以开始构建新的服务和/或重用现
有的服务,然后对其进行组装以形成组合应用程序,从而实现这些流程。在“建
模”步骤中,您已经确定了需要何种类型的服务以及它们将访问何种类型的数
据。已经存在某种形式的实现这些服务或访问该类数据所需的一些软件。“组
装”步骤将要找到已经存在的功能,并为其添加服务支持。另外,还涉及到创建
提供功能和访问数据源所需的新服务,以便满足您的 SOA 涉及的业务流程范围
内的需求。

部署

     进行了建模和组装后,要将组成 SOA 的资产部署到安全的集成环境中。此环境
本身提供专门化的服务,用于集成业务中涉及的人员、流程和信息。这种级别的
集成可帮助确保将公司的所有主要元素连接到一起协同工作。此外,部署工作还


     需要满足业务的性能和可用性需求,并提供足够的灵活性,以便吸纳新服务(并
使旧服务退役),而不会对整个系统造成大的影响

管理

     系统就位,一切都正常运行。 现在您可以对一切放手不管了,对吗?不对。部
署后,需要从 IT 和业务两个角度对您的系统进行管理和监视。在“管理”步骤
中收集的信息用于帮助实时地了解业务流程,从而能更好地进行业务决策,并将
信息反馈回生命周期,以进行持续的流程改进工作。您将需要处理服务质量、安
全、一般系统管理之类的问题。

     在本步骤中,您将监视和优化系统,发现和纠正效率低下的情况和存在的问题。
由于 SOA 是一个迭代过程,因此,在此步骤中,您不仅要找出技术体系结构中
有待改进之处,而且还要找出业务体系结构中有待改进之处。

控制

     SOA 是一种集中系统;其中可以包含来自组织的不同部门的服务,甚至还能包含
来自组织外的服务。如果没有恰当的控制,这种系统很容易失控。

控制对所有生命周期阶段起到巩固支撑作用,为整个 SOA 系统提供指导,并有
助于了解系统全貌。它提供指导和控制,帮助服务提供者和使用者避免遇到意外
情况。下面提供了一些有用的资源,可帮助您了解如何控制和建立自己的控制方
案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值