Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

SmartTechTalk : Asynchronous messaging

371 vues

Publié le

In this SmartTechTalk SmartWave consultant Fulvio Tozzo will introduce Asynchronous Messaging concepts. He will cover definition, patterns and protocols.

Publié dans : Technologie
  • Identifiez-vous pour voir les commentaires

  • Soyez le premier à aimer ceci

SmartTechTalk : Asynchronous messaging

  1. 1. Asynchronous Messaging How to enhance your Integration Architecture Fulvio Tozzo September 2019
  2. 2. | A mode of interaction between two or more parties in which the exchange of information does not require simultaneous active participation. It is applicable to any scenario where the rate of multiple events exceeds the ability to process them and the consequences of storing and processing the events at a later time are low Definition and Scope Sep 2019Asynchronous Messaging 3
  3. 3. | SYNCHRONOUS (Phone) • Requires participants’ simultaneous presence • Times out • Volatile • Ignores pace Synchronous vs Asynchronous Communication Sep 2019Asynchronous Messaging 4 ASYNCHRONOUS (eMail) • No “opening hours” • Perpetual conversation • Persistent • Participate at own pace
  4. 4. | Asynchronous Messaging Pattern Sep 2019Asynchronous Messaging 5 Publisher Subscriber B Subscriber A Channel Send Receive Receive
  5. 5. | • Divide the publisher and consumer • Store the messages • Route messages • Check and organize messages Features Sep 2019Asynchronous Messaging 6
  6. 6. | Reference Architecture Sep 2019Asynchronous Messaging 7 External Applications API Internal System 21 Internal System 22 Internal System 11 I Internal Client Application X Internal Client Application Y Internal Client Application Z I External Client Application A External Client Application B External Client Application C Internal applications and services External Services External System 31 External System 32 Identity provider Internal System 12 Integration Identity provider Message Broker
  7. 7. | Benefits Sep 2019Asynchronous Messaging 8 Automation Cost Effectiveness Punctuality Loose Coupling Flexibility Security Efficiency Persistence Reliabilty
  8. 8. | • An extra layer has to be included in the IT landscape • Response time might be unpredictable • The error handling responsibility is shifted from the consumers to the provider of the service • Extra storage required to persist the data Attention Points XXXX 20XXAsynchronous Messaging 9
  9. 9. | • Fire & Forget (One-Way) Message Exchange Patterns Sep 2019Asynchronous Messaging 10 • Request/Callback
  10. 10. | Message Distribution Patterns - Broadcast Sep 2019Asynchronous Messaging 11 Consumer A Consumer B Consumer C Producer Message Broker
  11. 11. | Message Distribution Patterns - Broadcast Sep 2019Asynchronous Messaging 12 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Output Channel Message Broker
  12. 12. | Message Distribution Patterns - Broadcast Sep 2019Asynchronous Messaging 13 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Output Channel Message Broker
  13. 13. | Scenario – Broadcast an event Sep 2019Asynchronous Messaging 14
  14. 14. | Scenario – Broadcast an event Sep 2019Asynchronous Messaging 15
  15. 15. | Scenario – Broadcast an event Sep 2019Asynchronous Messaging 16
  16. 16. | Message Distribution Patterns - Direct Sep 2019Asynchronous Messaging 17 Consumer A Consumer B Consumer C Producer Message Broker
  17. 17. | Message Distribution Patterns - Direct Sep 2019Asynchronous Messaging 18 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Output Channel Message Broker RoutingID = SubscriberID
  18. 18. | Message Distribution Patterns - Direct Sep 2019Asynchronous Messaging 19 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Output Channel Message Broker
  19. 19. | Scenario – Data replication Sep 2019Asynchronous Messaging 20
  20. 20. | Scenario – Data replication Sep 2019Asynchronous Messaging 21
  21. 21. | Scenario – Data replication Sep 2019Asynchronous Messaging 22
  22. 22. | Scenario – Data replication Sep 2019Asynchronous Messaging 23
  23. 23. | Message Distribution Patterns - Routing Sep 2019Asynchronous Messaging 24 Consumer A Consumer B Consumer C Producer Message Broker
  24. 24. | Message Distribution Patterns - Routing Sep 2019Asynchronous Messaging 25 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Output Channel MyID = SubscriberID Message Broker
  25. 25. | Message Distribution Patterns - Routing Sep 2019Asynchronous Messaging 26 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Output Channel Message Broker
  26. 26. | Scenario – Ordered workflow Sep 2019Asynchronous Messaging 27
  27. 27. | Scenario – Ordered workflow Sep 2019Asynchronous Messaging 28
  28. 28. | Scenario – Ordered workflow Sep 2019Asynchronous Messaging 29
  29. 29. | Scenario – Ordered workflow Sep 2019Asynchronous Messaging 30
  30. 30. | Scenario – Ordered workflow Sep 2019Asynchronous Messaging 31
  31. 31. | Scenario – Ordered workflow Sep 2019Asynchronous Messaging 32
  32. 32. | Message Distribution Patterns - Publish/Subscribe Sep 2019Asynchronous Messaging 33 Consumer A Consumer B Consumer C Producer Message Broker
  33. 33. | Message Distribution Patterns - Publish/Subscribe Sep 2019Asynchronous Messaging 34 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Message Broker
  34. 34. | Message Distribution Patterns - Publish/Subscribe Sep 2019Asynchronous Messaging 35 Consumer A Consumer B Consumer C Producer Input Channel Output Channel Output Channel Message Broker SubscriberID = RoutingID SubscriberID = RoutingID
  35. 35. | Scenario – Update event Sep 2019Asynchronous Messaging 36
  36. 36. | Scenario – Update event Sep 2019Asynchronous Messaging 37
  37. 37. | Scenario – Update event Sep 2019Asynchronous Messaging 38
  38. 38. | • Standard messaging API for JAVA platform • Defines the message format (headers, properties and body) • Interoperability is only within Java and JVM languages • Does not worry about the wire level protocol • Supports two messaging models with queues and topics • Supports transactions JMS – Java Message Service Sep 2019Asynchronous Messaging 39
  39. 39. | • It is a platform independent wire level messaging protocol • Interoperable across multiple languages and platforms • Has four exchange types: direct, fanout, topic, headers • Supports transactions • Meta-data allows to control the message flow • OASIS Standard • AMQP 0.9 and 1.0 are completely different AMQP – Advanced Message Queuing Protocol Sep 2019Asynchronous Messaging 40
  40. 40. | • Designed to be used for small dumb devices sending small messages over low bandwidth networks • No long living store • Supports publish-subscribe for topics • Does not allow fragmented messages (hard to send large messages) • No transactional support (only basic acknowledgements) • OASIS Standard MQTT – Message Queuing Telemetry Transport Sep 2019Asynchronous Messaging 41

×