技术开发 频道

下一代软件架构--SOA

    SOA服务粒度 

    可以按基于服务的功能及发送和接收的数据数量来定义服务,如细粒度服务、粗粒度服务或组合服务。

    在 SOA 中服务粒度有两种相关的意思:服务是如何实现的,服务使用和返回了多少数据或多少消息。细粒度服务执行了最小的功能,发送和接收少量的数据。粗粒度服务执行了较大的业务功能,并交换了更多的数据。

    细粒度服务是供粗粒度服务或组合服务使用的,而不是由终端应用直接使用的。如果应用是使用细粒度服务建立的,则应用将不得不调用网络上多个服务,并且发生在每个服务上的数据量较少,因而会对对系统整体性带来影响。所以粗粒度服务的用户不能直接调用他所使用的细粒度服务。然而,由于粗粒度服务可能使用多个细粒度服务,因此它们不能提供粒度级的安全和访问控制。

    组合服务可以使用粗粒度服务和细粒度服务进行组装。数据数量数量不是粗粒度服务和组合服务之间的区别。粗粒度服务例子,如创建新客户,在这一过程的操作是:需要通过一些外部服务验证对客户进行验证,并在 CRM 应用系统中创建客户记录。组合服务例子可以是提供一个新的DSL线,这需要一个服务调用来验证定单、创建或验证客户,确认产品库存及为数据线分配资源。

    下图描述了服务粒度的不同级别及它们之间的关系。

图示:服务粒度

    通过一组有效设计和组合的粗粒度服务,业务专家就能够有效地组合出新的业务流程和应用程序了。

    SOA与Web服务

    SOA不是一定需要 Web 服务来实现,并且一个基于Web 服务开发出来的应用也不代表就是一个基于 SOA 构架应用。Web 服务只是服务实现的一个典型,是实现企业 SOA的一个组件(非必需组件)。SOA 为基于服务的分布式系统提供了概念上的设计模式。Web 服务则是基于标准的、可经济实惠地实现 SOA的一项技术。

    SOA将IT资源透过服务这样一个在业务上有重要涵义的概念来提供、共享,把IT与业务的距离更加拉近了一步。服务在涉及的层次上要比组件、函数、流程等更高,而且往往在业务上可以找到与之直接对应的概念或实体,例如报价、订单。服务打破了IT系统间的藩篱,就像一家公司的各个部门,平常各自扮演特定对内或对外服务的角色,但彼此间如果能有效地通过共通的语言及文字,进行良好的沟通,便能协力达成更大、更高的目标。

    随着SOA和Web服务的潮流,带来了组合式应用(composite application)的开发方式和观念,开始逐渐被大量应用在Portal(门户)和Integration(集成)上。组合式Portal的做法,就是通过Portal界面所提供的应用,往往不是真的在Portal服务器上执行,而是将Web服务即时抓过来,再加以呈现,同时汇总给Portal的使用者。在整合方面也是采用组合式的方式。通过高级工具来设定,使系统得以灵活地配合任务的调整,对各项以Web服务方式提供的服务进行不同形式的串联和协作,同时快速地加以部署。2004年3月,BEA发布了一个企业门户合理化(enterprise portal rationalization,EPR)战略,这个战略用来平衡BEA WebLogic Platform的SOA能力,凭借最好的行业实践和行业专家,帮助客户解决多年来形成的散乱的portal和Web应用程序开发。

    如果说Web服务等技术是SOA的血肉,那么正确的服务设计理念及系统运行平台则是SOA的灵魂。SOA试图让IT能更快和业务同步,在规划上以提供弹性的业务服务为目标。从CIO到负责规划的系统分析人员,需要和业务单位、策略伙伴间有充分的沟通。CIO必须认识到,SOA的建立将是一个为期数年的承诺,基础建设需要按部就班地进行,资助的模式也必须在IT和各个业务部门间建立,来陆续支援基础建设及各项业务服务的开发。

    在中间件领域,SOA架构日益成为中间件软件供应商争夺的新焦点。谁都希望自己能够先于竞争对手提供最优的SOA技术实现平台,BEA也不例外。从技术上来说,Web服务、组件技术的采用将有助于SOA的进一步普及,从业务上来说,企业用户要求性价比更高的应用系统,SOA恰恰适应了这样的趋势。

    5月底,在美国旧金山举办的BEA 第九届技术年会eWorld 2004上,来自全球的BEA技术精英将会在现场尽情体验到BEA的技术专家在现场带来的在BEA WebLogic Platform 8.1上的SOA系统设计模式和非常好的实践,即有关如何构建SOA系统的技术准则,随后这些非常好的技术实践将陆续借助BEA公司的开发人员站点(总部:http://dev2dev.bea.com,中国开发人员站点:http://dev2dev.bea.com.cn)等媒体分享给全球技术用户,最终目标是使得不仅是BEA的客户,而且是全球的企业用户的信息系统最大化地享受到SOA带来的商业价值。

0
相关文章