Apache Camel (Talend SOA Suite) vs. Oracle Service Bus and Oracle SOA Suite

Any body uses the Talend SOA Suite in their store. How does it compare with Oracle SOA Suite and Service Bus since both of these products implement EIP templates if I am not mistaken?

I am currently trying to learn both, but I am leaning towards Apache Camel and Talend Suite, but is there something that offers the Oracle SOA package and Oracle Service Bus, which is beyond what the Talend SOA Suite does not.

I do not see a larger image here?

+4
source share
3 answers

From my point of view, using Oracle SOA / ESB Suite is a completely different ball game in terms of features, complexity, learning curve, price (obviously) and overall commitment to the Oracle stack ...

Apache Camel focuses on a small subset of this ... basically EIP to implement complex routing and components to simplify integration with other technologies ... what it is. It is not an ESB (see ServiceMix for this) or a container of any type. Instead, it is designed to be lightweight and easy to integrate into existing applications (Tomcat, ActiveMQ, ServiceMix, standalone Spring web applications, etc.). In general, if you know Java, Maven and Spring, then you can get things and work in literally minutes.

Camel also has a strong community, following and adopted (along with ActiveMQ, Servicemix, CXF and Karaf) by a growing number of companies, both large and small.

(full disclosure - I am a SOA consultant for Apache, but I have experience with the Weblogic stack)

+5
source

Talend offers a complete ESB. This ESB uses Apache CXF for SOAP and REST, Apache ActiveMQ for JMS, and Apache Camel for mediation and routing. These three modules are provided in a distribution that includes Apache Karaf. Karaf is an OSGI container. However, as Bode pointed out, you can run any or all of these components inside Servlet, Java EE, or even a simple JVM if you want.

So, this is the first difference, Talend is much more powerful and modular. This modularity is much deeper than a simple Java EE API mapping. You can choose whether you want CXF, ActiveMQ or which Camel components to include in particular. If you choose Karaf / OSGI, you can use the OSGI package management features. At first glance this may seem unimportant, but it is very important in the context of the enterprise.

OSGI manages dependencies at the package level (and not at the bank). This is the same standard used by your Eclipse IDE. When you install a feature package from the Eclipse Marketplace (for example, a subheading), you use OSGI feature management. This is why Talend includes Apache Karaf in the distribution. Thus, you have the same plug-in modular structure for deployment and dependency management for enterprise applications.

Why is this so important? Because when you have different application teams deploying applications in your enterprise, you need a bit of flexibility in your bus. You need to do some conversions, a little correlation of messages, use several EIPs, such as an idempotent consumer. Well, all of these conversions may have to work on the message payload or use the banks provided by the project teams creating integrated applications. And all these project teams are on different life cycles. This is what Microsoft calls the DLL hell, and that is why the .NET assemblies invented. Java does not have an equivalent function that is part of JCP. But there is a very mature standard that addresses this. This is OSGI. The open source engine that implements OSGI is Equinox in Eclipse or Apache Felix. Both of them are connected in the Karaf container.

So much for the container, how about the heart of the ESB, Apache Camel. I am sure that most readers know, but Camel understands corporate integration patterns (EIP) from the book of Gregor Hohpe and Bobby Woolf with the same name, It is just a library, and it can work in any jvm, but in fact with or without a DI container him, for example Spring. The important thing that needs to be removed is that Camel addresses the need for asynchronous event integration, which is necessary to eliminate distributed computing errors. And he makes it a completely flexible way that does not require the deployment of Java EE servers around the world. If you want to have a dedicated integration server, it’s great to use Talend ESB because of the box for the OSGI server. If you want the service to include managed endpoints inside Tomcat, great, deploy Camel, CXF, and ActiveMQ inside Tomcat if you want. You get a much larger, agnostic platform and architecture with a lightweight modular integration platform such as Talend.

Another noteworthy distinction is that transformation is one of those worldly things that are still important. You really need to think about how you plan to manage the message and event schemes that are posted on the bus. Talend ESB provides OTB conversion tools.

(full disclosure of information - I am the technical director of Talend, but I hope that I emphasized aspects of Apache and OSS here very objectively).

+5
source

Apache Camel is an integration framework. Talend and Oracle are ESB products, respectively integrated sets. Find detailed descriptions, comparisons, and recommendations for when to use any of my presentation slides: " Spoiled for Choice - How to Choose the Right Enterprise Service Bus "

(not just interesting for Talend and Oracle, but also for IBM, SAP, Spring Integration, Mule ESB, Fuse ESB, WSO2 and other integration platforms / ESBs / integration kits)

[Like Ed, I also work for Talend, but this is a neutral presentation for suppliers]

0
source

Source: https://habr.com/ru/post/1399118/


All Articles