SOA标准之JBI架构思想

 
   | |

导读:本文介绍了SOA标准中JBI架构的JBI容器的组成与架构以及JBI容器工作的概念图。

关键词:SOA Java JBI容器 BPEL

 
正在加载数据...

  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容器以一种可插拔的方式集成不同类型的服务,而不是通过编写客户端代码来实现服务的集成。

  三、JBI容器的组成与架构

  1、JBI容器的架构图

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来进行信息交换的。

  四、JBI容器工作的概念图

JBI容器工作的概念图

  如上图:

  外部请求者将一个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
 
来源:UML软件工程组织    作者:leizhimin    
 
 
 
 
 

SCA

 
你想知道Java实施内服务、参照和属性是如何定义的吗?让我们使用支付的例子看看Java注释为Payment组件,如何被添加到Java类中来定义SCA服务……
 
SCA符合应用的每一个组件都是使用实施类型实施的。SCA技术参数定义了许多实施类型并且Tuscany项目也增加了一些。
 
服务组件架构(SCA)标准体系的愿景,起源于IBM和BEA的概念,对面向服务架构(SOA)来说具有编程标准的性质,这个说法来自于……
 
随着SCA/SCDL工具集的发展和时间的变化,很可能会改变。和微软的Frontpage一样,简化了基于HTML Web网站的开发过程,新厂商的产品……
 
SOA和Web服务已经成为主流,有些人认为它们现在实际上代表了部署新应用与合成服务。组件重用、开放标准和轻松装配合成服务……

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录