SOA三大核心部件
一、ESB(Enterprise Service Bus)企业服务总线
ESB是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
ESB的五个基本功能:
1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址管理功能。
2)传输服务:必须确保通过企业总线互连的业务流程间的消息的正确交付,传输还包括基于内容的路由功能。
3)中介:提供位置透明性的服务路由和定位服务;多种消息传递形式;支持广泛使用的传输协议。
4)多种服务集成方式: 如JCA,Web服务,Messaging ,Adaptor等.
5)服务和事件管理支持:如服务调用的记录、测量和监控数据;提供事件检测、触发和分布功能;
二、BPM(Business Process Management)业务流程管理
所谓业务流程管理是指根据业务环境的变化,推进人与人之间、人与系统之间的整合及调整经营方法与解决方案的IT工具。BPM可以使系统更为强壮,通过BPM组件,SOA能够更好地监控它连接的系统。
三、Portal 门户
门户是一个基于WEB的应用程序,它提供个性化、单点登录、不同来源内容整合及存放信息系统的表示层。 Portal是低成本的集成技术。如果企业已经有了很多信息系统,Portal可以很容易的将这些系统集成到一起,并以统一界面方式提供给用户。
(1)服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用者的请求;
(2)服务使用者:服务使用者是一组使用服务提供者所提供的一项或多项服务的组件;
(3)服务储备库:服务储备库包含服务的描述,服务提供者在该储备库中注册其服务,而服务使用者访问该储备库已发现的所提供的服务。
具体实现:
SOA是一种软件架构,而不是局限于某个技术的组合,它超越了技术范围。SOA的关键是“服务”。W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常是使用者的状态发生变化,但也可能是提供者的状态改变,或者双方都产生变化”。服务是网络中可用的软件资源。服务提供者通过标准机制提供服务,使用者通过网络有计划地使用服务。服务储备库发布服务所在位置,并在使用者请求服务时定位服务。服务使用者和提供者的角色不是唯一的,服务提供者也可以是使用者,反之亦然。SOA具体的实现有很多,包括Web Service,Ses-sionBean,JINI等,但随着Web Service技术被越来越重视,其己经成为构建SOA的主要技术。
Web Service是SOA中服务的主要实现技术,也是一种广泛采用的新的组件技术。SOA是一种软件架构,面向商业应用;Web则是一种技术架构,面向实现模式。
Web Service所涉及的关键技术包括:
1. XML
XML标准是一个基于文本的W3C规范标记语言。
2. SOAP(Simple Object Access Protocol)简单对象访问协议
客户端请求和Web服务响应通过简单对象访问协议在HTTP上传输,以运行于不同平台和地点的客户端与Web服务之间建立完全的互操作。HTTP是在互联网上发送消息时常用的请求与响应标准协议,而SOAP是一种基于XML的协议,仍然继承HTTP请求和响应模式。
3. WSDL (Web Services Description Language) Web服务描述语言
Web服务描述语言是一种描述网络Web服务的XML标准格式。描述的内容包括:服务名称、服务地点、如何与服务通信。众多WSDL可以存放于UDDI注册表,并在Web上公布。
4. UDDI (Universal Description,Discovery,and Integration -UDDI)
通用描述,发现与集成,基于XML的标准,使企业可以将有关其产品和Web服务的信息发布在互联网上,并使这些信息可以被全球任何一个想做生意的客户端访问到。可以将UDDI想像成一个Web服务的黄页。
SCA和SDO标准是IBM和BEA等公司推出的,SCA实现了业务组件和传输协议的分离,可以处理各种平台组件的集成。SDO可以自由读取各种不同数据源的数据。另外,BPEL本质上是一种集成Web Service服务的语言,也可以算作为SOA的一部分。
SCA(Service Component Architecture)中文翻译为“服务组件架构”,是一种全新的软件架构思想。SCA中,最重要的一个概念是Service—-服务,它的内涵式独立于具体的技术。因此,SCA不会称之为 Java组件架构,或Web Service 组件架构。所谓的具体技术,主要有两层含义:一是程序语言,而是传输协议。现有的组件是和传输协议紧密耦合的。比如EJB组件采用的是RMI传输协议,Web Service组件采用的是SOAP传输协议。SCA组件则能自由地绑定各种传输协议。SCA目标是让服务组件能自由绑定各种传输协议,集成其他的组建与服务。
SCA与传统的业务组件最大区别在于SCA实现了两个功能:一是组件和传输协议的分离,二是接口和实现语言的分离。
SCA的本质是一种软件架构思想,SCA架构是独立于程序语言的SOA架构。SCA主要是为集成的需要。使用SCA可以使组件之间处于一种松耦合的状态,不需要在自己的代码中加入对方组件的接口代码。
SDO(Service Data Objects)服务数据对象,SDO是SOA体系结构中的一个用来简化和统一数据应用的开发框架,也是SCA Module的基本组成部分。SDO支持与XML的集成并且适用于J2EE模式和最佳实践。与其他的数据集成模型不同,SDO不仅仅是数据的抽象,SDO框架也是一个断开连接的编程模型,即可以在不连接任何数据源的情况下进行编程。
BPEL( Business Process Execution Language) Web服务的业务流程执行语言,BPEL提供了一种XML注释和语义,用于指定基于Web服务的业务流程行为。使用合作伙伴的交互方式,定义了该BPEL4WS流程。合作伙伴可以将服务提供给流程,也可以向流程请求服务,或者参与到流程的双向交互中。BPEL通过指定顺序来编排Web服务,这对服务集合的调用来说意义深远。BPEL还针对每个服务分配了合作伙伴的责任。您可以使用它来指定合作伙伴的公共接口和可执行流程的描述。
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《SOA三大核心部件》
本文地址:http://www.xiupu.net/archives-5416.html
关注公众号:
微信赞赏
支付宝赞赏