Gartner Inc. recently predicted that more than half of all large enterprises will have at least the core of an enterprise service bus (ESB) running by the end of 2006. There are, however, several factors to consider before investing in this technology.
First, let's understand that an ESB is a core component of a service-oriented architecture (SOA). An SOA provides the ability to decouple the links between business functions and specific applications by isolating service definition and usage from the underlying service implementation.
An ESB implements an SOA through middleware that offers virtualization and management of service interactions between communication participants. Thus, this flexible connectivity layer could help connect and integrate an organization's IT infrastructure across many differing systems and locations reliably and securely while reducing the number, size and complexity of application interfaces.
More specifically, an ESB:
- Identifies messages and routes them between applications and services.
- Enables messages to flow across different transport protocols as they move from requestor to service and back.
- Transforms message formats en route between requestor and service.
- Recognizes and distributes business events from and to disparate sources.
- Provides robust and secure program-to-program communications for all types of applications.
- Has an extensible architecture, based on pluggable components.
- Is capable of integrating all types of assets to match a typical enterprise's needs, including Web services, as well as assets not currently based on any common standards.
- Provides your business with capabilities of intelligent routing and location-independent processing.
- Manages the descriptions and definition of the messages and their formats through accessible metadata.
While an ESB can perform all or the majority of the capabilities cited above, the question still remains for many organizations, "Do I need an ESB?" If you are considering implementing an ESB, the following questions can help you determine whether or not you need one, or if you should evaluate one this year or beyond:
- Do you plan to implement a large-scale, aggressive SOA strategy?
- Do you need to integrate myriad sources of information across the organization and extend it to customers and partners?
- Has your SOA project accelerated due to a merger, acquisition or other market shift that affects your ability to meet your business goals?
- Do you need to facilitate modular standards-based applications that are dynamic or require high scalability, high availability, tight security, platform heterogeneity or monitoring?
- Are you taking an incremental approach to SOA with the goal of extending the access of your existing applications from departmentwide to enterprisewide?
- Are your costs in maintaining applications and interfaces rising, and would you prefer to use that money toward other purposes such as new investments?
- Do you need to integrate various Web service-enabled assets and/or existing assets that may not be Web service-enabled?
While the ESB wave may begin to crest this year, your organization may not be ready until 2007 or beyond. To determine this, you may want to ask the following two questions:
- Are you currently managing only small or localized applications?
- Are you successfully tapping the capabilities within application servers, Web services and portals to perform simple point-to-point communications, with limited need for changes and maintenance?
If you answered yes to these two questions, you may not immediately need an ESB, though it should be on the radar for second-half planning.
Whether your infrastructure already relies on an ESB or your organization is considering one, remember to keep in mind the role of an ESB and the critical questions to ask to determine your current and future needs.
Sandy Carter is the vice president in charge of IBM's SOA and WebSphere strategy.