2011-12-21 99 views
0

是否有任何框架或平台提供消息交换的可靠性,灵活性和可扩展性的方式?我有以下情况:自定义消息协议的消息代理?

我有外部设备与我们的系统交换消息。这些设备实际上并不完全相同,并且多个设备具有自己的特定协议。我正在寻找的是一个中间层平台或框架(Message Broker或ESB)作为一种高度灵活的集成解决方案,可以支持不同的协议,而不会改变整个系统。同时,我必须确保整个系统架构的可靠性和可扩展性。

设备将与之交换消息的系统是用.Net编写的。然而,我想知道使用该消息交换平台与Java或PHP系统交互的可能性。

我读到了Apache家族,即ActiveMQ,Camel和ServiceMix以及Microsoft Biztalk。但我无法决定什么适用于上述情况,因为我从未使用过任何这些技术,也没有深入了解这些技术。

回答

2

我们一直在使用ActiveMQ消息代理来实现多个.Net和Java应用程序之间的集成点。 ActiveMQ建立在JMS(Java消息服务)规范的基础上,并提供一套API和库以供不同开发环境使用(ApacheNMS for .Net)

JMS标准允许任何应用程序/设备成为订户或发布者提供了API,因此无论您使用何种软件构建它,都可以通过调用指定的API来发送/接收来自代理的消息。

AMQ是一个开源项目,因此它是免费的。它有一个积极的开发社区,往往对用户的响应非常敏感。

我们花了一些时间按我们的意愿配置AMQ,现在我们成功运行经过测试的主从代理配置,并确保在一个代理发生故障时进行适当的故障切换。这保证了对我们业务至关重要的高可用性。

0

IBM Integration Bus将完成所有这些工作。