首页 文章

是否整合ESB(ServiceMix / Mule)值得学习曲线? [关闭]

提问于
浏览
27

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

就像我说的,我已经有了一个由Maven构建的Web应用程序,并希望集成其中一个系统相当简单,即使只是为了发送电子邮件这么简单的事情,但看起来添加任何一个都将拉入世界的一半 jar 的条款,很难嵌入现有的产品 .

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

5 回答

  • 13

    Mule与XML一起插入服务非常简单,他们有大量的视频示例,我发现这些示例非常有用 .

    ESB应该是未来的,正如你所说的那样 - 你的确看起来像是一个教科书的例子,说明了在哪里使用它 .

    我会尽力回答你的所有问题:

    Is it worth trying to pull in one of these options? 我认为这是一个你需要问自己的问题 - 你想要达到什么目的?如果你想把它作为一个学习练习,它可能是值得的 .

    Is there an easy way of integrating them into an existing app without completely restructuring it? 简答回答 . 您需要进行一些重新设计才能与大多数第三方库/框架集成 .

    Are there other, lighter weight options? 骡子真的很简单 . 您可以使用MQ来执行HTTP,SMS和IM . 可能是ActiveMQ或RabbitMQ .

    Are there some aspects that I should consider that would make their use worthwhile? 是的,ESB专为经常添加新服务且配置可能发生变化的企业而设计 . 在XML中使用它可以使这一变化更容易一些 . 因此,如果你只是 Build 一个一次性的软件,它可能不是正确的方法 . 但是如果您稍后会添加更多并且不断连接不同的服务,那么它可能是最佳途径 .

  • 12

    您可能还想看看Apache Camel框架,它非常强大,可以满足您提到的所有集成需求,而不会受到完整ESB的惩罚 .

  • 1

    Mule项目的创始人罗斯梅森写了一篇关于这个主题的非常好的文章,To ESB or Not to ESB . 我建议看看它 . 此外,您可能想要查看Mule iBeans,它提供了一个更简单的模型,如果您将其构建为Web应用程序并且只想进行一些轻量级集成并且对调解不感兴趣 .

  • 1

    我建议不要浪费宝贵的时间和MULE . 到目前为止我的经历并不好 . 我不会将它用于任何关键系统 . 它远不是一个成熟的产品 . 除了RESTful服务肯定承诺很多简单性和真实的用例 .

  • 4

    我想说,如果你有两个以上的应用程序或数据库需要相互通信并且它们使用多个通信协议,那么值得投资 . 或者,如果您希望将来出现这种情况 . 听起来你的要求当然适合这一点 .

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

    ESB的真正强大之处在于,应用程序可以将有关如何通信以及与谁通信的所有决策委派给ESB,并让该组件对这些方面负全部责任 . 所有其他组件彼此隔离,无需相互担心,大大减少了依赖关系组合的问题 .

    在学习曲线方面,我发现Mule ESB相当直接,并且肯定会学到更低的学习曲线,试图学习所有必需的API来讨论您尝试连接的多个服务 .

相关问题