Professional Documents
Culture Documents
Abstract
The purpose of this white paper is to discuss the capabilities inherent in three leading products in the Enterprise Service Bus (ESB) space. The intent is to present an independent perspective of which ESB products are best forspecific situations. The knowledge gained from this whitepaper may require further investigation and thinking on how the chosen ESB product can eventually become a part of an overall SOA/SOI "to-be architecture. It should be noted that the capabilities called out in this document are a superset of the more strict definition of what an Enterprise Service Bus comprises. These capabilities should be thought of as capabilities that might be exercised in an overall SOA/SOI "to-be" architecture. The capabilities listed in this document are suggested to be used as a guide in selecting an Enterprise Service Bus product.
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Table of Contents
ESB and SOI ................................................................................................................................... 3 Enterprise Service Bus (ESB) Definition ................................................................................... 3 Services Oriented Architecture (SOI) ......................................................................................... 4 Conceptual SOI/SOA to-be Architecture ................................................................................ 5 Capabilities Comparison................................................................................................................. 7 Capabilities Categories ............................................................................................................. 10 Capabilities Comparative Matrix .............................................................................................. 10 Summary and Recommendation ................................................................................................... 17 Vendor Product Architecture ........................................................................................................ 18 Microsoft BizTalk Runtime Architectural Diagram ................................................................. 18 Aqualogic Service Bus Architectural Diagram......................................................................... 19 Tibco ActiveMatrix Architectural Diagram.............................................................................. 20 Conclusion .................................................................................................................................... 20 About the Author .......................................................................................................................... 21 About Project Performance Corporation ...................................................................................... 21
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Enterprise Service Bus and Services Oriented Infrastructure Enterprise Service Bus (ESB) Definition
An ESB can be thought of as a set of software patterns that enable enterprise integration of software assets through a consistent, standards and message-based infrastructure.1 By approaching application and data integration in this way, enterprises and organizations can provide a common set of mechanisms by which deployed software assets can communicate over multiple protocols and are able to be reused in a flexible way with little or no new development. Some of the key concepts provided by an ESB through which all its capabilities derive are: Abstraction. As in a hardware bus from which the "B" in ESB is derived, an ESB provides a consistent and standard layer of abstraction for the software assets (both consumers and services) that utilize it. This abstraction cuts across multiple contexts and typically includes the idea of location independence (consumers are not required to make point to point connections to services), dynamic message routing (consumers can specify or rules or policies that can determine how messages travel between services), transformation (services can rely on the ESB to transform messages appropriately for consumption 2 including both schema and protocol mapping ), and ensuring quality of service (authentication and authorization as well as reliable delivery). This abstraction also provides the point at which value-added operational services such as logging, monitoring, and load balancing can be injected into the infrastructure. These capabilities as well as many others are listed and defined in the "Capabilities Comparison" section of this document. Messaging Layer. The creation of a messaging layer is what enables the various kinds of abstractions, described above, to operate effectively. That is, the adoption of standard ways of sending and receiving messages and a common language for representing messages (i.e. XML and various specifications built on top of XML) provides the opportunity for dynamic routing, message transformation, and security. For 3 example, by utilizing XML and SOAP, information can be encoded into messages that enable the ESB to act on the message and perform services such as dynamic routing and message authentication while the industry standard nature of XML itself allows for message transformation using mechanisms like XPath and XQuery that can be surfaced by the ESB. Architectures based this concept can also be referred to as 4 IFaPs (Identifiers, Formats, and Protocols) since they encapsulate identifiers (for example a URI for a web service), formats (e.g. XML and SOAP), and protocols (e.g. HTTP). Although SOAP over XML is one IFaP that can be used to create a messaging layer, there are other IFaPs that an ESB could surface to allow consumers to interact with deployed software assets. One such example is Representational State Transfer of REST which is much lighter weight than SOAP.
There are many different definitions of ESB in the industry and not all parties agree. The definition here was culled from several sources and based on PPCs anticipated use of the concept. For more information see http://en.wikipedia.org/wiki/Enterprise_Service_Bus and http://www.sonicsoftware.com/solutions/service_oriented_architecture/enterprise_service_bus/index.ssp 2 One example of the need for protocol mapping exposed as a service of an ESB was discussed in the white paper "SMS Text Messaging: An Emerging Technology Study" published by the Enterprise Architecture Office in October of 2007. 3 The encoding of metadata in SOAP messages is typically accomplished through the use of SOAP headers like those specified in the so-called WS-* specifications. For more information on the nature of these specifications see http://en.wikipedia.org/wiki/List_of_Web_service_specifications 4 Universal Resource Identifier
1
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
In a presentation titled Understanding ESBs and Other SOA Infrastructure Alternatives at the event held December 3-5, 2007 at the Rio All Suite Hotel & Casino in Las Vegas 7 Also discussed in the Gartner tutorial titled Understanding ESBs and Other SOA Infrastructure Alternatives event referenced previously 8 The other two being "Data Consistency" whereby applications agree on data and move it between systems and "Multi-step Process" where applications invoke a series of actions in other applications.
6
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
It might also be apparent from this architecture that the ESB provides the centralized mechanism through which the various layers communicate. However, it should be remembered that while the ESB functionality is primarily concerned with communication (e.g. routing, message transformation, security, and location independence) Figure 1 highlights the larger role for the Shared Services Infrastructure layer and some of the functionalities that it must support. For example, elements displayed to the right of the ESB component in Figure 1 imply that Shared Services 9 Infrastructure layer must support the management of deployed services in a reliable infrastructure that is secure , 10 governable, and driven by the organization's understanding of how data and applications are classified . Finally, before moving on to the capabilities comparison it should be cautioned that although the products discussed in the remainder of this document do provide core capabilities that can be leveraged to build an ESB and Shared Services Infrastructure, the software products themselves are not the Services Layer or the ESB. As Gartner has cautioned it's important to remember that SOA initiatives are likely to be 10% infrastructure and 90% best
10
Iin such Infrastructure projects this is generally driven by the Security team In such Infrastructure projects this is generally driven by the Taxonomy team
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Capabilities Comparison
There are various "ESB" vendors in the market today, as shown in Fig 2 (Gartner Magic Quadrant for June 2007). Most of them attempt to address similar "SOA backplane" capabilities but their implementation is different. Some of the leading vendors have core capabilities built in their product while others rely on complementary technologies.
Figure 2: Gartner Magic Quadrant for Application Infrastructure for Back-End Application Integration
11
12
From the Gartner tutorial Understanding ESBs and Other SOA Infrastructure Alternatives discussed previously IFaP stands for Identifiers, Format and Protocol
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
These three vendors were selected based on the broad criteria of Market Understanding, Strategy, Innovation and Customer Experience, that Gartner (refer to Magic Quadrant shown in Fig 2 shown above) uses to classify the various vendors in the ESB tools market. The remainder of this section compares these three tools on a variety of capabilities. The following table provides a quick summary of strengths and cautions of the three vendors identified above.
Vendor
Strengths
Cautions
Brand recognition, global reach, Applicability is limited to the mind share and huge installed Windows environment, which base of products that are means customers have integration leveraged for BizTalk Server challenges if they want mix-andsales. match products on other platforms to create a unified application BizTalk Server installed base of infrastructure for a heterogeneous more than 6,000 customers twoenvironment. thirds are estimated to be BizTalk Server 2006 Enterprise Edition. Microsoft reacts to most Javarelated standards rather than Affordable pricing on projects for getting out ahead of them for midsize enterprises. example, Java Business Integration Ability to attract large numbers (JBI) and service component of ISVs that provide a wide architecture/service data object. variety of solutions based on Microsofts tools are implemented BizTalk Server. in a manner that encourages opportunistic development. Integration in particular, the integration required to support services for mission-critical applications is best approached systematically.
Strong, traditional integration Most integration technology offering (WebLogic depends on WebLogic Server and Integration), including a large favors Java. set of OEM-sourced adapters. Relatively small ESB (AquaLogic Combined offering of JavaService Bus) and data integration platform-optimized integration (AquaLogic Data Services Platform) technology (WebLogic production installed base. Integration) and SOA-optimized Packaging WebLogic Integration ESB integration technology and AquaLogic Service Bus reflects (AquaLogic Service Bus). user preferences in functionality,
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Enterprise Service Bus Capabilities Comparision, Gupta Vendor Strengths Recent, successful acquisitions of leading visionary vendors in adjacent areas, including a visionary BPM vendor, Fuego. Leading presence and reputation in high-end enterprise computing, as well as vertical market (including telecommunications, financial services and government) and international (including a leading position in the Peoples Republic of China) strength and name recognition. Cautions but increases costs to users and prospects. No dedicated tools to support batch processing
Large specialist with significant cash reserves; leverages a large installed base of highperformance messaging. Optimized for heterogeneous environment. Comprehensive product line with strong functionality. Addresses integration and SOA, and has innovative ActiveMatrix container technology. One of the most extensive BAM and integration solutions.
Tibco is not adding new customers at the same pace as some ESB vendors, and the high-end integration market (suite sales of more than $400,000) is small and shrinking. Tibco BusinessWorks is an extensive and, therefore, expensive product. Each sale is negotiated independently, and Tibcos flexibility during negotiations differs from sale to sale. BusinessWorks contains a broad set of features, not all of which are required to implement a small number of simple interfaces. Ensure that your integration needs require all BusinessWorks features before purchasing this product. The focus of Tibcos BPM messaging languished somewhat when the company rolled out ActiveMatrix. Users seeking BPM technology are advised to add Tibco to their shortlists of BP providers.
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Capabilities Categories
For the sake of modularity and ease of reading ESB, capabilities in this document have been broken into the following categories
Messaging Adapters Message Transformation Service Orchestration Operations and Management Application Management Business Events Business Rules Security
How messages are handled by the ESB and the various capabilities that are built in. Different out of the box adapters, as well as framework for custom adapters Does the product have GUI tool to enable the schema mappings How are services designed, developed, published, maintained etc. General operations and management of the ESB, ease of use and integration with other monitoring tools. How well can the product deploy, migrate and facilitate development of shared services How well are the publication and subscription events handled and managed How business rules are implemented with ESB, ability to re-use, change etc. How security is implemented
Table 1: Capability Categories
Rating
Rating Description The product offers the functionality built-in, or provides guidance on how to achieve the particular capability. Documented, tested The product offers most of the functionality built-in. Might require adapters to achieve full capability requirement. Product offer guidelines, or requires use of adapters to achieve some of the capability. Also assigned this rating if not enough documentation. No documentation or capability built-in or available through other means.
Table 2: Ratings Guidelines
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
10
Category
Content-based routing seeks to route messages, not by a specified destination, but by the actual content of the message itself
End Point Location of a service to be Independence independent of a calling application. Asynchronous Invocations Asynchronous actions are actions executed in non-blocking scheme, allowing the main program flow to continue processing Ability to simulate synchronous communications, whereby the calling program waits for a result before continuing processing. Validation is to simply verify that an incoming message contains a well-formed XML document and conforms to a particular schema or WSDL document that describes the message. A built-in engine to facilitate the publication and subscription of messages Ability to translate from one type of communication protocol to another (ex. TCP/IP to HTTP) WS-ReliableMessaging describes a protocol that allows messages to be delivered reliably between distributed applications in the presence of software component, system, or network failures. 11
Synchronous Messaging
Messaging
Message Validation
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Capability
Description
Message Throttling
Configuration to allow only a specific number of messages to reach the service in a specific period of time When a message fails on a receive port it is routed to a location where additional action can be taken. Ability deploy multiple instances of a service and use a load balancer to dispatch requests and spread out the service request traffic FTP is a commonly used protocol for exchanging files over any TCP/IP based network to manipulate files on another computer on that network A communications protocol used to transfer information on intranets and the World Wide Web.
FTP
HTTP
POP3
Adapters
SMTP IMAP SharePoint Services Framework for Custom Adapters SQL Server .Net WCF Adapter Windows
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Integration with Microsoft SharePoint Services Existing documentation/examples and or framework for creating custom adapters.
12
Capability
Description
TCP/IP EDI Support Transfer of structured data, by agreed message standards, from one computer system to another without human intervention
Message Transformation
Schema Mapping
Dynamically add new service producers and consumers to a scenario (orchestrations) at runtime, without requiring a recoding of a process or service. Mechanism for handling exceptions occurring within an orchestration gracefully. Orchestrations that take a long time to complete. Ability to publish/generate web services from orchestrations Centers around short-lived operations, or in other words, processes were the success or failure of a transaction is needed to be known rapidly. 13
Exception Handling Long Running Transactions Web Service Generation Atomic Transactions
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Capability
Description
WSCoordination
Extensible framework for providing protocols that coordinate the actions of distributed applications. This specification isn't enough to coordinate web services. It only provides a coordination framework
Extensible API Ability to programmatically Support interact with Service externally. The services are the web services published within the ESB
Exception Handling
Logging of messages and ease of access to these messages. A poison message is a message that has exceeded the maximum number of delivery attempts to the application. This situation can arise when a queue-based application cannot process a message because of errors. Configuration to allow only a specific number of messages to reach the service in a specific period of time Tool for monitoring system performance
Throttling
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
14
Capability
Description
Compilation Alerts Exception(Err or) Reporting Ability to issue alerts based on certain parameters Ability to generate reports based on error messages severity, either related to orchestrations or server statuses. Ability to track processes in real-time. Tool to track messages as they flow through the Services Layer
Real-Time Process Status Message Tracking Dynamic Resource Allocation High Availability
Constant availability of a service regardless of the status of the hosting or dependent servers on which it runs.
Disaster Recovery Tracking and Debugging Flows Service Provisioning and Registration Data Archiving and Purging GUI tool to allow for tracking and debugging of process flow. Ability to compose new services and register them in a configuration-based fashion Mechanism to archive data, as well set parameters to purge data.
Application Managemen t
Tool to assist in deployment of services, maps etc. Ability to migrate from one instance to another without re15
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Capability
Description
Migration IDE
coding. Integrated development environment. A (usually graphical) project-oriented environment for the development of specific software
Business Events
Subscriptions to events that occur within orchestrations. Ability to publish events to interested parties. Tool to manage publication management of business events. Tool to manage subscription management of business events.
Business Rules
GUI to be able to author business rules. Ability to deploy new versions of business rules, ability to have several versions that can be deployed. Published API for interacting with Business Rules from external applications.
WS-Security
WS-Security describes enhancements to SOAP messaging to provide quality of protection through message integrity, message confidentiality, and single message authentication. Support for encryption of message contents. 16
Security
Content Encryption/D
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
Capability
Description
ecryption Content Authentication or Authorization based based on the content of the Authentication messages and Authorizations Digital Signatures Password Synchronizati on Ability to use digital signatures to grant permissions Mechanism to provide for password synchronization (if ESB connects to other systems to be able to synchronize credentials across multiple systems) Ensure that a transferred message has been sent and received by the parties claiming to have sent and received the message Service that allows administrators to map a Windows user account to one or more alternative Windows or non-Windows accounts. These accounts are mapped per application so that they can be used to securely access applications that require credentials other than those originally provided by the end user.
NonRepudiation
Single SignOn
17
Note: This is an abstraction of the published Microsoft BizTalk 2006 R2 Runtime Architecture Diagram which can be found at the following location: http://www.microsoft.com/downloads/details.aspx?FamilyID=8790e652-1da5-4e80-88feb87606233db4&displaylang=en
13
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
18
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
19
Conclusion
It is clear that ESB is the centerpiece of most successful SOI implementation. Selecting the right ESB product is just as important. While in this paper we have compared the high level capabilities of three of the leading ESB Vendors, it should be noted that the key to your SOI/SOA success lies in executing a good governance plan. A clear understanding of benefits, goals and progress should be communicated to all stakeholders. SOA governance and ESB adoption has implications beyond the confines of SOA: Its also the conduit that connects and aligns corporate, IT, and enterprise architecture policies and standards.
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
20
1760 Old Meadow Road McLean, VA 22102 phone 703.748.7000 fax 703.748.7001 www.ppc.com Copyright PPC, 2008
21