Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Gregor Hohpe, Bobby Woolf

Language: English

Pages: 736

ISBN: 0321200683

Format: PDF / Kindle (mobi) / ePub

Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise.


The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold.


This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system. If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book.

















protocol. Typically, TCP/IP data is transported over an Ethernet network, which implements the link layer. As a result, application data is wrapped into a TCP envelope first, which is then wrapped into an IP envelope, which is then wrapped into an Ethernet envelope. Since networks are stream-oriented, an envelope can consist of both a header and a trailer, marking the beginning and the end of the data stream. The figure on the following page illustrates the structure of application data

and need to be unwrapped by a symmetric sequence of unwrapping steps. As laid out in Pipes and Filters, keeping the individual steps independent from each other gives the messaging infrastructure the flexibility to add or remove wrapping and unwrapping steps. For example, encryption may no longer be required because all traffic is routed across a VPN as opposed to the public Internet. Content Enricher When sending messages from one system to another, it is common for the target system to

now run the solution. Running the solution involves starting the TIB/IntegrationManager engine. To test the solution, a simple test client is included in the repository that submits loan requests every 5 seconds. Simple stubs are used for the implementations of the credit service and the banks. One of the advantages of Publish-Subscribe Channels is that we can easily listen to all messages on the message bus to inspect the message flow. We used a simple tool to log all messages to the console.

term ($100,000 for 360 months). The message specifies the test client's private reply channel, _INBOX.C0A80164. 1743F10809898B4B60.3, as the Return Address so that the loan broker knows where to send the reply message. The next message represents the request from the loan broker to the credit service, carrying the private inbox of the loan broker as the Return Address. The credit service requires only the social security number. The reply message is not captured by our logging tool because

a separate, potentially asynchronous response to a SOAP request. Example: JMS Requestor Objects JMS includes a couple of features that can be used to implement Request-Reply. A TemporaryQueue is a Queue that can be created programmatically and that lasts only as long as the Connection used to create it. Only MessageConsumers created by the same connection can read from the queue, so it is effectively private to the connection [JMS 1.1]. How do MessageProducers know about this newly

Download sample