集成 ESB(ServiceMix/Mule)是否值得学习曲线?[已关闭]

2022-09-01 16:00:44

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

就像我说的,我已经有一个由Maven构建的Web应用程序,并希望集成其中一个系统将相当简单,即使只是对于像发送电子邮件这样简单的事情,但看起来添加任何一个都会在jars方面吸引一半的世界,并且很难嵌入到现有产品中。

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


答案 1

Mule在将服务与XML一起插入方面使用起来非常简单,他们有很多视频示例,我发现这些示例真的很有帮助。

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

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

是否值得尝试使用这些选项之一?我认为这是一个你需要问自己的问题 - 你想实现什么?如果你想让它更容易实现,它可能会通过纯代码或ESB花费相同的时间,包括所有设置。如果您正在考虑将其作为学习练习,那么可能是值得的。

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

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

我应该考虑哪些方面,使它们的使用值得?是的,ESB 是为经常添加新服务且配置可能会更改的企业设计的。在 XML 中完成所有这些操作会使此更改变得更加容易。因此,如果您只是构建一次性软件,则可能不是正确的方法。但是,如果您稍后将添加更多服务并不断连接不同的服务,则可能是最佳途径。


答案 2

您可能还想看看Apache Camel框架,它对于您提到的所有集成需求都非常强大,而没有完全成熟的ESB的惩罚。


推荐