The ESB is represented
as a compound pattern comprised of a series of core and optional
patterns that co-exist to establish an environment with a specific
feature-set. Figure 1 shows the pattern hierarchy that comprises Enterprise Service Bus .
One of the most common questions that arise when exploring Enterprise Service Bus patterns in relation to Microsoft platform technologies is whether BizTalk Server itself is a fully functional ESB.
The answer to this depends on the definition of “fully-functional.” As shown in Table 1, when we take a look at the individual feature-sets represented by the patterns that make up Enterprise Service Bus,
we can identify several dynamic runtime capabilities that can be
provided by Microsoft platform technologies beyond BizTalk Server.
Table
1. Support for patterns mapped to different parts of the Microsoft
technology platform. (1 = Native and configuration-only support, 2 = Can
be created, 3 = Not applicable or not supported.)
Enterprise Service Bus Pattern | BizTalk Server + ESB Toolkit | Windows Azure Platform | Windows Azure Platform Service Bus | .NET 4.0 |
---|
Asynchronous Queuing | 1 | 1 | 3 | 1 (if using MSMQ)
or
2 (if other) |
Intermediate Routing | 1 | 2 | 1 | 1 |
Reliable Messaging | 1 | 2 | 2 | 1 (WS-Reliable Messaging or MSMQ) |
Policy Centralization | 1 | 2 | 3 | 2 |
Event-Driven Messaging | 1 | 2 | 1 | 2 |
Rules Centralization | 1 | 2 | 3 | 2 |
Data Model Transformation | 1 | 2 | 3 | 2 |
Data Format Transformation | 1 | 3 | 3 | 2 |
Protocol Bridging | 1 | 2 | 3 | 1(bridging between WCF bindings) |
What
BizTalk Server and the ESB Toolkit establishes is a series of building
blocks that, when combined with other parts of the Microsoft technology
stack (and some diligent design effort), can result in a middle-tier
technology architecture representative of a full-featured ESB.
Note
Coverage of the
individual technology architecture and infrastructure components that
relate to the individual Enterprise Service Bus patterns is provided in the book Modern SOA Infrastructure, as part of the Prentice Hall Service-Oriented Computing Series from Thomas Erl.