Microsoft on the Enterprise Service Bus (ESB)
Published: August 2005
Applies to: BizTalk Server 2004
Summary: This document provides a brief overview of the Enterprise Service Bus (ESB) category and clarifies Microsoft's position. BizTalk Server 2004 and Windows Communication Foundation (WCF) are introduced as a solution for both large and small customers. (5 printed pages)
Connecting systems and automating business processes are strong drivers to reducing costs, improving operational efficiency, and capturing new business opportunities. For these reasons, technologies that facilitate integration are a high priority for many technology executives.
While no single product or architecture satisfies all connected system scenarios, there are a variety of established options in the market today including ETL (Extract Transform Load), EAI (Enterprise Application Integration), and B2B (Business to Business) technologies. More recently, several emerging trends and technologies have expanded the potential number of integration scenarios covered by a single product offering. These include business process management (BPM), which builds on the existing EAI and B2B stacks with capabilities such as business activity monitoring, business process orchestration, and rules; and Web services, which provide industry standards for secure, reliable, transacted communication across platforms.
In a tangential play to the expanding functionality of BPM and the proliferation of Web services, a number of traditional EAI and message-oriented middleware (MOM) vendors have begun marketing products under the term "Enterprise Service Bus (ESB)." Introduced in 2002 by Sonic Software and subsequently touted by analysts as a strategic investment, the ESB term has in recent years permeated the IT vernacular of many organizations looking for a new "magic bullet" to the ongoing challenge of connecting systems.
The purpose of this document is to provide a brief overview of the ESB category and to clarify Microsoft's position. While Microsoft does not believe ESB is a stand-alone product category, customers looking to purchase an ESB will find that Microsoft offers a significant superset of ESB functionality at competitive price points.
The recent buzz around ESBs is rivaled only by the ambiguity with which the term is defined. While Sonic Software and Gartner originally used the term to refer to the XML-enabled SonicXQ MOM product (which was later renamed "SonicESB"), ESB has also been used to refer to the message bus architectural integration pattern as shown in Figure 1. However, as a growing number of companies began marketing their EAI and MOM products as ESBs, the term has generally been associated with a class of product, rather than an architectural pattern.
Figure 1 ESB as message bus architectural integration pattern
Adding to the confusion around the Enterprise Service Bus are the divergent definitions of the product category:
"A Web-services-capable infrastructure that supports intelligently directed communication and mediated relationships among loosely coupled and decoupled biz components." –Gartner Group
"The ESB label simply implies that a product is some type of integration middleware product that supports both MOM and Web services protocols."
"A standards-based integration backbone, combining messaging, Web services, transformation, and intelligent routing." –Sonic Software
"An enterprise platform that implements standardized interfaces for communication, connectivity, transformation, and security." –Fiorano Software
"To put it bluntly: If you have WebSphere MQ and other WebSphere brokers and integration servers, you have an ESB." –Bob Sutor, IBM
"The Enterprise Service Bus is a uniform service integration architecture of infrastructure services that provides consistent support to business services across a defined ecosystem. The ESB is implemented as a service oriented architecture using Web Service interfaces." –CBDI
Common Defining Characteristics
A variety of vendors now consider themselves players in the ESB space, including Sonic Software, Systinet, Tibco, Fiorano, IONA, and others—each with their own unique definition of the term. And while there is no industry-standard definition of the ESB, a common set of characteristics apply to many of the products in this category:
Brokered communication. The basic function of an ESB is to send data between processes on the same or different computers. Like message-oriented middleware, the ESB uses a software intermediary between the sender and the receiver, providing a brokered communication between them.
Address indirection and intelligent routing. ESBs typically include some type of repository used to resolve service addresses at run time. They also typically are capable of routing messages based on a predefined set of criteria.
Basic Web services support. A growing number of ESBs support basic Web services standards including SOAP and WSDL as well as foundational standards such as TCP/IP and XML.
Endpoint metadata. ESBs typically maintain metadata that documents service interfaces and message schemas.
Some ESB vendors offer additional features including message transformation, validation, logging, and auditing.
While many ESB vendors position their product as a single solution that solves all integration needs, an ESB product rarely delivers a single solution for enterprise-wide integration. In addition, a growing number of industry influentials are positioning ESBs as a tactical investment in a transitory EAI market:
"Once WS-ReliableMessaging and other key Web services framework standards are universally implemented, the need for vendor-proprietary ESB protocol stacks will wither away." -Burton Group
Customers looking for Java-based solutions often see ESBs as attractively priced subsets of full integration servers from the traditional platform vendors. The combination of lesser functionality at lower price point may be initially attractive. Most ESBs provide no support for business process, and while many customers use ESB-like functionality in their first projects, many customers wish to extend their successful solutions to include BPM—which is not possible with ESB. Additionally many ESBs do support open standards but require installation of the vendor-proprietary software on all hardware that interacts with the ESB. This approach is intrusive to existing investments and also potentially expensive. Instead of searching for a magic integration bullet as many ESBs claim to be, customers should seek out a comprehensive integration solution—one built on a foundation of industry-standard Web services and incorporating the full spectrum of integration capabilities, including those provided by ESBs as well as business activity monitoring, business process orchestration, and business rules.
In recent years, Microsoft has continued its leadership in both the Web services and the integration markets, achieving leading vendor status in Gartner Group's Web services and integration backbone Magic Quadrants. Rather than offer a product marketed as an ESB, Microsoft provides integration technologies that provide a significant superset of ESB functionality with better value.
Microsoft's offering in this space is focused around BizTalk Server, an integration and business process server, and Windows Communication Foundation, a framework for building secure, reliable Web services.
BizTalk Server 2004
BizTalk Server 2004 is an integration and business process server. It enables decoupled integration with a wide range of systems from MSMQ and MQSeries to SAP, Web services, and many more systems using a distributed hub-and-spoke topology similar to that of an ESB. Built on top of a persisted bus-like architecture, BizTalk Server provides for all the capabilities of traditional ESBs. In addition, BizTalk Server delivers full support for business process, business activity monitoring, and business rules with built-in management and deployment of connected systems.
BizTalk Server 2004 provides complete support for business processes including nested processes, long-running transactions, simplified correlation, and flexible mapping between messages.
With Business Activity Monitoring, business analysts can define which business data to collect and how to interpret it. Users can view business activities and perform everyday business operations. BizTalk Server can track the status of each instance of a process, and summarize them across processes for a non-technical user in an Excel Workbook hosted on a Windows SharePoint Services site.
With BizTalk Server 2004, customers can manage relationships with thousands of trading partners. A logical separation of relationships from processes increases reusability, enabling customers to easily configure new trading partners and handle a great variety of data formats.
With a range of price points based on the size and needs of the customer (including BizTalk Server Partner Edition at $1000 USD), BizTalk Server provides dramatically greater value when compared to the traditional ESB vendors. Customers choosing BizTalk Server may choose to deploy solutions using only the ESB-like functionality or they may choose to deploy solutions using the complete BPM functionality. With a consistent architecture, there is no second product acquisition and learning cycle required, and customers pay for the CPUs they have deployed. For more information about BizTalk Server, click here.
Windows Communication Foundation
Windows Communication Foundation (WCF) is Microsoft's next-generation Web services technology that provides a highly productive framework for building secure, reliable, and interoperable software based on industry standards. WCF extends the .NET Framework 2.0 with additional functionality, enabling the more than six million Visual Studio developers worldwide to build connected systems using the programming languages they already know. This results in less complexity for developers, fewer components to be managed by IT professionals, reduced training for both, and ultimately significant cost savings for the organization.
While a growing number of ESBs are supporting Web services standards to remain competitive, WCF provides the broadest support for the WS-* specifications—maximizing customers' ability to interoperate with a broad range of systems in a heterogeneous environment. In its first release, WCF will support the following WS-* specifications: SOAP, WSDL, WS-Addressing, MTOM, WS-Policy, WS-Security, WS-Trust, WS-SecureConversation, WS-ReliableMessaging, WS-AtomicTransaction, and WS-Coordination, as well as the foundational specifications of XML, XSD, and XPath.
WCF is delivered as a core subsystem of Windows Vista and will also be made available on Windows XP and Windows Server 2003. For more information about WCF, click here.
The Combination of BizTalk Server and Windows Communication Foundation
While BizTalk Server and WCF each provide significant value on their own, the combination of these technologies provides the broadest spectrum of connected systems scenarios—both brokered and unbrokered using open standard protocols. BizTalk Server provides business process orchestration, message transformation, and business activity monitoring through designers and visual tools while WCF provides a unified framework for building secure, reliable, transacted Web services.
Moving forward, the integration between BizTalk Server and WCF will be even more seamless. In the next major release of BizTalk Server slotted for 2006, BizTalk Server will provide a community-supported WCF adapter that enables WCF services to be incorporated into business process orchestrations. An early release of this adapter is available here. Just as ASMX and WSE provide BizTalk Server Web services capabilities today, subsequent releases of BizTalk Server will build directly on WCF to provide secure, reliable, transacted Web services support as a core component of BizTalk Server.
In recent years, the ESB has become a new segment in the EAI market that attempts to address the intersection of Web services and traditional message-oriented middleware (MOM). ESBs are a transitional technology that does not address the broad range of integration scenarios required by enterprises today.
Microsoft believes in delivering integration solutions that go beyond the ESB—satisfying the broad range of customer requirements for messaging, including message validation and transformation, business process orchestration and management, business activity monitoring, and business rules management—all built on a foundation of industry-standard interoperable Web services. Through the use of BizTalk Server, WCF, and the broad Windows platform, customers receive a broader set of functionality at economical price points that fit the requirements of customers large and small.