我正在研究在我的项目中使用的EIP / ESB解决方案。 第一个原因是解耦模块和不同的子系统,还重构一些部分以便与第三方系统轻松集成。在未来我认为我需要很多EIP,如过滤,拆分等。 我检查了apache camel + service mix,spring integration。我也知道tibco和mule。 服务组合+驼峰提供了丰富的组件和协议堆栈,但它与activeMQ代理并不相关。如果我将来需要使用tibco jms实现怎么办? Spring集成 - 它是否是ESB?我肯定需要一些管道(通道)在内存中用于某些模块之间的本地JVM消息传递,并且当消息传递在集群中时分发。除此之外,SI是否与任何jms实现相关联?
所以 要求: - 以本地和分布式方式进行消息路由 - 轻松切换JMS实现,例如现在是ActiveMQ,之后可能是tibco -Lightweight -简单 - 完整的标准协议,组件和适配器 - 我不需要像twitter,gae之类的东西
SI也可以像ServiceMix一样是分布式ESB吗? 我使用的是Spring IoC,我可以将SI与其他任何ESB一样使用吗? 使用Spring + SI有什么功能吗?
答案 0 :(得分:1)
Camel 与ActiveMQ绑定。
Camel使用其camel-jms组件与任何JMS代理一起工作。 http://camel.apache.org/jms
虽然有一个针对ActiveMQ进行了优化的扩展JMS组件 http://camel.apache.org/activemq
是的,我认为Camel + SMX是一个强大的组合,支持你的写作需求。 它拥有您需要的所有EIP和组件 http://camel.apache.org/eip http://camel.apache.org/components
答案 1 :(得分:-1)
上面提到的大多数EIP /用例都可以使用WSO2 ESB [1]来实现。 WSO2是一个100%开源的SOA平台,属于apache 2许可证(也可在云端获得)。您提到的几乎所有要求都是开箱即用的样品,您可以尝试[2]。如果您想要与业务流程服务器,数据服务或应用程序服务器不同的soa解决方案,那么所有这些产品都可在WSO2 SOA堆栈中使用。
[1] http://wso2.org/library/esb [2] http://wso2.org/project/esb/java/4.0.0/docs/samples_index.html