SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认),另外一个是:IBM和BEA等公司推出的SCA和SDO标准。
JBI之关注Java组件只处理Java组件的集成。
SCA实现了业务组件和传输协议的分离,可以处理各种平台组件的集成。
SDO可以的自由读取各种不同数据源的数据。
另外,BPEL本质上是一种集成WebService服务的语言,也可以算作为SOA的一部分。
在此,详细介绍JBI的架构思想。
一、认识JBI
JBI(Java Business Integration)中文翻译为“Java业务集成”,是SUN发布的一个用于Java组件进行集成的一个标准。
JBI的本质是一种服务总线思想。
JBI的目标是创建一个用于各种Java组件服务集成的运行环境。
二、认识JBI容器
JBI是一种思想,JBI思想的实现就是JBI容器。
JBI容器是为弥补现有J2EE容器的不足而出现的。
现有应用服务器的容器类型:Servlet容器、EJB容器、JMS容器。
现有应用服务器的容器不足:
a)、每种容器都有自己特殊的传输协议,相互之间不能直接通信。比如:Servlet容器只能接受HTTP/SOAP的传输协议,EJB容器只能处理RMI的传输协议,JMS只能处理JMS的传输协议。
b)、是一个纯粹的服务提供者,不是一个服务的集成者。也就是说,容器之间不能继承服务。
c)、容器间服务的调用需要编写客户端代码。
JBI容器以一种可插拔的方式集成不同类型的服务,而不是通过编写客户端代码来实现服务的集成。
2、JBI容器的组成的三大部分:
a)、绑定组件(BC:Binding Components):专门用来接收各种不同传输协议的请求,原理是JBI实现了各种不同协议的绑定组件,绑定组件可以细分为接收BC和发送BC。接收BC主要负责发送请求和接收响应,发送BC主要用来调用外部的服务。
b)、服务引擎(SE:Service Engines):这类组件只处理JBI容器内部的消息。JBI容器通常在接收到消息后,需要对请求的消息做一些“处理”,然后再调用外部服务的提供者。根据功能的不同,将SE组件分为以下三种类型:
Transform SE:专门处理各种传输协议和格式变化。
BPEL SE:专门负责将Web Service进行流程编排。
Rules SE:专门负责通过规则将各种服务进行集成。
c)、JBI的规格化消息路由器(Normalized Message Router):是JBI内部消息系统的核心,所有的组建之间不能交换消息,只能通过NMR来传递。
在JBI容器内部,只有一种标准的规格化消息(Normalized Message)。任务服务组件进入JBI环境之前,通过BC转换为规格消息NM。在JBI环境里,所有的服务都不能相互调用,不论是请求还是回答消息,都要先转给NMR,再由NMR分发。JBI运行环境里面的组件(SE、BC)和NMR都是通过NM来进行信息交换的。
外部请求者将一个HTTP请求发送给JBI容器,容器的HTTP BC接收请求,并将请求的消息格式化为NM发送给消息接收转换引擎,然后再将NM发送给NMR,由NMR再将NM发送给SOAP BC,SOAP BC将NM转换为SOAP消息发送到外部的WS组件。执行后,消息按照原路返回。
个人观点:
JBI是SUN的标准,是SUN对J2EE容器的一种改进,SUN并不想兼容其他语言的组件。
随着SUN公司被收购,SUN之外的几个巨头都力推SCA标准,SUN的JBI标准将名存实亡,难以得到重用。
理解容器的工作原理,可以更清楚的认识JBI集成服务的原理和过程。如果只为学习开发,容器标准了解下即可,应多研究一下JBI标准API接口和规范。
原文出处:http://www.uml.org.cn/soa/200912223.asp
分享到:
相关推荐
SOA在Java领域有两套标准:一个是SUN推出的...在此,详细介绍JBI的架构思想。一、认识JBIJBI(JavaBusinessIntegration)中文翻译为“Java业务集成”,是SUN发布的一个用于Java组件进行集成的一个标准。JBI的本质是一
SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认)...一、认识SCASCA(ServiceComponentArchitecture)中文翻译为“服务组件架构”,是一种全新的软件架构思想。SCA中,最重要的一个概念是Servi
总的来说,SOA是一种以服务为中心的架构思想,旨在提高系统的灵活性、可扩展性和可维护性,通过松耦合的服务和标准化的接口,降低了系统集成的复杂性,促进了不同系统间的协作和数据交换。JBI和SCA等技术则是SOA理念...
《面向服务的Java业务集成》一书不仅是一本技术指南,也是理解现代企业IT架构中SOA和JBI角色的关键文献。通过对SOA原理、JBI规范以及ESB技术的深入讲解,本书帮助读者掌握如何在Java环境下构建高效、灵活且可扩展的...
企业服务总线(ESB)是一种基于面向服务架构(SOA)思想的企业业务集成的基础软件架构。它允许第三方程序组件以标准化的方式“插入”到平台上运行,并以标准的消息通信方式进行交互。相较于传统的企业应用集成(EAI...
它的设计思想强调构件之间的松耦合,即构件间的协作通过消息机制来实现,从而减少它们之间的依赖关系,使得系统更易于扩展和维护。 在企业信息系统集成的过程中,消息路由器的设计和实现至关重要。它需要确保消息在...
【SOA的标准化】:JCP(Java Community Process)在2005年发布的JBI v1.0规范定义了基于规范化消息的SOA运行架构,包括消息路由器、绑定构件和服务引擎构件。JBI 2.0被视作是JEE(Java Enterprise Edition)的重要...
服务导向架构(Service-Oriented Architecture, SOA)是一种设计思想,它将应用程序的不同功能单元通过服务接口联系起来,这些服务接口使用一种标准的方式进行交互。SOA 的核心优势在于它的互操作性、组件复用性以及...
书中探讨了SOA的关键技术和协议,如SOAP、WSDL、UDDI,以及相关的开发技术,如JAX-WS、Axis,还有SOA架构技术如JBI、SCA/SDO、OSGi等。 #### 面向资源架构ROA——REST的实践 ROA(Resource-Oriented Architecture...
又比如目前被大家广泛提及的SOA(面向服务架构),为客户解决“业务敏捷性问题”提供了新的指导思想和方法。但是SOA的整体构架必须依赖于三方面技术的支撑:解决互通互联的技术与标准,比如我们所熟知的消息总线技术...