Enterprise Integration Patterns Introduction to Gregor Hohpe and Bobby Woolf’s book. David Kemp, Jan 2006
Enterprise Integration Usually Involves Messaging
Alternatives to Messaging Remote Procedure Invocation File Transfer Shared Database
Messaging The book (and this talk) focuses on messaging. What is messaging? Program-to-program communication. Asynchronous. Information exchanged as  messages  on  channels . Optional features: Reliable (durable) Transactional
Messaging Systems Support Store and Forward Language and/or platform independent. Computer 1 Sending application 1. Create 2. Send Receiving application 5. Process 4. Receive 3. Deliver Computer 2 Channel
Why use messaging Platform/Language integration Asynchronous communication Allow disconnected operation Improve thread utilization Reliability Throttling
Challenges Complex programming model Sequence issues Synchronous scenarios Performance Limited platform support Vendor lock-in
An Example: Widgets & Gadgets R’ Us Web Interface Call Centre Inbound Fax Outbound Email Billing/Accounting Shipping Widget Inventory Widget Catalog Gadget Inventory Gadget Catalog
Taking Orders Call Centre Inbound fax Web Interface Channel Adapter Channel Adapter Gateway Point to point channel New Order Message Point to point channel Point to point channel Publish-Subscribe Channel Message translator Message translator Message translator
Order Processing New Order Message Publish-Subscribe Channel Billing/ Accounting Inventory Point to point channel Aggregator Content- Based Router Invalid Order Publish-Subscribe Channel Billing/ Accounting Shipping
Messaging Patterns Messaging System Patterns Messaging Channel Patterns Message Construction Patterns Message Routing Patterns Message Transformation Patterns Messaging Endpoint Patterns System Management Patterns

Enterprise Integration Patterns

  • 1.
    Enterprise Integration PatternsIntroduction to Gregor Hohpe and Bobby Woolf’s book. David Kemp, Jan 2006
  • 2.
  • 3.
    Alternatives to MessagingRemote Procedure Invocation File Transfer Shared Database
  • 4.
    Messaging The book(and this talk) focuses on messaging. What is messaging? Program-to-program communication. Asynchronous. Information exchanged as messages on channels . Optional features: Reliable (durable) Transactional
  • 5.
    Messaging Systems SupportStore and Forward Language and/or platform independent. Computer 1 Sending application 1. Create 2. Send Receiving application 5. Process 4. Receive 3. Deliver Computer 2 Channel
  • 6.
    Why use messagingPlatform/Language integration Asynchronous communication Allow disconnected operation Improve thread utilization Reliability Throttling
  • 7.
    Challenges Complex programmingmodel Sequence issues Synchronous scenarios Performance Limited platform support Vendor lock-in
  • 8.
    An Example: Widgets& Gadgets R’ Us Web Interface Call Centre Inbound Fax Outbound Email Billing/Accounting Shipping Widget Inventory Widget Catalog Gadget Inventory Gadget Catalog
  • 9.
    Taking Orders CallCentre Inbound fax Web Interface Channel Adapter Channel Adapter Gateway Point to point channel New Order Message Point to point channel Point to point channel Publish-Subscribe Channel Message translator Message translator Message translator
  • 10.
    Order Processing NewOrder Message Publish-Subscribe Channel Billing/ Accounting Inventory Point to point channel Aggregator Content- Based Router Invalid Order Publish-Subscribe Channel Billing/ Accounting Shipping
  • 11.
    Messaging Patterns MessagingSystem Patterns Messaging Channel Patterns Message Construction Patterns Message Routing Patterns Message Transformation Patterns Messaging Endpoint Patterns System Management Patterns