This chapter will examine some common uses of an ESB in integration scenarios. The ESB concept already has a number of uses that solve some very common and challenging integration problems. While this is not an exhaustive list of all the integration patterns that are in use today, it should be enough to give you an idea of how an ESB can be used in real integration scenarios. For more information on integration patterns using an ESB, please visit this book's web page on the O'Reilly site, http://www.oreilly.com/catalog/esb. In this chapter we will examine the following integration patterns: VETO and VETRO, which are commonly used ESB patterns that use message itineraries to perform Validate, Enrich, Transform, (Route,) and Operate functions. Two-step XRef transformation, which is a commonly used pattern for data transformation using a data cross-reference pattern. This pattern includes a two-step process for transformation: one step that uses XSLT transformation for structure and form, and another that uses a database lookup to translate the content. Flexible and scalable integration between an enterprise portal and a number of backend systems. An enterprise portal caching system using a "cache-forward" integration pattern. Federated query, which is a distributed data retrieval pattern using an ESB to query multiple backend applications and data sources across an enterprise. The Preface describes this book's use of the pattern form to describe ESB integration patterns, along with an explanation of the diagramming techniques used to illustrate the pattern sketches. The owner of an application can rely on the ESB to provide a uniform, consistent approach to sending and receiving data. An application plugs into the bus; it posts data to the bus; it is the responsibility of the bus to get the data where it needs to be, in the target data format that it needs to be in. An ESB separates the business process routing logic from the implementation of the applications that are being integrated. This shields the application owner from having to worry about things such as the routing of messages and the validation of data. Messages can arrive into a business process from a variety of sources and in a variety of data formats. How does the ESB ensure that messages are validated and normalized so that they are in a usable format for each target system? As we have seen throughout this book, a message itinerary can be a very powerful and flexible tool for intercepting the path of a message and performing operations on it, thus adding value to the integration environment. Through configuration and management tools, additional processing steps can be inserted as event-driven services into an XML processing pipeline. |