What Is an Enterprise Service Bus?

An Enterprise Service Bus (ESB) is an architectural pattern and a key enabler in implementing the infrastructure for a service-oriented architecture (SOA). Real-world experience has demonstrated that an ESB is only one of many components required to build a comprehensive service-oriented infrastructure (SOI). The term "ESB" has various interpretations in the market, which have evolved over time; however, the basic challenge it addresses is the same.

Namely, the increasing adoption of SOA and the proliferation of Web services have revealed an ever growing need to provide a managed layer between services and their consumers. There must be support for interaction between heterogeneous services and interfaces that might be mismatched, or that might change over time.

An ESB addresses such integration problems in a way that maximizes the re-use of services and that maintains the flexibility to easily change the solution.

The BizTalk ESB Toolkit 2.0 can provide a way to use an ESB from within BizTalk.

What does the BizTalk ESB Toolkit 2.0 provide?

The BizTalk ESB Toolkit 2.0 provides key building blocks that are required for implementing a comprehensive service-oriented infrastructure (SOI) including:

·         Endpoint run-time discovery and virtualization. The service consumer does not need to be aware of the service provider location and endpoint details; a new or modified service provider can be added to the ESB, without interruptions to the service consumer.

·         Loosely coupled service composition. The service provider and service consumer do not need to be aware of service interaction style.

·         Dynamic message transformation and translation. The mapping definition between distinct message structure and semantics is resolved at run time.

·         Dynamic routing. Run-time content-based, itinerary-based, or context-based message routing.

·         Centralized exception management. Exception management framework, services, and infrastructure elements that make it possible to create, repair, resubmit, and compensate fault messages that service consumers or BizTalk components submit.

·         Quality of service. An asynchronous publish/subscribe engine resolves different levels of service availability and provides high availability, scalability, and message traceability for ESB implementations.

·         Protocol transformation. Providing the ability for service provider and service consumer to interact via different protocols including WS-* standards for Web Services. For example, a service provider can send an HTTP Web Service request, which will result in sending a message via Message Queuing.

·         Extensibility. Provides multiple extensibility points to extend functionality for endpoint discovery, message routing, and additional BizTalk Server adapters for run time and design time.

ESB Page on the BizTalk Developer Center (MSDN)

A dedicated ESB page for developers and architects who are interested in ESB has been created on the BizTalk Developer Center. This ESB page provides basic information about the BizTalk ESB Toolkit 2.0 and useful links to relevant resources.