两种粒度实现SOA服务
可以按基于服务的功能及发送和接收的数据数量来定义服务,如细粒度服务、粗粒度服务或组合服务。
在SOA中服务粒度有两种相关的意思,即服务是如何实现的,服务使用和返回了多少数据或多少消息。细粒度服务执行了最小的功能,发送和接收少量的数据。粗粒度服务执行了较大的业务功能,并交换了更多的数据。
细粒度服务是供粗粒度服务或组合服务使用的,而不是由终端应用直接使用的。如果应用是使用细粒度服务建立的,则应用将不得不调用网络上多个服务,并且发生在每个服务上的数据量较少,因而会对对系统整体性带来影响。所以,粗粒度服务的用户不能直接调用他所使用的细粒度服务。然而,由于粗粒度服务可能使用多个细粒度服务,因此它们不能提供粒度级的安全和访问控制。
组合服务可以使用粗粒度服务和细粒度服务进行组装。数据数量不是粗粒度服务和组合服务之间的区别。粗粒度服务例子,如创建新客户,在这一过程的操作是:需要通过一些外部服务验证对客户进行验证,并在CRM应用系统中创建客户记录。组合服务例子可以是提供一个新的DSL线,这需要一个服务调用来验证订单、创建或验证客户,确认产品库存及为数据线分配资源。

基于SOA的企业应用

SOA服务粒度的不同级别及其相互关系
上图描述了SOA服务粒度的不同级别及它们之间的关系。
通过一组有效设计和组合的粗粒度服务,业务专家就能够有效地组合出新的业务流程和应用程序了。
成就商务自主
作为面向服务的计算架构,SOA简化了IT的计算环境,其兼容性、互通性以及最终实现的商务自主的能力,满足了高度动态的商务环境(Dynamic Business),实现了IT对业务从数月到分秒的响应。专家指出,SOA的最终价值在于让IT和业务同步,在规划上以面向提供弹性的业务服务为目标。从CIO到负责规划的架构设计师,都需要和业务部门之间有充分的沟通。因此,SOA的建立,将会是一个为期数年的承诺,基础建设和标准必需逐步实施。
在中间件领域,SOA架构日益成为中间件软件供应商争夺的新焦点,谁都希望自己能够先于竞争对手提供最优的SOA技术实现平台,BEA也不例外。从技术上来说,Web服务、组件技术的采用将有助于SOA的进一步普及;从业务上来说,企业用户要求性价比更高的应用系统,SOA恰恰适应了这样的趋势。
5月底,在美国旧金山举办的BEA第九届技术年会eWorld 2004上,来自全球的BEA技术精英将会在现场尽情体验到BEA的技术专家在现场带来的在BEA WebLogic Platform 8.1上的SOA系统设计模式和非常好的实践,即有关如何构建SOA系统的技术准则,BEA要让全球的企业用户的信息系统都能够最大化地享受到SOA带来的商业价值。
GartnerGroup预计,到2008年,SOA将成为占有绝对优势的软件工程实践方法,它将结束传统的整体软件体系架构长达40年的统治地位(可能性:70%)。Gartner建议,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。总之,如何把握,如何运用到自身的企业建设中,SOA已经给出了一个很好的基础。