任何人都在他们的商店中使用Talend SOA Suite。如果我没记错的话,它与Oracle SOA Suite和Service Bus相比如何,因为这两种产品都实现了EIP模式?
目前,我正在尝试研究两者,但我倾向于Apache Camel和Talend Suite,但是Oracle SOA套件和Oracle Service Bus是否提供了超过Talend SOA套件所不提供的功能。
我错过了更大的图景吗?
发布于 2012-03-02 04:45:03
在我看来,使用Oracle SOA/ESB套件在功能范围、复杂性、学习曲线、价格(显然)和对Oracle堆栈的总体承诺方面是完全不同的游戏……
Apache Camel专注于一小部分that...mainly EIP来实现复杂的路由和组件,以简化与其他技术的集成……就是这样。它不是企业服务总线(参见ServiceMix ),也不是任何类型的容器。相反,它的设计是轻量级的,可以很容易地嵌入到现有的应用程序中(Tomcat web应用程序、ActiveMQ、ServiceMix、独立的Spring等)。总体而言,如果你了解Java、Maven和Spring,那么你可以在几分钟内启动并运行它。
Camel也有一个强大的社区追随者,并已经被越来越多的大小公司所接受(还有ActiveMQ,Servicemix,CXF & Karaf)。
(完全公开-我是一名Apache SOA顾问,但我也有一些Weblogic堆栈的经验)
发布于 2012-08-31 20:27:47
Talend确实提供了完整的ESB。企业服务总线使用Apache CXF实现SOAP和REST,使用Apache实现ActiveMQ,使用Apache Camel实现中介和路由。这三个模块在包含Apache Karaf的发行版中提供。Karaf是一个OSGI容器。但是,正如boday指出的那样,如果您愿意,您可以在Servlet、Java甚至简单的JVM中运行这些组件中的任何一个或所有组件。
所以这是第一个不同之处,Talend更加轻量级和模块化。这种模块化比简单地遵从Java要深得多。您可以选择是否要包含CXF、ActiveMQ或特定包含哪些Camel组件。如果您选择Karaf / OSGI选项,则可以利用OSGI捆绑包管理的强大功能。乍一看,这似乎并不重要,但在企业环境中却相当重要。
OSGI在包(而不是jar)级别管理依赖项。它与您的Eclipse IDE使用的标准相同。当您从Eclipse Marketplace安装一个功能包(例如subclipse)时,您正在使用OSGI功能管理。这就是为什么Talend在发行版中包含Apache Karaf的原因。这样您就可以为企业应用程序的部署和依赖项管理提供相同的可插拔模块化框架。
为什么这很重要?因为当您有不同的应用程序团队在企业中部署应用程序时,您需要一点灵活性。你需要做一些转换,一点消息关联,使用一些像幂等消费者这样的EIP。好吧,所有这些转换可能需要作用于消息有效负载,或者使用由编写要集成的应用程序的项目团队提供的jars。所有这些项目团队都处于不同的生命周期。这就是微软所说的动态链接库地狱,也是为什么发明了.NET程序集。Java没有作为JCP一部分的等效功能。但是有一个非常成熟的标准来解决这个问题。这就是OSGI。实现OSGI的开源引擎是Eclipse中的Equinox或Apache Felix。两者都可以在Karaf容器中插入。
容器到此结束,那么ESB的核心Apache Camel又如何呢?我相信大多数读者都知道,但是Camel从Gregor Hohpe和Bobby Woolf的同名书籍中认识到了enterprise integration patterns。它只是一个库,它可以在任何jvm中运行,实际上可以有或没有DI容器,比如Spring。重要的是,Camel解决了异步的、事件驱动的集成需求,这是解决fallacies of distributed computing所必需的。而且它以一种完全灵活的方式做到了这一点,不需要您在任何地方部署Java服务器。想要有一个专用的集成服务器,最好将Talend ESB开箱即用作为OSGI服务器。想要在Tomcat中启用托管端点,很好,如果您愿意,可以在Tomcat中部署Camel、CXF和ActiveMQ。使用像Talend这样的轻量级模块化集成平台,您可以获得更大的平台无关性和架构敏捷性。
另一个值得一提的是,转换是那些平凡的事情之一,仍然非常重要。您需要认真考虑如何管理放置在总线上的消息和事件的模式。Talend ESB提供了转换工具OTB。
(完全公开-我是Talend的技术总监,但我希望我在这里以非常客观的方式强调了Apache和OSS方面。)
发布于 2013-04-30 12:30:02
Apache Camel是一个集成框架。Talend和Oracle分别是ESB产品集成套件。在我的演示文稿幻灯片中找到详细的描述、比较和建议:"Spoilt for Choice - How to choose the right Enterprise Service Bus“
(不仅对Talend和Oracle感兴趣,而且对IBM、SAP、Spring Integration、Mule ESB、Fuse ESB、WSO2和其他集成框架/ESB/集成套件也很感兴趣)
和Ed一样,我也为Talend工作,但这是一个供应商中立的演示文稿
https://stackoverflow.com/questions/9510603
复制相似问题