Microsoft recently released what was formally the ESB Guidance 1.0 and 2.0 is now officially called The BizTalk ESB Toolkit 2.0. There are no real fundamental shifts in the approach or direction on it but rather a better name from a marketing perspective. See the vague statement on why there was a name change:
With the release of the BizTalk ESB Toolkit 2.0 and the associated renaming from “ESB Guidance,” the goal is to provide the toolkit as a BizTalk Server 2009 value-add with a better support model that results in a broader customer adoption. This will hopefully help customers develop mature ESB implementations that will be ready for enterprise-wide deployments.
Atul Gupta post on BizTalk as an ESB provides a great reference point for looking at ESB’s. While his analysis doesn’t identify gaps in detail he provides high level analysis that the latest version of the ESB guidance passes the sniff test to be a true ESB.
Introducing the Biztalk ESB Toolkit 2.0
The BizTalk ESB Toolkit 2.0 is a collection of tools and libraries that extend BizTalk Server 2009 capabilities of supporting a loosely coupled and dynamic messaging architecture. It functions as middleware that provides tools for rapid mediation between services and their consumers. Enabling maximum flexibility at run time, the BizTalk ESB Toolkit 2.0 simplifies loosely coupled composition of service endpoints and management of service interactions.
The BizTalk ESB Toolkit 2.0 provides key building blocks that are required for implementing a comprehensive 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.
Note: BizTalk ESB Toolkit 2.0 only works with BizTalk Server 2009.
Microsoft’s Position on ESB
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.
- Download the BizTalk ESB Toolkit 2.0
- Download BizTalk ESB Toolkit 2.0 documentation
- View BizTalk ESB Toolkit 2.0 documentation
- ESB Toolkit Forum
- .NET Rocks! – Dmitri Ossipov on Enterprise Service Bus
- Codeplex ESB – ESB overview, PowerPoint presentation, and webcast
- Building Lightweight Processes Using BizTalk Server 2009 and ESB 2.0 Toolkit