Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

JVM Languages

Defining the ESB


Commercial and Open-source ESB

The main purpose of this article is to define what an ESB is, what it can do, and how you can use it to solve your real-world, distributed application problems in a less-costly, more time-efficient manner. Although the examples are presented through the use of open-source ESB implementations, there are commercial ESB solutions available that may better suit your software needs. I won't attempt to sway you to one side or the other here, but instead equip you with the knowledge you require to make this decision on your own. As you read along, your understanding of what an ESB is, along with your exposure to the various ESB software packages available as of this writing, will increase to give you a complete picture of the ESB industry.

I examine the various commercial and open-source ESB offerings currently available and, where necessary, contrast the differences between them.

Commercial Solutions

There are a growing number of ESB offerings available to companies that feel more comfortable purchasing commercial software and support agreements from a commercial software vendor. This section will provide a brief overview of some of the more popular commercial ESB offerings available, along with link to web sites to provide more information and trial downloads. This list is by no means comprehensive, and is subject to change as ESB vendors and their products come and go.

IBM WebSphere ESB. IBM has built the ESB concept into the heart of its middleware product, WebSphere, and offers two individual products to meet the different business needs for an ESB:

  • WebSphere Enterprise Service Bus (WebSphere ESB) provides standards-based Web Services connectivity and service oriented integration.
  • WebSphere Message Broker provides an advanced ESB, which offers universal connectivity and a very wide range of data transformation options to help integration applications that do not conform to SOA and ESB connectivity standards.
  • WebSphere Message Queue (MQ) is the heart of both the ESB and Message Broker products.

Sonic ESB. Sonic Software is a pioneer in the world of ESB software in helping to define it, and being one of the first vendors to sell one. Sonic ESB is a direct descendant of the SonicMQ JMS provider, which includes built-in dynamic message routing and advanced clustering for robust enterprise messaging applications.

SonicESB is part of an integrated product family that includes an orchestration server, a collaboration server, a specialized XML server, a database service, various built-in adapters, and an Eclipse IDE-based development toolset to build, test, and deploy components within SonicESB.

TIBCO BusinessWorks. Although TIBCO does not directly call its TIBCO BusinessWorks product an ESB, it does state that it has all of the features and characteristics of an ESB, such as XML and web service support. BusinessWorks contains a set of advanced tools that allow developers and administrators alike to visually configure services, data transformations, security, management, and perform real-time monitoring.

These features, combined with its Enterprise Message Service product, and its flagship Rendezvous JMS provider, amount to a solid, reliable, ESB product with flexibility so that you can more easily choose which features to purchase, use, and deploy with your application.

CapeClear. CapeClear offers a standalone version of its ESB, along with a version that integrates with WebSphere. This allows existing enterprise Java applications to migrate to an ESB within an application server environment; thereby reducing the amount of re-work that otherwise might need to be done.

Regardless of which version you use, the CapeClear ESB comes with an ESB server, a service orchestrator, an ESB manager for advanced management and configuration, an Eclipse IDE-based development toolset, and a service enablement tool that helps you quickly add a service interface onto existing applications.

iWay SoftwareiWay Software’s ESB specializes in integrating with applications written and deployed with other frameworks, such as .NET, IBM CICS, and BEA Tuxedo. iWay stresses interoperability, and provides tools to easily integrate your existing Java, non-Java, and mainframe-based applications as services into newer SOA-based applications. There’s even a tool that integrates the iWay ESB with the Google search appliance to search-enable your ESB-based applications.

BEA WebLogic / AquaLogic. The AquaLogic Service Bus is BEA’s ESB that integrates well with its enterprise Java application server, WebLogic, providing an easy migration path for existing enterprise Java applications. AquaLogic builds on BEA’s reputation for quality, robustness, management services, and developer s upport, as proven through its successful WebLogic application server offering. AquaLogic supports specialized tools to support legacy applications’ custom protocols, allowing them to seamlessly integrate into an ESB-based system.

Open Source Solutions

The number of open-source software packages has been growing consistently over the years. Just as importantly, the acceptance of open-source software within corporations has grown also. Organizations have become comfortable building their applications, and in some cases, their entire product strategies, on top of open-source software packages. The quintessential example of this phenomenon is the Linux OS.

It should come as no surprise that there is an abundance of open-source ESB packages available, each of which compare well in terms of features and quality to the commercial ESB offerings we’ve just discussed. In many cases, open-source ESB packages (as well as in other categories open-source software) evolve quicker than the commercial offerings as they have entire communities of developers and testers dedicated to improving them. Let’s explore some of the open-source ESB packages available today.

JBoss ESB. The JBoss ESB is an evolving ESB offering from a leader in open-source Java frameworks, application servers, and enterprise messaging systems. Although at the time of this writing the JBoss ESB is undergoing some changes, including the absorption of Rosetta ESB (which was another open-source ESB package), look for JBoss ESB to be a major player in the open-source ESB arena, especially as it is integrated as part of RedHat Linux.

Sun Microsystems Open-ESB. Sun Microsystem’s Open-ESB project is part of the overall Java Business Integration (JBI) effort that Sun put together to ensure that all ESBs conform to a set of standards, thereby eliminating vendor lock-in issues for ESB adopters. Open-ESB integrates with Sun’s open-source application server, named Glassfish, as well as its open-source NetBeans development environment.

Codehaus Mule. Codehaus Mule is a complete open-source ESB framework that supports all of the features of an ESB that this article has discussed so far. It integrates with existing application servers, lightweight frameworks, mainframe-based applications, web services, BPEL engines, and enterprise messaging software.

LogicBlaze ServiceMix. The ServiceMix ESB, supported by LogicBlaze, is an Apache incubator open-source ESB framework. ServiceMix is a lightweight ESB that works either as a standalone or embeddable server. It integrates with existing applications servers (it’s packaged with the Apache Geronimo open-source Java application server), lightweight frameworks such as Spring, and enterprise messaging packages such as the LogicBlaze open-source ActiveMQ JMS provider.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.