Newsletters Welcome, Guest Log In | Register


Join the Community

Exchange

Get full access to our community's expertise and resources.

Register Now >

Currently Being Moderated

Definitions: Enterprise Service Bus

0

Created on: Jan 27, 2009 10:59 AM by Loraine Lawson - Last Modified:  Mar 30, 2009 12:22 PM by Loraine Lawson

Definition

The term “Enterprise Service Bus” can be used to mean an architectural style, but is more widely used to refer to software that carries information between applications

 

Business applications

ESBs are used for integrating systems and applications. ESB as a technology evolved from enterprise application integration. Rather than  using point-to-point connections between applications, you can send messages or “calls” through the ESB, which routes them to the appropriate  applications.  In practical terms, this educes the cost of custom coding and can make your systems more efficient.

 

Think of it this way: In the real world, a bus is used to eliminate the need for an individual to walk or drive from place to place. In the software world, applications do not need to have a direct connection to each other if they have access to an ESB.

 

But ESBs are not simply couriers, unquestionably delivering messages. They can also “translate” messages for legacy applications that do not support messaging. In simple terms, this means the ESB will put the data in  a format the legacy application can use. This is done with an adapter, and most  ESBs include numerous adapters.

 

An ESB can also be used to enforce business rules. According  to a 2006 special report on ESBs published in Visual Studio Magazine, an ESB can add specific services to messaging, including:

 

  1. Security.
  2. Priority-based routing.
  3. Content-based routing.
  4. Adapters for different types of code, which are  used for communicating with legacy systems.

 

Finally, since ESBs generally include a repository that assists with prioritizing messages, many organizations use ESBs as a backbone  for their service-oriented architecture (SOA). The services can be stored in  the ESB repository. The ESB then delivers and mediates services.

 

ESBs are often deployed when Web services form the core of the SOA. However, it's important to remember that while many organizations have  found ESBs helpful, they are not required to build a SOA. In fact, there has  been some debate about whether ESBs are detrimental as a foundation for SOA.

 

Deployment Concerns

There is disagreement in the industry about when ESBs should be used, and to what extent. For instance, while an ESB can be used to enforce  business rules related to security and message priority, Chief Technologist and  IT Toolbox blogger Eric Koch warns against putting business logic in the ESB layer:

 

“I have worked on several ESB or integration broker rip-outs. Invariably developers put too much business logic into the ESB layer and do not  practice fundamental architecture principles such as layering and separation of concerns. They turn the ESB into the intermediary of choice, creating a service  hub. This defeats or overlaps the role of the service registry and complicates the overall architecture.”

 

While ESBs are common tools in enterprise architecture, not everyone is a fan. At QCon London 2008, ThoughtWorks’ chief scientist Martin Fowler and Dr. Jim Webber, global head of architecture for ThoughtWorks, argued that most enterprise-scale ESBs are so bloated, they can hinder agility. Instead, they advocate Web-centric design. Of course, their criticism of ESBs attracted critics of its own.

 

Others are concerned about the proliferation of ESBs. Since ESBs are used to send messages between different systems and applications,  vendors have increasingly added ESB solutions to their software platforms. As a result, organizations find they're running multiple types of ESBs. Some have questioned  whether this could cause problems – essentially, requiring you to integrate  solutions designed to solve integration problems.

 

The counter-argument is that ESBs are designed for integration, so integrating multiple ESBs is easy and of little concern.

 

Related Knowledge Network Content

 

Average User Rating
(0 ratings)




Add a comment Leave some feedback about this document.

There are no comments on this document

Strategic IT Planning & Governance Best Practices Guide

Use this guide — along with the more than 60 templates included — to ensure the overall success of your entire IT department.

Learn more >

All About Reducing Your IT Costs

Looking to cut costs? Use this research-driven Excel tool to pinpoint which IT cost reduction measures best fit your needs.

Learn more >

Cost Cutting through Server Consolidation

Products, management tools, and industry insights that enhance the value of virtualization for your business.

Network Optimization

Network management tools and tips to increase network speed and efficiency, regardless of office location.

Business Intelligence

Best-practice tools, strategies and technologies for determining and managing the data you need to make better business decisions.

Greening IT with Server Consolidation

Learn how virtualization reduces the TCO of managing your date, while contributing towards your sustainability efforts.

Virtual Cloud Management

Read this white paper to learn the importance and features of a sound technology that enables you to connect, relate, measure, and view your services to optimize the management of virtual environments.

Data in Action: Making the Planet Smarter

Attend this virtual conference to learn more about today's enterprise data management challenges. View the featured webcasts, visit the solution pavilion, get questions answered, download collateral — all without leaving your desk!