中国信息官CIO精英 前沿视野 经验之谈 职业发展 信息官杂谈 | 产品资讯笔记本 商用电脑 服务器 办公 网络设备 存储设备 软件 显示设备 其他

您当前的位置: 首页 > SOA频道 > SOA标准 〉SOA标准中的JBI架构思想

SOA标准中的JBI架构思想

2012-01-31 10:35:00

  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组件。执行后,消息按照原路返回。

(责编:千千)

下一篇文章:SOA标准的比较说明
上一篇文章:SOA和SaaS的五大区别
投稿邮箱:cio114@foxmail.com