SOA基础协议解析

日期: 2007-12-14 作者:张昕楠 来源:TechTarget中国

  SOA基本构架示意图

  SOA实施框架示意图

  近几年,SOA在企业级开发市场已经得到了广泛认同,绝大多数厂商和消费者都对SOA的前景表示乐观。那么如何更好地界定SOA呢?

  SOA(Service-Oriented Architecture的简写),可以译为面向服务的体系架构。普遍认为,SOA是面向全部IT资产的一种体系架构,通过以特定的规格将这些资产以服务的形式进行描述,可以实现服务的重复应用,从而提高IT资产的适应能力并更好地发挥效用。

  这些理念难免给人一种似曾相识的感觉,您可能会想到CORBA,也许还想到了EAI。事实上,SOA在一定程度上沿革了这些“前辈”的理念。SOA作为一项架构级别的理念,包容了大量已有的技术要素。

  目前SOA可以通过很多种技术进行实现,不同的厂商提供了不同的解决方案,但是从基础技术层面分析,SOA还是拥有自己惯用的或者说主要的一组技术,下面我们分别讲解在构建SOA的过程中经常应用的一些技术。

  异构服务交互

  在最初版本的SOAP当中,这个概念是指简单对象访问协议,不过随着时间的推移,无论是开发人员还是这项标准的缔造者都已经不再满足于将其仅仅应用于对象了。SOAP的规范目前已经将目标转移到基于XML进行消息处理的框架上面,根据较新的SOAP规范定义,SOAP是一种用于在分布式环境中交换结构化信息的轻量级协议。基于XML技术,SOAP定义出一种容易扩展的消息处理框架,基于该框架用户可以在各种不同的底层协议上完成消息的交换,令用户可以使用任何技术机制进行实现。SOAP并不是SOA完成消息交换的强制实现,但是由于在需要协作的用户之间往往具有不同的IT基础设施结构,为了发挥SOA在弥合异构平台方面的核心作用,SOAP是支持异构服务交互的一种非常有效的方法。

  描述Web服务

  WSDL是Web服务描述语言的简称,用于描述Web服务。从本质上来讲,WSDL是提供Web服务间交互的基础。在Web服务应用的过程中,一个很重要的特性就是Web服务之间的互相发现,这就要求不同供应商所提供的Web服务要具有统一的规范,即基于同样的样式进行描述,这正是WSDL所起到的作用。当不同的服务通过WSDL标识了自己,就意味着其他Web服务可以发现并理解自己,从而最终对自己进行调用。这个基于WSDL生成的对于Web服务的描述信息,可以经由SOAP来完成交换。在SOA当中之所以大量地使用Web服务所使用的技术,核心原因在于Web服务能够解决很多CORBA这样以组件为基础的体系中的一些问题。例如,面向组件的体系相对比较复杂,CORBA有一套自己的编程体系,如果需要使用CORBA就必须学习一系列全新的知识和规范。而Web服务无需开发人员转换到另一种开发模型当中,使用自己惯用的Java或者.NET开发技术都可以直接进行Web服务的开发。事实上,Web服务提供了一种接口或者中介,它能够更加轻松和透明地将已有的业务导入到新的模式当中。另外,Web服务基于HTTP协议的通信和基于XML的定义方式都是标准实现,可以轻松地提供SOA所需的跨平台特性。当然,在需要的时候Web服务也可以应用很多其他的协议来实现。因此说,在某些层面是SOA选择了Web服务,而从发展的角度来看,SOA也是建构在Web服务上的,是一种对Web服务的延伸,绝大部分在Web服务中使用的开发技术都可以直接应用于构建SOA。

  开放信息交换体系

  企业服务总线(Enterprise Service Bus,ESB)是实现SOA的一组最为重要的技术,很多SOA的构建和实施都是基于企业服务总线完成的。从本质上看,ESB是一种开放的、基于标准的消息交换体系,可以使用SOAP,也可以使用其他符合标准要求的消息机制来实现。通过提供接口,ESB可以在服务层面以及比服务更细致的组件层面实现互操作。一般来说,ESB内涵消息处理、服务通信、服务质量、安全等诸多方面的功能,也提供建模、自主管理、基础架构智能等更高的支持。ESB从服务的构建开始,更好地管理服务的整个生命周期,可以最大限度实现服务之间的整合。在很多的ESB实现当中也应用了中间件技术,基于中间件的实现与基于Web服务的实现相比,能够更加降低体系的耦合度。

  中外SOA应用情况简介

  从全球的角度看,SOA已经成为企业开发市场的大势所趋。以Sun公司为例,将Java平台开源、倾力打造NetBeans开发工具套件、力推GlassFish应用服务器,Sun似乎已经认识到或者说决定了未来10年中企业软件的发展方向,并正在一步一步地补全自己的SOA版图。IBM作为全球最大的企业软件供应商之一,近年也不断地将发展战略与SOA融合,使其占据了SOA市场最大的份额。在中国市场,真正的SOA应用刚刚萌芽,经过了几年的探索,国内的软件企业、研究机构乃至开发人员都已经对SOA有了一定的认识,并形成了一些开发经验。但是,距离真正的SOA市场高峰还有很多的工作要做,这与国内的用户群体现状有很大的关系。相对来说,国内的大型企业数量不足,国内市场无法提供SOA所需的市场容量。另外,国内企业的管理水平和国外企业有一定的差距。国内SOA产业想要高速成长,中国的SOA供应商一方面要有足够的耐心;另一方面结合中国企业的现状不断修正和完善自己的SOA解决方案,并力争形成面向中小企业的SOA技术积累和解决方案积累。

  主流产品

  BEA AquaLogic

  BEA AquaLogic是一个用于支持企业成功迁移到SOA,从而提高IT效率和业务响应能力的服务基础架构。BEA AquaLogic产品家族包括BEA AquaLogic Service Bus、BEA AquaLogic Data Services Platform等,它提供了在整个SOA生命周期内部署、配置、确保和管理不同服务全面统一的产品套件。

  Microsoft BizTalk Server

  BizTalk Server 2006 Standard Edition包括23种适配器,可以连接至传统系统(大型机和中型机)和行业应用程序(SAP、Siebel、PeopleSoft、Oracle和JD Edwards)。该产品包括集成的管理工具,业务活动监视门户以及23个适配器,同时支持Web Service。

  IBM WebSphere Portal

  IBM发布的WebSphere Portal 6.0版本,该系统集成了IBM Workplace和为构建组装应用程序来适应不同具体工业领域或者一个组织内部的一个人员的角色或者任务的协作技术。具有包括预警和联系到提供应用程序历史分析,状态跟踪和项目度量报告的第三方的链接。

  Oracle SOA套件

  Oracle SOA套件是一套用于创建、部署和管理SOA服务的服务基础设施组件。Oracle SOA套件支持服务的创建和管理,并可将服务组合为复合应用和业务流程。借助Oracle SOA套件,各机构可以轻松地扩展和发展他们的架构,而不是更换现有的系统。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐