`

Apache Servicemix介绍

阅读更多



 支持
SUN JSR 208规范: Java Business Integration (JBI) , 采用 Apache 许可协议。

关于JBIJBI容器:

Java Business IntegrationJBI的本质是一种服务总线思想,它的目的是创建一个用于各种Java组件服务集成的运行环境,JBI的核心总线结构支持插件操作。

JBI的具体实现即是一个JBI容器,它以一种可插拔的方式集成不同类型的服务,而不是通过编写客户端代码来实现服务的集成。

SOAJava领域有两套标准:一个是SUN推出JBI,另外一个是IBMBEA等公司推出的SCASDO标准。随着SUN公司被收购,SUN之外的几个巨头都力推SCA标准,JBI恐将名存实亡,难以得到重用。

 

JBI架构:

架构说明:

1JBI规范主要有六部分组成:绑定组件BCs(Binding Components),服务引擎SEsService Engines)、标准消息路由器NMRNormal Message Router)、传输通道Delivery channel、服务单元SUs Service units)、服务集合SasService assemblys);

2,绑定组件BCs的目的有两个:a,利用协议(如HTTP/S, JMS, FTP, SMTP, XMPP, RMI, CORBA等等)与外部应用进行远程通信;b,对消息进行标准化处理(正反向);

3,服务引擎SEs负责提供一些ESB中的功能如消息转换、服务编排、消息路由等,还实现一些其他常用的功能如rules engines, BPEL engines, XSLT engines, scripting engines, EJB continers。各种SE只能通过NMR进行通信,如果一个SE需要与外部进行通信则需要利用NMR将消息传送给BC,由BC负责与外部的通信;

4NMRJBI内部消息系统的核心,所有组件(SEBC)之间不能直接交互,只能通过NMR来传递。在JBI环境里,只有一种标准的消息(Normalized Message),外部消息进入JBI前,需通过BC转换为标准消息,再有NMR转发。

5Delivery channel负责连接JBI组件(BCsSEs)到NMR,提供诸如消息队列等功能;

6SUJBI使用者编写的服务,包含具体业务逻辑等,其中包含了一个xml配置文件(xbeans.xml)和依赖库等,配置文件用来说明如何使用JBI组件(BCsSEs),最终的执行都是在这些JBI组件中进行的,每个SU打包成一个zip文件,但必须放在SA中才能部署到JBI容器中。

7SA包含一组SU,通过一个jbi.xml描述包含的SU,每个SA打包成一个zip文件,可部署到JBI容器中。

8JBI提供了一种插件机制,上述BCsSEsSAs都可以作为插件插入到系统中,并可以实现动态热部署。

9,用户可以根据需要开发自己的BCSE

10,提供JMX支持,可以对JBI容器进行监控,如JBI组件的安装、部署等;

 

Servicemix除了实现JBI规范外,还增加了一些特性如:

1,提供了丰富的SEBC组件,基本满足常见需求;

2,支持与Spring的集成;

3,支持与Apache Camel的集成,可利用其提供更灵活、强大的路由功能;

4,使用ActiveMQ提供远程、集群、可靠性和分布式故障转移等;

5Servicemix4实现了对OSGI的支持;

 

使用了Servicemix的公司主要有: 雷神公司、英国电信、CVS/pharmacy、思科、Sabre Holdings

  • 大小: 68.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics