代码之家  ›  专栏  ›  技术社区  ›  Tim

集成ESB(ServiceMix/Mule)值得学习吗?[闭门]

  •  27
  • Tim  · 技术社区  · 15 年前

    我正在考虑将ESB集成到现有的基于Java/Maven web的产品中。具体来说,我正在研究ServiceMix和Mule。该产品将通过HTTP、SMS和IM连接到多个不同的服务,包括电子邮件、Quartz、RESTful Web服务。我只是快速浏览了一下文档,这两个选项似乎非常重要,而且相当复杂。这似乎是一个关于何时使用ESB的教科书式示例,但我不想花太多时间学习一个或另一个系统。

    正如我所说,我已经有了一个由Maven构建的web应用程序,并希望集成其中一个系统会相当简单,即使只是发送电子邮件这样简单的事情,但添加任何一个都会吸引一半的JAR,并且很难嵌入现有产品中。

    是否值得尝试其中一种选择?有没有一种简单的方法可以将它们集成到现有的应用程序中,而无需对其进行完全重组?还有其他更轻的选择吗?是否有一些方面我应该考虑,使他们的使用值得?

    5 回复  |  直到 6 年前
        1
  •  13
  •   Corehpf    15 年前

    Mule在将服务与XML连接在一起方面非常容易使用,他们有很多视频示例,我发现这些示例非常有用。

    ESB被认为是未来的,正如你所说的,你的ESB确实像教科书上的例子,说明了在哪里使用ESB。

    是否值得尝试其中一种选择?

    有没有一种简单的方法可以将它们集成到现有的应用程序中,而无需对其进行完全重组? 简短回答否。要与大多数第三方库/框架集成,您需要进行一些重新设计。

    还有其他更轻的选择吗? 骡子真的很简单。您可能可以使用MQ来执行HTTP、SMS和IM。可能是ActiveMQ或RabbitMQ。

    是的,ESB是为经常添加新服务且配置可能会更改的企业而设计的。将所有内容都放在XML中可以使这种更改更容易一些。因此,如果您只是构建一个一次性的软件,那么这可能不是正确的方法。但是,如果您以后要添加更多服务并不断连接不同的服务,那么这可能是最好的途径。

        2
  •  12
  •   Ashwin    15 年前

        3
  •  4
  •   Ken    15 年前

    Mule项目的创始人Ross Mason就这个话题写了一篇非常好的文章, To ESB or Not to ESB Mule iBeans 如果您将其构建为一个web应用程序,并且只想进行一些轻量级集成,而对中介不感兴趣,那么它提供了一个简单得多的模型。

        4
  •  1
  •   asahin    11 年前

    我建议你不要把宝贵的时间浪费在骡子身上。到目前为止,我的经验不太好。 除此之外,RESTful服务肯定承诺了很多简单性,并且有真实的用例。

        5
  •  1
  •   Mark    11 年前

    我想说的是,如果您有两个以上的应用程序或数据库需要相互通信,并且它们使用多个通信协议,那么投资是值得的。或者,如果你希望这种情况在未来成为现实。听起来你的要求很适合这个。

    建议使用ESB或至少使用消息总线的另一种情况是,您期望或需要一个或多个应用程序独立于其他应用程序进行开发。例如,一个正在积极开发中,而另一个则没有。ESB可以将稳定的系统与主动开发的系统中的更改隔离开来,从而无需始终更新所有内容。

    ESB的真正威力在于,应用程序可以将有关如何通信以及与谁通信的所有决策委托给ESB,并让该组件全权负责这些方面。所有其他组件彼此隔离,不必担心彼此,从而大大减少了依赖项组合的问题。