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).