Enterprise Integration Patterns

4,954 views

Published on

Published in: Technology

Enterprise Integration Patterns

  1. 1. Enterprise Integration patterns Johan Aludden Twitter: johanaludden Mail: me@johanaludden.com Blog: johanaludden.com/weblog
  2. 2. Integration styles 2
  3. 3. Integration styles • File transfer 2
  4. 4. Integration styles • File transfer • Shared Database 2
  5. 5. Integration styles • File transfer • Shared Database • Remote Procedure Invocation 2
  6. 6. Integration styles • File transfer • Shared Database • Remote Procedure Invocation • Messaging 2
  7. 7. Messaging 3
  8. 8. Messaging • Channels 3
  9. 9. Messaging • Channels • Messages 3
  10. 10. Producer Consumer 4
  11. 11. Producer Consumer • Many producers - Many Consumers 4
  12. 12. Producer Consumer • Many producers - Many Consumers • Message read once 4
  13. 13. Producer Consumer • Many producers - Many Consumers • Message read once • Load balancing 4
  14. 14. Producer Consumer • Many producers - Many Consumers • Message read once • Load balancing • Parallelization 4
  15. 15. Publish subscribe 5
  16. 16. Publish subscribe • Many Producers - Many Consumers 5
  17. 17. Publish subscribe • Many Producers - Many Consumers • Message read once per subscriber 5
  18. 18. Publish subscribe • Many Producers - Many Consumers • Message read once per subscriber • Broad casting 5
  19. 19. Publish subscribe • Many Producers - Many Consumers • Message read once per subscriber • Broad casting • Different processing 5
  20. 20. Channel Types • Producer Consumer • Publish Subscribe Common Properties • Asynchronous • One Way Communication 6
  21. 21. Document Message 7
  22. 22. Document Message • Send information 7
  23. 23. Document Message • Send information • Receiver decides what to do 7
  24. 24. Document Message • Send information • Receiver decides what to do • Single unit of data 7
  25. 25. Command Message 8
  26. 26. Command Message • Send a command 8
  27. 27. Command Message • Send a command • Sender tells what to do 8
  28. 28. Command Message • Send a command • Sender tells what to do • Single Unit of Work 8
  29. 29. Message Types • Document message • Command message 9
  30. 30. Common Patterns 10
  31. 31. You want to send a request and get a reply 11
  32. 32. 11
  33. 33. Sender Receiver 11
  34. 34. Sender Request Receiver 11
  35. 35. Sender Request Receiver 11
  36. 36. Sender Receiver 11
  37. 37. Sender Receiver 11
  38. 38. Sender Receiver Reply 11
  39. 39. Sender Receiver Reply 11
  40. 40. Sender Receiver 11
  41. 41. Request ID: 2 Sender Receiver 11
  42. 42. Request ID: 2 Sender Receiver 11
  43. 43. Sender Receiver 11
  44. 44. Request ID: 3 Sender Receiver 11
  45. 45. Request ID: 3 Sender Receiver 11
  46. 46. Sender Receiver 11
  47. 47. Sender Receiver Reply ID: 3 11
  48. 48. Sender Receiver Reply ID: 3 11
  49. 49. Sender Receiver 11
  50. 50. Sender Receiver Reply ID: 2 11
  51. 51. Sender Receiver Reply ID: 2 11
  52. 52. Sender Receiver 11
  53. 53. Request - Reply Sender Receiver 11
  54. 54. One message with parts that can be handled individually 12
  55. 55. 12
  56. 56. Sender Receiver 12
  57. 57. Sender Receiver 12
  58. 58. Message Sender Part 1 Receiver Part 2 12
  59. 59. Message Sender Part 1 Receiver Part 2 12
  60. 60. Part 1 Sender Receiver Part 2 12
  61. 61. Part 1 Sender Receiver Part 2 12
  62. 62. Part 1 Sender Receiver Part 2 12
  63. 63. Splitter Part 1 Sender Receiver Part 2 12
  64. 64. Many Messages that needs to be handled together 13
  65. 65. 13
  66. 66. Sender 13
  67. 67. Sender Receiver 13
  68. 68. Sender Receiver 13
  69. 69. Part 1 Sender Receiver 13
  70. 70. Part 1 Sender Receiver Part 2 13
  71. 71. Part 1 Sender Receiver Part 2 13
  72. 72. Part 1 Sender Receiver Part 2 13
  73. 73. Part 1 Sender Receiver Part 2 13
  74. 74. Message Part 1 Sender Receiver Part 2 13
  75. 75. Message Part 1 Sender Receiver Part 2 13
  76. 76. Aggregator Message Part 1 Sender Receiver Part 2 13
  77. 77. You have one entry point for messages but they need to be handled by different processes 14
  78. 78. 14
  79. 79. Receiver 1 Sender Receiver 2 14
  80. 80. Receiver 1 Sender Receiver 2 14
  81. 81. Router Receiver 1 Sender Receiver 2 14
  82. 82. The sender and the receiver does not speak the same language 15
  83. 83. 15
  84. 84. Sender 15
  85. 85. Sender Receiver 15
  86. 86. Sender Receiver 15
  87. 87. Translator Sender Receiver 15
  88. 88. You have messages that have the same semantic but different formats 16
  89. 89. 16
  90. 90. Sender 1 Receiver Sender 2 16
  91. 91. Sender 1 Translator Router Receiver Sender 2 Translator 16
  92. 92. Normalizer Sender 1 Translator Router Receiver Sender 2 Translator 16
  93. 93. You want to send the same message to many but to handle the responses together 17
  94. 94. 17
  95. 95. Service 1 Sender 1 Aggregator Receiver Service 2 17
  96. 96. Scatter Gather Service 1 Sender 1 Aggregator Receiver Service 2 17
  97. 97. Pipes & Filter • Like Lego • Combine different patterns 18
  98. 98. Other Patterns • Resequencer • Routing slip 19
  99. 99. Links • Enterprise Integration Patterns site, http://www.eaipatterns.com/ • Book, http://www.amazon.com/ Enterprise-Integration-Patterns- Designing-Deploying/dp/0321200683 20
  100. 100. Questions? 21

×