为什么我只在ActiveMQ上使用ApacheServiceMix

为什么我只在ActiveMQ上使用ApacheServiceMix,activemq,esb,apache-servicemix,Activemq,Esb,Apache Servicemix,我开始计划一个新的平台,它需要集成来自各种外部平台的各种服务。基本上,我将一系列内部的、自主开发的服务和一些我们从第三方获得许可的外部服务捆绑在一起 一般来说,外部服务都是web服务,但它们是REST、SOAP和XML-RPC的混合体。 我们的一些内部服务有RESTAPI,但有许多事情并不那么容易:XMPP、Hessian、自定义套接字协议、JavaRPC、uWSGI,还有其他一些 根据我的研究,类似ESB的ApacheServiceMix似乎很适合我的需要。然而,它看起来真的很复杂。我不是在发

我开始计划一个新的平台,它需要集成来自各种外部平台的各种服务。基本上,我将一系列内部的、自主开发的服务和一些我们从第三方获得许可的外部服务捆绑在一起

一般来说,外部服务都是web服务,但它们是REST、SOAP和XML-RPC的混合体。 我们的一些内部服务有RESTAPI,但有许多事情并不那么容易:XMPP、Hessian、自定义套接字协议、JavaRPC、uWSGI,还有其他一些

根据我的研究,类似ESB的ApacheServiceMix似乎很适合我的需要。然而,它看起来真的很复杂。我不是在发射火箭,但我确实需要事务性消息(主要用于电子商务和授权)。我觉得ServiceMix在后台使用的消息队列(ActiveMQ)本身就足够了

有人能解释一下ServiceMix在ActiveMQ之外提供了什么吗?我知道有很多,但像我这样的ESB n00b很难真正理解实际的区别,因为我在流行语中浪费了太多时间


谢谢

ServiceMix是一个基于OSGi的容器,允许您在受控的运行时环境中部署和运行应用程序(如J2EE容器,但重量较轻,并且无需编程,例如J2EE合同)。 由于OSGi,您可以将应用程序划分为多个部分,并独立地更新/发展这些部分。您可以升级部分应用程序,而不必关闭整个应用程序。OSGi中的生命周期管理比独立Java进程要好得多

如果你想创建一个随时间而变化的应用程序,那么OSGi是你应该考虑的。ServiceMix为您提供了一个运行时OSGi容器来部署应用程序。我强烈推荐曼宁的《OSGi在行动》一书

为了将可能使用不同传输协议的不同外部服务捆绑在一起,我推荐ApacheCamel,顺便说一句,它也很好地部署到ServiceMix中

顺便说一句,现有的应用程序可以部署到OSGi容器中,只需很少的工作(无需更改代码)

托尔斯滕·米尔克 FuseSource 网址:www.fusesource.com 博客:

你能看一下吗?