JBoss-BM WebSphere MQ-ActiveMQ

1、 JBoss被Red Hat收购后,发布了Jboss Messaging作为缺省的JMS提供者来代替JbossMQ,但是目前Jboss Messaging已经处于bug修复模式,由HornetQ完全支持JMS。

2、 IBM WebSphere MQ

IBM WebSphere MQ是IBM业务集成的基础性产品,也是十几年以来消息中间件市场的主要领军产品之一。

WebSphere MQ作为消息中间件的价值是它有能力来解决IT相关的业务问题,并且提供可靠的消息提供机制。通过WebSphere MQ提供的功能主要有:

Ø        不受时间约束的消息传递——应用程序和Web服务能自如地交换信息,而无需顾虑应用或服务在通讯时是否有效。例如,您可以在白天输入订单并发送至订单执行系统以备处理,然而订单执行系统可以在夜间进行订单的批处理。当一个正在接收消息的应用程序暂时无效时尤为重要。

Ø        确保消息传递——一旦信息被创建,WebSphere MQ便具备了正确发送它的职责。

Ø        交易支持——通常情况下,在应用之间交换一条消息是远远不够的,经常是一组消息。例如,一个订单入口程序通常将订单中的每个条目都发布一条消息,而不是把订单发布成一条消息。如果在一组消息被完全处理之前(例如已处理10条消息中的前4条),有一条消息发生错误,那么必须回滚这部分消息(第1条到第4条消息),才可以保证在再次启动时重新发布一组完整消息。这种机制通常被归纳为支持工作单元。

Ø        信息传递的并行处理——由于许多后台应用对新用户也是有效的(例如客户通过Web进入订单系统),这些应用不应该让客户感到失望。例如在订单处理过程中让客户长时间等待会使客户非常灰心。在以消息机制为通讯方式的环境下,这种延误会被减少,因为消息不是直接发送给应用而是被放到队列中。一旦消息被提交给WebSphere MQ,应用恢复与用户的交互。

Ø        安全的消息传递——有能力使用高层的安全性来转移高价值/高风险交易所固有的风险。WebSphere MQ支持工业标准SSL,并为高级安全特征要求提供了扩展的安全版本。

Ø        一致的编程接口——Java Messaging Service是包含在J2EE标准规范内的应有程序接口。推荐在部署新的信息应有程序时使用JMS接口,然而对于那些准备采用非java应用并且已经使用了大量非java应用的企业来说,可以使用MQ接口(MQI)。编程接口是跨多平台以及用户友好的接口。

Ø        应用独立于网络或者系统故障——应用程序使用任意一种程序接口(JMS或者MQI)通过WebSphere MQ来发送和接收消息。WebSphere MQ提供了处理消息传递的大部分复杂性功能,这意味着应有程序设计可以着重于处理商业问题而不是IT 基础架构和网络问题。

Ø        系统资源的有效利用——当不同平台的用户采用集群操作时,能够开发未充分利用的资源或者降低平台成本。

Ø        可扩展性——可以通过群集来完成横向或者纵向的扩展。可以通过增加额外的队列管理器(比如为每个处理器增加一个)或者在多平台上构架群集来提高在多处理器平台上的消息处理能力。既然可以在所有的通用平台上来部署WebSphere MQ,因此一个开始基于桌面平台的实现同样可以成长为基于主机平台的实现。

Ø        文件传输——通过WebSphere MQ信息,文件传输应有允许您以WebSphere MQ 消息的格式发送和接收任何格式和任何类型的文件。这些文件包括:图像、word处理的文档、电子数据表、报告、信函、备忘录、图表。

IBM WebSphere MQ产品支持应用程序通过不同组件如处理器、子系统、操作系统以及通信协议的网络彼此进行通信。例如,IBM WebSphere MQ 支持 35 种以上的不同操作系统。

IBM WebSphere MQ支持两种不同的应用程序编程接口:Java 消息服务(JMS)和消息队列接口(MQI)。在 IBM WebSphere MQ 服务器上,JMS 绑定方式被映射到 MQI。应用程序直接与其本地队列管理器通过使用 MQI 进行对话,MQI 是一组要求队列管理器提供服务的调用。MQI 的引人之处是它只提供 13 次调用。这意味着对于应用程序编程员它是一种非常易于使用的接口,因为大部分艰苦工作都将透明完成的。

3、 ActiveMQ

ActiveMQ提供的主要功能特性包括:

1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, Python, PHP。应用协议: OpenWire,Stomp REST,WSNotification,XMPP,AMQP

2. 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)

3. 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性

4. 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上

5. 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA

6. 支持通过JDBC和journal提供高速的消息持久化

7. 从设计上保证了高性能的集群,客户端-服务器,点对点

8. 支持Ajax

9. 支持与Axis的整合

10. 可以很容易得调用内嵌JMS provider,进行测试

ActiveMQ官方网站中给出了ActiveMQ对比JbossMQ时所具有的优势:

Ø        ActiveMQ 很好地运行在任何jvm,而不是在Jboss应用服务器中

Ø        ActiveMQ 实现了非常多的跨语言客户端(Cross LanguageClients)

Ø        ActiveMQ 支持多种不同的协(Protocols),比如 Ajax, REST, Stomp, OpenWire,XMPP

Ø        ActiveMQ 支持大量的特性,比如 Message Groups, ExclusiveConsumer, Composite Destinations, Advisory Message

Ø        ActiveMQ 通过可配置的(configurable)自动重连提供高可靠的连接

Ø        ActiveMQ 有非常好的Spring支持(Spring Support)

Ø        ActiveMQ 支持跨网络的分布式的destinations

Ø        ActiveMQ 非常快,一般是JbossMQ的10倍。

 

你可能感兴趣的:(ActiveMQ)