Enterprise Application Integration (EAI) enables the integration of various software applications, distributed applications, hardware systems, and legacy systems with the help of various technologies and services. Service-oriented architecture, which allows us to provide services through a communication protocol like HTTP(S) or JMS, is widely used in EAI projects.
In recent years, we have moved from SOAP-based web services to microservices — and these days, APIs are the new way we can provide services to various applications. The reason to move to APIs was simple: By using APIs, one can modularize an EAI into the system and process and experience APIs.
Various ESBs were developed over time such as Tibco BW, Websphere Message broker, and, more recently, Mule ESB. Major advantages of using an ESB are that they are lightweight, scalable, distributable, and SOA-friendly.
Let's discuss which product to choose for EAI.
Tibco is a broadly integrated product and is widely used in telecom and banking projects. It is also highly expensive and complex to use. Tibco BW 5.x had been used in the industry, and now, Tibco has launched BW 6 — which comes with an Eclipse-based IDE. Tibco is not that lightweight and it has performance issues if real-time traffic needs high throughputs. Tibco is also industry-wide accepted, has a lot of partners, and provides all of the latest plugins, like Twitter notifications.
Red Hat JBoss Fuse is lightweight, is flexible, and has cloud support. JBoss Fuse connectors allow you to connect to various applications and it also claims to have rapid integration. Fuse needs a solid Red Hat server foundation for extended performance. JBoss Fuse IDE along with Studio is a solid platform for development and tooling. It is open source, so licensing costs are a little lower compared to other products.
MuleSoft combines SOAs, SaaS, and APIs. It uses open messaging and integration standards. It is also open source, but support costs are extra. With its developer community base on the rise, it has good online support. Still, it is very complex to use. It takes a lot of time implement a relatively complex integration solution. It is integration-friendly and transformation is easy with the in-house developed DataWeave technology.
So, to decide what to use, answer the below questions.
How many integration points are there?
How much is the budget for product and support?
How much time is needed to complete the integration?
Which applications do you need to integrate and which protocol should you use to communicate?
Does the project need to be scaled in the future?
Have you considered performance, security, and reliability?
Knowing about your options and considering these questions will help you make a wise choice about your EAI service bus solution.