An ESB (Enterprise Service Bus) allows you to integrate the disparate applications and services that run your organization, in this article we take a closer look at what an ESB is and what alternatives exist. By connecting all of these components through an ESB, you eliminate the labor-intensive task of custom-coding messy, point-to-point integrations. In this way, an ESB provides a safe, fast, and reliable backbone to your IT infrastructure.
However, it’s important to remember that an ESB is not the only app integration solution. There are certain circumstances where an iPaaS (Integration Platform as a Service) can serve as a less expensive, easier-to-use ESB alternative.
In this guide, we’ll help you understand what ESB technology is, when you should use it, and when you should consider an iPaaS solution instead. We’ll also review the three most popular ESB/iPaaS solutions on the market today.
How an ESB Works
Before ESBs, businesses used to struggled with custom-coded, point-to-point application integrations. These point-to-point integrations resulted in messy, “spaghetti code” and to difficult-to-untangle application dependencies. Today, an ESB eliminates these challenges by serving as a stable communications bus between applications.
The ESB achieves this through a host of pre-built software adapters, which create a “pluggable” app integration solution—one that facilitates new application integrations, system upgrades, and business growth. Another benefit of ESBs is their speed, which is fast enough to support real-time data integrations.
A typical ESB features the following components and characteristics:
- Messaging server: As a communication bus between applications, an ESB prevents applications from having direct contact with each other via a messaging broker (usually AMQP or JMS). The messaging broker creates a standard that the ESB uses to send and receive messages within itself.
- Canonical Messaging Format (Usually XML): Messages passing through the ESB are in a canonical (consistent) format—usually XML. This provides consistency while requests route through the bus. Some ESBs permit additional messaging formats—like JSON, flat files, binary, Java objects, and more.
- Software adapters: The ESB uses software adapters to transform application messages into the ESBs canonical messaging format (usually XML). Before delivery, the ESB transforms the messages a second time into the receiving application’s protocol. ESBs include an array of pre-built adapters for the most popular platforms, protocols, and legacy applications. Adapters can also perform security monitoring, error management, message routing, and transaction management.
- Stateless server: ESBs are usually stateless. A stateless server doesn’t use or maintain information from previous requests. Instead, it maintains the state within the messages as they route through the ESB. This means that ESBs process messages based only on the information provided in the message itself.
When to Use an ESB
Here are the most important use cases for an ESB:
- Integrating more than two services or applications: When integrating more than two services or applications, an ESB streamlines the building of application integrations, providing reliable, secure and often instant connections—while also preventing application entanglement/dependency.
- Integrating an external service platform: When integrating an external service platform, an ESB provides a reliable connection while managing and controlling service level commitments to minimize the impact of adjustments to your service agreements.
- Transforming and integrating multiple communication protocols: ESBs are especially good at transforming multiple protocols into one—such as transforming FTP and HTTP into SOAP or weaving together SMTP, IIOP, MQ/JMS. They can also handle many different data formats.
- Frequently adding new applications or services: When you’re constantly adding, changing, or upgrading applications and services, the “pluggability” of an ESB’s pre-built adapters will facilitate these changes.
- Integrating legacy applications: ESBs also include a variety of pre-built adapters to integrate legacy applications with modern apps and services.
- When connection security and reliability are needed: An ESB offers a simple, secure way to connect and transform transactional messages as they pass between two dissimilar data sources.
- Dealing with industry-specific protocols: When you need to integrate industry-specific protocols with other systems, your ESB should include the pre-built adapters your industry protocol requires. For example, an ESB can transform and integrate the healthcare industry protocol HL7 with your other applications.
When Not to Use an ESB
Here are the use cases when you shouldn’t use an ESB:
- Integrating large volumes of data: If you need to send large volumes of data—perhaps while extracting and loading data from one database or data warehouse to another—your ESB will not replace an ETL tool. ESBs are made to integrate applications and platforms, which don’t require massive data transfers. An ETL platform is more appropriate for large-volume data integrations.
- Implementing stateful business processes: If you need to implement long-running, stateful, business processes, an ESB is probably not appropriate. You’ll want to use a BPMS (Business Process Management System) that offers implementation through either BPMN (Business Process Model and Notation) or BPEL (Business Process Execution Language).
- Integrating cloud-based applications: If you’re integrating cloud-based applications, web applications, web dashboards, mobile applications, a network of IoT apps, or SaaS applications, you should consider an iPaaS instead of an ESB.
iPaaS Technology: An ESB Alternative
An iPaaS (Integration Platform-as-a-Service) is an app integration solution that can complement or replace an ESB when integrating cloud-based platforms, web applications, mobile apps, IoT devices, and more. When an iPaaS is appropriate for your use case, you’ll benefit from the following advantages:
- Speed, ease-of-use, and cost-effectiveness: An iPaaS will get you up and running faster, without the learning curve, staffing requirements, or large financial investments associated with an ESB.
- Automatically generate REST API: The most advanced iPaaS solutions—like DreamFactory iPaaS—can instantly generate REST APIs without the need for time-consuming coding (something ESB solutions can’t do without extensive coding).
- Better security and compliance: iPaaS solutions offer more advanced security and governance technology than ESBs.
Here are the main use cases for iPaaS:
- Software-as-a-service integrations: A “cloud ESB” will integrate your cloud-based SaaS platforms with a complex messaging protocol like MOM (message-oriented middleware). However, iPaaS performs the same integrations with a lighter weight messaging standard like JSON, REST, and API, making iPaaS integrations convenient, secure, and easier to set up.
- Software multitenancy integrations: Software multitenancy—or a multi-tenant architecture—is when a single software instance operates on one server while servicing multiple departments. While an ESB will struggle to manage the complexity of multi-tenant architecture, an iPaaS can lower integration redundancy while reducing your hardware and software requirements.
- Ad hoc application integrations: Ad hoc applications are usually cloud-based, SaaS applications and easy to set-up without IT involvement. However, you’ll still need to integrate them. Setting up an ESB connection requires extensive technical expertise, but anyone can use an iPaaS to integrate ad hoc SaaS applications in minutes.
- Internet-of-Things (IoT) mobile app integrations: The features of iPaaS—such as lighter weight messaging standards (JSON, REST, and API), low latency, real-time connections, and support for external integrations—provide the horizontal scalability needed for connecting a network of IoT applications and devices. In most cases, ESB is too slow and heavy to service these demands.
3 Popular ESB and iPaaS Tools
DreamFactory is an open-source iPaaS solution—that runs on-premises or in the cloud. The platform was created to solve a very specific problem: How do you expose data from your web and cloud-based applications and data sources in the easiest, fastest, and most secure way possible? In achieving this goal, DreamFactory can automatically generate REST APIs to expose your data in just three minutes. Best of all, you don’t need any special training or technical experience to use it.
Noteworthy features of DreamFactory include:
- Runs anywhere, on-premises or in the cloud
- Instant API creation
- Automatic SOAP to REST conversion
- Data Mesh to combine unrelated databases
- Server-side scripting
- Deep SQL support
- Live API docs
- API publishing
In terms of data security and compliance, DreamFactory offers:
- Numerous tools to satisfy corporate and regulatory compliance standards like GDPR, HIPAA, CCPA, etc.
- A suite of data access controls like role-based access control (RBAC).
- Flexible support for popular enterprise authentication solutions.
- API logs sent your logging solution of choice.
Although DreamFactory is free and open-source, it includes three paid tiers (Small Business, Professional, and Enterprise), which offer 24-hour tech support and additional pre-built connectors. DreamFactory’s most popular out-of-the-box connectors include:
- IBM Db2
- Microsoft SQL Server
Finally, DreamFactory offers custom contracts to ensure you only pay for the features you need. As a result, DreamFactory costs magnitudes less than the MuleSoft and IBM ESB solutions highlighted below.
MuleSoft Anypoint Platform (ESB/iPaaS)
MuleSoft’s Anypoint Platform is a hybrid ESB/iPaaS solution for connecting and integrating your network of on-premises or cloud-based apps, data, and IoT devices. The platform gives developers the ability to quickly and easily integrate new applications, regardless of the technology—be it JDBC, JMS, Web Services, HTTP, or something else.
Although MuleSoft is a feature-rich platform, it comes with a steep learning curve. Before developers can use the platform to its full capacity, they’ll require extensive training and coding experience—something that isn’t required with an iPaaS solution like DreamFactory, which allows you to instantly generate REST APIs through a no-code interface.
Finally, MuleSoft is expensive, costing hundreds of thousands of dollars a year (and sometimes millions) to operate. However, these costs may be worth it if you need to support older messaging standards, legacy on-premises systems, cloud-based applications, or integrate a complex enterprise IT infrastructure.
IBM App Connect
IBM App Connect is another hybrid ESB/iPaaS with similar capabilities to the MuleSoft Anypoint Platform. As a hybrid integration platform, IBM App Connect offers instant connections for applications, data, legacy systems, cloud-based platforms, and IoT devices. It also lets users create REST APIs, but the process requires extensive manual coding. Finally, IBM App Connect features a variety of integration styles, like real-time, event-based, and scheduled batch data copy/synchronization—in addition to hundreds of pre-built app connectors.
Just like the MuleSoft Anypoint Platform, IBM App Connect represents a considerable financial and training investment before you can take advantage of its wide range of capabilities. If needed, the capabilities of this platform more than pay for themselves, but when they’re not necessary, consider whether a less expensive iPaaS platform can meet your app integration needs.
ESBs—such as MuleSoft Anypoint and IBM App Connect—can provide stable application integrations while serving as a “pluggable” backbone to your IT infrastructure. Nevertheless, if you’re integrating cloud-based applications, mobile apps, IoT devices, or web dashboards, iPaaS technology could offer an easier and less expensive solution. Also, the fact that an advanced iPaaS like DreamFactory can instantly generate REST APIs without any coding at all is a distinct advantage.
Ultimately, from the perspectives of cost, time-to-market, ease of use, and required skill level, DreamFactory presents a compelling ESB alternative that could serve many of your application integration needs.