Enterprise Service Bus: Theory in Practice

   

In the next three chapters, we will examine the details of what makes an ESB. The ESB provides an architecture that brings together all the concepts described in previous chapters into an infrastructure that can span an extended enterprise and beyond. The base definition of an ESB provided by Gartner Inc. and discussed in Chapter 1, describes an ESB as consisting of four things: Message Oriented Middleware, web services, intelligent routing based on content, and XML data transformation.

Expanding on the definition from Gartner, we can go into more details of these key components:

  • Message Oriented Middleware (MOM)

    • Robust, reliable transport

    • Efficient movement of data across abstract data channels

    • End-to-end reliability

  • Web services

    • Service Oriented Architecture (SOA)

    • Abstract business services

  • Intelligent routing

    • Message routing based on content and context

    • Message routing based on business process rules

    • Business process orchestration based on a rules language such as BPEL4WS (Business Process Execution Language for Web Services)

  • XML transformation

    • Based on XSLT and independently deployed service types

The integration fabric that supports all of this requires an infrastructure, which includes the following:

  • Highly distributed, scalable service containers

  • Event-driven service invocation

  • Centralized management of distributed integration configurations

  • Diverse client connectivity and support for multiple protocols

  • Seamless, dynamic routing of data across physical deployment boundaries

  • Unified security and access control model

  • Distributed configuration and caching of deployment resources, such as XSLT documents and routing rules

  • Scriptable and declarative environment

  • Changeable behavior of integration components based on configuration and rules, instead of compiling behavior into code

An ESB provides a loosely coupled, highly distributed approach to integration. It can integrate nicely with applications built with .NET, COM, C#, and legacy C/C++, and can utilize J2EE components such as the JMS, JCA, and J2EE web services APIs. XML standards such as XSLT, XPath, and XQuery provide data transformation, intelligent routing, and querying of "in-flight" data as it flows through the bus. These standards are used together to provide an open-ended, pluggable, service-oriented architecture. This architecture supports both industry-standard integration components as well as proprietary elements through the use of standardized interfaces.

So, just how are all these components tied together, and what makes the ESB approach unique? Perhaps the most distinguishing characteristic of the ESB is its ability to be highly distributed. Many things contribute to making the ESB highly distributed, but the three components that stand out the most are the use of abstract endpoints for representing remote services, Internet-capable MOM, and a distributed lightweight service container.

Категории

© amp.flylib.com,