0% found this document useful (0 votes)
96 views8 pages

Integration: Enterprise

This document provides an overview of enterprise integration patterns for designing, building, and deploying messaging solutions. It discusses common integration challenges and how integration patterns can help provide loose coupling between systems. It then presents examples of integrating internal systems for an e-commerce company using messaging to handle orders, status updates, address changes and more.

Uploaded by

Sai Charan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views8 pages

Integration: Enterprise

This document provides an overview of enterprise integration patterns for designing, building, and deploying messaging solutions. It discusses common integration challenges and how integration patterns can help provide loose coupling between systems. It then presents examples of integrating internal systems for an e-commerce company using messaging to handle orders, status updates, address changes and more.

Uploaded by

Sai Charan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Enterprise

Integration Patterns
Designing, Building,
and Deploying Messaging Solutions

Gregor Hohpe
Bobby Woolf
With Contributions by
Kyle Brown
Conrad F. D'Cruz
Martin Fowler
Sean Neville
Michael J. Rettig
Jonathan Simon

A Addison-Wesley

Boston • San Francisco • New York • Toronto • Montreal


London • Munich • Paris • Madrid

Capetown •
Sydney •
Tokyo •
Singapore • Mexico City
Contents

Foreword by John Crupi xv

Foreword by Martin Fowler xvii

Preface xix

Acknowledgments xxv

Introduction xxix

Chapter 1: Solving Integration Problems Using Patterns 1

The Need for Integration 1

Integration Challenges 2

How Integration Patterns Can Help 4

The Wide World of Integration 5

Loose Coupling 9

One-Minute EAI 11
A Loosely Coupled Integration Solution 15

Widgets & Gadgets 'R Us: An Example 17


Internal Systems 18

Taking Orders 18

Processing Orders 20

Checking Status 26

Change Address 30
New Catalog 32
Announcements 33

Testing and Monitoring 34

Summary 37

Chapter 2: Integration Styles 39

Introduction 39

File Transfer (by Martin Fowler) 43

vii
Contents

Shared Database (by Martin Fowler) 47


Remote Procedure Invocation (by Martin Fowler) 50

Messaging 53

Chapter 3: Messaging Systems 57

Introduction 57
Message Channel 60

Message 66

Pipes and Filters 70

Message Router 78

Message Translator 85

Message Endpoint 95

Chapter 4: Messaging Channels 99

Introduction 99
Point-to-Point Channel 103

Publish-Subscribe Channel 106

Datatype Channel Ill


Invalid Message Channel 115
Dead Letter Channel 119
Guaranteed Delivery 122
Channel Adapter 127

Messaging Bridge 133

Message Bus 137

Chapter 5: Message Construction 143

Introduction 143
Command Message 145

Document Message 147


Event Message 151
Request-Reply 154
Return Address 159
Correlation Identifier 163
Message Sequence 170

Message Expiration 176


Format Indicator 180
Contents

Chapter 6: Interlude: Simple Messaging 183


Introduction ...183
Request-Reply Example 183
Publish-Subscribe Example 185
JMS Request-Reply Example 187
Request-Reply Example 187
Request-Reply Code 189
Invalid Message Example 196
Conclusions 197
.NET Request-Reply Example 198

Request-Reply Example 198

Request-Reply Code 200


Invalid Message Example 205
Conclusions 206
JMS Publish-Subscribe Example 207
The Observer Pattern 207
Distributed Observer 208
Publish-Subscribe 209
Comparisons 212
Push and Pull Models 213
Channel Design 219
Conclusions 222

Chapter 7: Message Routing 225

Introduction 225
Content-Based Router 230

Message Filter 237


Dynamic Router 243
Recipient List 249
Splitter 259
Aggregator 268
Resequencer 283
Composed Message Processor 294
Scatter-Gather 297

Routing Slip 301


Contents

Process Manager 312

Message Broker 322

Chapter 8: Message Transformation 327

Introduction 327

Envelope Wrapper 330

Content Enricher 336

Content Filter 342


Claim Check 346
Normalizer 352
Canonical Data Model 355

Chapter 9: Interlude: Composed Messaging 361

Loan Broker Example 361

Obtaining a Loan Quote 361

Designing the Message Flow 362

Sequencing: Synchronous versus Asynchronous 364

Addressing: Distribution versus Auction 366

Aggregating Strategies: Multiple Channels versus

Single Channel 368

Managing Concurrency 368


Three Implementations 369

Synchronous Implementation Using Web Services

(by Conrad R D'Cruz) 371


Solution Architecture 371
Web Services Design Considerations 372

Apache Axis 376

Service Discovery 379

The Loan BrokerApplication 379

Components of the Loan Broker Application 381


Client Application 396

Running the Solution 397


Performance Limitations 399
Limitations of This Example 400

Summary 400

Asynchronous Implementation with MSMQ 401

Loan Broker Ecosystem 401


Laying the Groundwork: A Messaging Gateway 402
Contents

Base Classes for Common Functionality .405

Designing the Bank 410

Designing the Credit Bureau 412

Designing the Loan Broker 413

Refactoring the Loan Broker 431

Putting it All Together 435

Improving Performance 435


A Few Words on Testing 440
Limitations of This Example 443

Summary 444

Asynchronous Implementation with TIBCO ActiveEnterprise


(by Michael J. Rettig) 445
Solution Architecture 445
The Implementation Toolset 448
The Interfaces 451

Implementing the Synchronous Services 452


The Loan Broker Process 455

Managing Concurrent Auctions 459


Execution 460

Conclusions 462

Chapter 10: Messaging Endpoints 463

Introduction 463

Messaging Gateway 468

Messaging Mapper 477


Transactional Client 484

Polling Consumer 494


Event-Driven Consumer •
498

Competing Consumers 502

Message Dispatcher 508


Selective Consumer 515

Durable Subscriber 522

Idempotent Receiver 528

Service Activator 532

Chapter 11: System Management 537

Introduction 537
Control Bus 540
Contents

Detour 545
Wire Tap 547

Message History 551

Message Store 555


Smart Proxy 558

Test Message 569


Channel Purger 572

Chapter 12: Interlude: System Management Example 577


Loan Broker System Management 577

Instrumenting the Loan Broker 578


Management Console 579
Loan Broker Quality of Service 579
Verify the Credit Bureau Operation 587
Credit Bureau Failover 592
Enhancing the Management Console 595
Limitations of This Example 602

Chapter 13: Integration Patterns in Practice 603

Case Study: Bond Pricing System (by Jonathan Simon) 603


Building a System 603

Architecture with Patterns 604


Structuring Channels 610
Selecting a Message Channel 614
Problem Solving with Patterns 618
Flashing Market Data Updates 618

Major Production Crash 620

Summary 623

Chapter 14: Concluding Remarks 625

Emerging Standards and Futures


in Enterprise Integration (by Sean Neville) 625
The Relationship between Standards and Design Patterns 626
Survey of Standards Processes and Organizations 627

Business Process Components and Intra-Web


Service Messaging 629
ebXML and the Electronic Business Messaging
Service (ebMS) 631
Contents

Business Process Execution Language for


Web Services (BEPL4WS) 634
Web Service Choreography Interface (WSCI) 636

Java Business Process Component Standards 637


WS-* 639

Conclusions 647

Bibliography 649

Index 659

You might also like