Mule ESB 与 Spring 集成

标签 mule spring-integration soa esb

Mule ESB 项目解释了它的 difference to Spring Integration在其网站上。然而,关于dcterms.date 2012-07-19T18:43-03:00文档中的文本可能已过时。

引用段落的要点是

  • “Spring Integration [...] 采用‘以应用程序为中心’的集成方法”。
  • “Spring Integration 的目标不是实现共享总线,而是为特定应用程序提供‘一点点’ESB 风格的集成”。
  • “Spring Integration 最适合必须集成少量组件的情况(通常是内部集成)”。
  • “[Spring Integration 有]极少数支持的可用传输和转换器”。
  • “Spring Integration 的范围特意限于 Spring Portfolio 上下文中的小规模集成”。

这些观点仍然有效吗?是否存在更详细的、最新的比较(如果有)?

Mule ESB vs. Spring Integration

Recently, a new component called Spring Integration was added to the Spring Portfolio, which allows ESB-like functionalities and EIPs to be created and managed within the Spring Framework. Spring Integration takes what is known as an "application-centric" approach to integration.
Rather than implement a shared bus, which allows all integration and messaging between components and systems to be managed, administered, and configured centrally, Spring Integration is aimed at providing "just a little" ESB-style integration to specific applications by providing frameworks for implementing common EIPs such as a message bus and simple routing. Due to its limited scope, Spring Integration is best suited to situations where a small number of components must be integrated, usually internally, and the infrastructure in question is made up of a large number of other Spring components. For anything more complicated, the lack of a common bus, coupled with the very small number of supported transports and transformers available for the young project makes Spring Integration unsuited for the task.
The advantage of using Mule ESB to handle integration in a Spring environment is that Mule ESB is not simply an ESB - it is an integration platform. Whereas the scope of Spring Integration is deliberately limited to small-scale integration within the Spring Portfolio context, Mule's intentionally modular architecture allows teams to quickly deliver the lightest possible integration solution for any scenario, from simple point to point integration to complicated SOA, cloud and partner ecosystem scenarios.

最佳答案

全面披露:我是现任过去的 Spring Integration 项目负责人,并且已经担任提交者 10 多年。

虽然 Spring Integration 确实如此促进应用程序内的模块化和松散耦合,它也非常适合将系统集成在一起,而不需要中央 ESB。我个人知道许多非常大的企业仅使用 Spring Integration 将所有业务系统集成在一起,没有中央总线服务器来配置/管理。

其 POJO 编程模型使其非常容易定制/扩展;如果某些传输/协议(protocol)不受开箱即用的支持,您可以简单地将其包装在 POJO 中并调用它(或者考虑编写一个更正式的适配器并将其贡献给框架!)。

我们特别兴奋的是,它构成了新的重要的 Spring Cloud Stream 的基础。 .

您可能想看看 DZone 最近的 Guide to Enterprise Integration其中讨论了 Spring Integration 以及竞争技术。

关于Mule ESB 与 Spring 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30150889/

相关文章:

mysql - 功能未实现查询 : select * from alarm_status Parameters: []

java - 来自 xpath-splitter 的消息是否有序?

c# - 对服务类使用静态只读引用有什么问题吗?

java - Spring集成TCP服务器: Get the Ip address & the payload

spring-integration - 哪个版本的spring集成支持http方法 "PATCH"

architecture - 使用消息传递的微服务和SOA

laravel - 我的应用架构还是SOA吗?

当 RequestContext.getEvent() 时 Mule 返回 null

mule - 将 json 数据转换为 xml 时遇到问题 : mule esb

骡子 ESB : How to use rules in DataMapper for condition checking