Apache ServiceMix 介绍
LogicBlaze FUSE中的Apache ServiceMix要理解LogicBlaze FUSE和它的性能,需要先对Apache SercieMix有一些必要的了解。Apache SercieMix是一个适应JBI的ESB。JBI允许在标准基础设施中使用第三方组件,并且允许这些组件以一种定义好的方式进行交互操作。我们这里主要关注JBI容器的两个主要的功能:JBI组件和消息交换机
LogicBlaze FUSE中的Apache ServiceMix
要理解LogicBlaze FUSE和它的性能,需要先对Apache SercieMix有一些必要的了解。Apache SercieMix是一个适应JBI的ESB。JBI允许在标准基础设施中使用第三方组件,并且允许这些组件以一种定义好的方式进行交互操作。我们这里主要关注JBI容器的两个主要的功能:JBI组件和消息交换机制。
Apache SercieMix为LogicBlaze FUSE分布式平台提供了主要的消息交换基础设施。消息交换基础设施的目的是使应用彼此之间交换数据,即使当这些应用是分布式的并且是互不兼容。在LogicBlaze FUSE SOA实现中,Apache SercieMix提供这种能力。
下图给出了一个JBI容器的简单视图。应用A是一个现存的或遗留的应用,它需要与一个不兼容的应用(应用B)交换消息。Apache SercieMix表示为JBI 容器。Apache SercieMix使得这两个应用可以交换数据。
1. 应用A通过一个绑定组件(稍候会定义)连接到JBI环境。绑定组件A与应用A通过一个A懂得的协议(如HTTP,JMS等)进行交流。
2. 绑定组件A把消息从它原是的格式转换成一种中立的或规格化的格式。规格化后的消息被传递到一个服务引擎组件(稍候会定义)进行一些处理。消息通过规格化消息路由器(NMR)而发送。
3. 服务引擎通过NMR发送消息到绑定组件B。
4. 绑定组件B将把消息转换(反规格化)为一种应用B可以懂得的格式,然后把消息发送到应用B。
Apache SercieMix组件
Apache SercieMix使用很多已经建好的组件。下表是一个Apache SercieMix组件和简要描述对照表。
Apache SercieMix组件
组件名称
类型
描述
Quartz
LW SE
工作安排组件
Reflection
LW SE
Reflection(映像)API展现或反映Java虚拟机当前的类、接口和对象。开发工具如调试器、浏览器和GUI环境中可以很方便的利用此API
Cache
LW SE
用来缓存服务请求以减少重复载入服务的开支
JCA
LW SE
允许使用Java连接器架构(JCA),使线程池、事务处理和对JMS和其他资源适配器可以更加高效的工作
Groovy
LW SE
该组件允许Groovy脚本被用作终点、转换器或服务。使你能够组合利用Groovy脚本语言和ServiceMix JBI容器的优点
Scripting
LW SE
该组件使任何满足JSR223的脚本引擎可以方便的创建一个组件、执行一个转换、或被当作表达式语言使用
XSLT
LW SE
该组件可执行XSLT转换实现消息的本地规格化,并输出一个规格化的消息
XPath Routing
LW SE
用来在ESB中实现基于内容的路由。也就是说在服务总线中消息是根据其本身的属性或内容来路由的。当整合系统采用多种语言实现时,一般都采用XML作为消息的统一格式,所以XPath是实现基于内容路由和传输的理想工具。
Validation
LW SE
使用Java API确认文件的模版,包括XML Schema等
PXE
JBI SE
BPEL引擎利用PXE BPEL引擎来支持WS-BPEL
Email
LW BC
利用JavaMail实现Emal
File
LW BC
用来将消息写入文件,选择目录,以及将文件发送给JBI
FTP
LW BC
利用Jakarta Commons Net库实现FTP
HTTP
LW BC
包括客户端的GET/POST请求和服务器端用servlets或Jetty的处理
Jabber
LW BC
利用XMPP协议实现Javver网络帮定
XSQL
LW BC
利用Oracle的XSQL库实现SQL和XML操作
VFS
LW BC
利用Jakarta Commons Net库,访问文件系统,jars/zips/bzip2文件,临时文件,WebDAV,Samba(CIFS),HTTP,HTTPS,FTP和SFTP
WSIF
LW BC
用来与Apache的Web服务调用框架(WSIF)聚合
JAX WS
LW BC
使用JAX-WS API生成Web服务客户端调用或处理一个基于Java的Web服务并通过多种协议将其发布
JMS
LW BC
利用Java消息服务实现在ActiveMQ中重要的、可靠的和可扩展的传输。这种传输应该是持续连接的、可恢复的,并且是支持事务的
RSS
LW BC
支持通过Rome库访问并处理RSS种子
SAAJ
LW BC
支持带附件的Soap和Apach Axis
servicemix-http
JBI BC
HTTP绑定
servicemix-jms
JBI BC
JMS 绑定
servicemix-jsr181
JBI BC
servicemixlwcontainer
JBI SE
servicemix-sca
JBI SE
servicemix-wsn2005
JBI SE
servicemix-bpe
JBI SE
组件名称
类型
描述
Quartz
LW SE
工作安排组件
Reflection
LW SE
Reflection(映像)API展现或反映Java虚拟机当前的类、接口和对象。开发工具如调试器、浏览器和GUI环境中可以很方便的利用此API
Cache
LW SE
用来缓存服务请求以减少重复载入服务的开支
JCA
LW SE
允许使用Java连接器架构(JCA),使线程池、事务处理和对JMS和其他资源适配器可以更加高效的工作
Groovy
LW SE
该组件允许Groovy脚本被用作终点、转换器或服务。使你能够组合利用Groovy脚本语言和ServiceMix JBI容器的优点
Scripting
LW SE
该组件使任何满足JSR223的脚本引擎可以方便的创建一个组件、执行一个转换、或被当作表达式语言使用
XSLT
LW SE
该组件可执行XSLT转换实现消息的本地规格化,并输出一个规格化的消息
XPath Routing
LW SE
用来在ESB中实现基于内容的路由。也就是说在服务总线中消息是根据其本身的属性或内容来路由的。当整合系统采用多种语言实现时,一般都采用XML作为消息的统一格式,所以XPath是实现基于内容路由和传输的理想工具。
Validation
LW SE
使用Java API确认文件的模版,包括XML Schema等
PXE
JBI SE
BPEL引擎利用PXE BPEL引擎来支持WS-BPEL
LW BC
利用JavaMail实现Emal
File
LW BC
用来将消息写入文件,选择目录,以及将文件发送给JBI
FTP
LW BC
利用Jakarta Commons Net库实现FTP
HTTP
LW BC
包括客户端的GET/POST请求和服务器端用servlets或Jetty的处理
Jabber
LW BC
利用XMPP协议实现Javver网络帮定
XSQL
LW BC
利用Oracle的XSQL库实现SQL和XML操作
VFS
LW BC
利用Jakarta Commons Net库,访问文件系统,jars/zips/bzip2文件,临时文件,WebDAV,Samba(CIFS),HTTP,HTTPS,FTP和SFTP
WSIF
LW BC
用来与Apache的Web服务调用框架(WSIF)聚合
JAX WS
LW BC
使用JAX-WS API生成Web服务客户端调用或处理一个基于Java的Web服务并通过多种协议将其发布
JMS
LW BC
利用Java消息服务实现在ActiveMQ中重要的、可靠的和可扩展的传输。这种传输应该是持续连接的、可恢复的,并且是支持事务的
RSS
LW BC
支持通过Rome库访问并处理RSS种子
SAAJ
LW BC
支持带附件的Soap和Apach Axis
servicemix-http
JBI BC
HTTP绑定
servicemix-jms
JBI BC
JMS 绑定
servicemix-jsr181
JBI BC
servicemixlwcontainer
JBI SE
servicemix-sca
JBI SE
servicemix-wsn2005
JBI SE
servicemix-bpe
JBI SE
更多推荐
所有评论(0)