Tirer parti de la connectivité pilotée par l’API et de l’architecture pilotée par les événements de MuleSoft avec Solace
Les organisations d’aujourd’hui entrent dans une transformation numérique rapide. Avec MuleSoft’s Connectivité dirigée par l’API approcher, la stratégie d’intégration des entreprises s’oriente désormais vers plus de réutilisabilité avec des livrables plus rapides des projets grâce à la découverte, au libre-service et à la réutilisabilité. Mais que se passe-t-il si nous mélangeons la saveur de l’architecture pilotée par les événements également dans la stratégie d’intégration de l’entreprise ?
Avec ce blog, nous allons découvrir comment Architecture pilotée par les événements peut jouer un rôle essentiel dans l’organisation Stratégie d’intégration et comment elle peut être utilisée avec l’approche de connectivité basée sur l’API de MuleSoft. Pour tirer parti de l’architecture pilotée par les événements, Réconfort PubSub+, Apache Kafka, Lapin MQ peut être un bon ajustement dans le plan directeur d’intégration d’entreprise avec MuleSoft’s MQ Anypoint.
Dans ce blog, nous discuterons de l’utilisation de Solace PubSub + dans EDA, Solace PubSub + est un Event Steaming largement utilisé et la plate-forme de messagerie qui permet un middleware intelligent pour les applications pilotées par les événements. Il agit comme un courtier de messages pour la communication basée sur les messages entre les producteurs et les consommateurs qui offre la messagerie en tant que service (MaaS) qui peut être facilement intégrée aux applications pour fournir une diffusion en temps réel des événements. En savoir plus sur Solace à partir du Documentation officielle de Solace
Qu’est-ce qu’une architecture événementielle ?
Selon Solace, l’architecture pilotée par les événements (EDA) est un modèle de conception logicielle dans lequel les applications découplées peuvent publier et s’abonner de manière asynchrone à des événements via un courtier d’événements (middleware moderne orienté messagerie). L’architecture pilotée par les événements est un moyen de créer des systèmes informatiques d’entreprise qui permettent aux informations de circuler entre les applications, les microservices et les appareils connectés en temps réel lorsque des événements se produisent dans votre entreprise, au lieu d’interroger périodiquement les mises à jour. L’architecture événementielle garantit que lors de l’occurrence d’un événement, les informations pertinentes de cet événement sont envoyées à tous les systèmes qui en ont besoin.
Avantages de l’architecture pilotée par les événements :
- Souplesse
- Agilité
- Évolutivité
- Couplage lâche et réactivité
Acteurs clés de l’architecture événementielle :
- Producteur d’événements
- Consommateur d’événement
- Transport d’événements : qui aura le courtier de messages qui hébergera les files d’attente, les sujets et les messages Exchange basés sur le routage.
L’architecture événementielle garantit que lors de l’occurrence d’un événement, les informations pertinentes de cet événement sont envoyées à tous les systèmes qui en ont besoin.
Le diagramme ci-dessous suggère comment un acteur clé de l’architecture pilotée par les événements peut être utilisé dans le domaine de la vente au détail. Les producteurs d’événements tels qu’une application mobile, un point de vente ou un site Web eCom peuvent produire un événement et l’envoyer à Event Broker. Ces événements sont simplement filtrés et acheminés en temps réel vers les services et applications qui les consomment.
Comment la connectivité pilotée par API et l’architecture pilotée par les événements peuvent-elles fonctionner ensemble ?
La définition de la connectivité dirigée par l’API dans la vue de MuleSoft est une approche à 3 couches où chaque couche est composée de API d’expérience, API de processus et API système. La connectivité pilotée par l’API a une limitation des modèles de communication en raison des trois niveaux (essentiellement de haut en bas), tandis que les composants d’application échangeant des événements tout en utilisant l’approche pilotée par les événements n’ont pas à adhérer aux mêmes restrictions de modèle de communication.
Faire en sorte que Salesforce colle
Pour vous assurer que votre implémentation ou migration Salesforce se déroule comme prévu, notre équipe de professionnels de la gestion du changement discute de la manière de gérer le processus de transition pour s’assurer que votre équipe est prête, disposée et capable de fonctionner efficacement dans le nouvel environnement.
Les applications utilisant l’architecture pilotée par les événements nécessitent essentiellement un courtier de messages qui échangera des événements en utilisant le même courtier de messages. La connectivité API Led et le réseau d’applications sous-jacent sont définis par les actifs centrés sur l’API qui sont publiés pour une consommation en libre-service. L’équivalent d’une architecture pilotée par les événements tournerait autour des types de destination et d’événement. Les applications utilisant l’EDA dépendront uniquement des types d’événements échangés, des destinations définies et du courtier de messages hébergeant ces destinations. Les API événementielles n’agiront qu’en complément mais ne remplaceront pas les API Restful ou Webservice. Nous examinerons la coexistence de ces deux modèles dans la section suivante.
Les éléments suivants doivent être pris en compte lors de l’utilisation des API pilotées par les événements utilisant l’agent de messages d’événement :
- Haute fiabilité, y compris le contrôle lent des consommateurs, la tolérance aux pannes, la haute disponibilité et la reprise après sinistre.
- Hautes performances en termes de débit de messages, de taux de transfert de données et de latence.
- Sécurité de niveau entreprise pour garantir que votre infrastructure et vos informations sont protégées à tout moment.
- Prise en charge de nombreux transports et protocoles différents
- La prise en charge de tous les environnements cloud les plus populaires, publics et privés, IaaS et Paas, qui, combinée à la prise en charge des environnements non cloud hérités, offre la seule solution unifiée pour le déplacement des données dans le cloud hybride.
- Il convient de s’assurer que les API utilisant Event Brokers acheminent le message vers la bonne application ou destination.
- Les éditeurs ont juste besoin de savoir à quel sujet ou file d’attente envoyer un événement, et le courtier d’événements s’occupe de la livraison aux systèmes qui en ont besoin.
Solace PubSub + est un courtier de messages qui prend en charge les fonctionnalités clés ci-dessus, ce qui rend les API Event Driven plus robustes. Il dispose d’un courtier d’événements qui achemine les événements entre les systèmes à l’aide du modèle de messagerie de publication-abonnement. Toutes les applications se connectent au courtier d’événements, qui est chargé d’accepter les événements des expéditeurs et de les transmettre à tous les systèmes abonnés pour les recevoir.
Examinons un exemple de système de gestion des commandes et voyons comment tirer parti de la connectivité pilotée par l’API et d’une approche pilotée par les événements dans le flux d’annulation de commande.
Au niveau de l’expérience, nous avons une API mobile et une API Web qui recevront la demande d’annulation de commande du système source. Dans ce scénario, l’API mobile ou l’API Web publiera dans la file d’attente des commandes. Nous avons utilisé Solace Pub-Sub+ comme courtier de messages.
Au niveau du processus, une API Event Driven consommera les messages de la file d’attente des commandes. Cette application Mule agit essentiellement comme un gestionnaire d’événements et inspecte l’en-tête et la charge utile du message. En fonction de la transformation des données et de la logique métier requise par la couche système, cette API transformera le message et appellera l’API système.
Le gestionnaire d’événements décidera quelles API invoquer lorsqu’une commande est annulée afin que le message de l’événement d’origine soit transmis aux bons systèmes backend. Dans cet exemple, seul le système backend des commandes doit être mis à jour. Par conséquent, l’application de gestionnaire d’événements appellera uniquement l’API du système de commandes, qui expose le point de terminaison pertinent pour la mise à jour ou l’annulation des commandes et transmet le message dans le format requis.
Avec l’introduction du concours complet. L’API appelante doit simplement se soucier de se connecter au courtier de messages et de déposer l’événement dans une file d’attente ou un sujet. Nous pouvons également implémenter ici un gestionnaire d’erreurs personnalisé, un mécanisme d’alerte et de retraitement, de sorte qu’en cas de temps d’arrêt avec le système backend ou l’API, le même message du gestionnaire d’événements peut être renvoyé à la file d’attente d’origine pour retraitement ou nous pouvons implémenter un accusé de réception manuel pour gérer le retraitement. Avec cette approche, nous pouvons enregistrer les données critiques qui peuvent être retraitées ultérieurement, ce qui évitera éventuellement les temps d’arrêt de l’entreprise.
Avantages de l’utilisation de l’approche pilotée par les événements avec la connectivité pilotée par l’API :
- Le service appelant n’a pas à se soucier de savoir si le message a été reçu ou non par le consommateur. Le courtier de messages s’occupe de conserver le message jusqu’à ce qu’il soit utilisé avec succès par le service consommateur. Ainsi, augmentant la fiabilité et la disponibilité globales.
- Les efforts globaux des développeurs et l’utilisation des cœurs de travail/mémoire sont réduits en raison de la logique de nouvelle tentative complexe, et la persistance des données est déchargée sur la couche de messagerie.
- S’il existe plusieurs instances de cible ou de consommateur. Le message peut être renvoyé à la prochaine instance disponible si la première instance est en panne.
- L’expérience utilisateur globale est améliorée.
- La redistribution est un trait commun des courtiers de messages. Par conséquent, les travailleurs de Mule peuvent économiser sur le processeur coûteux requis pour la mise en œuvre de la nouvelle livraison/réessaie dans le code.
- Évolutivité, utilisation des ressources et réutilisabilité
Conclusion:
L’architecture pilotée par les événements peut améliorer la connectivité pilotée par l’API. Le modèle traditionnel piloté par la demande et le modèle piloté par les événements sont complémentaires. Cette combinaison d’événements et d’API donne lieu à des solutions plus fiables, faiblement couplées, évolutives, réutilisables, robustes, à charge équilibrée et tolérantes aux pannes tout en améliorant l’expérience utilisateur globale. De plus, vous pouvez utiliser des files d’attente de messagerie pour garantir l’absence de perte de message et augmenter la fiabilité et la robustesse de vos applications informatiques. Les architectes doivent envisager l’adoption de l’EDA au tout début de tout nouveau projet pour tirer pleinement parti de ses avantages.
Nous arriverons dans la prochaine section de mise en œuvre pratique de l’architecture pilotée par les événements avec une connectivité pilotée par API à l’aide d’Apache Kafka et de MuleSoft. Restez à l’écoute..
Complet + MuleSoft
Chez Perficient, nous excellons dans les implémentations tactiques de MuleSoft en vous aidant à relever l’ensemble des défis avec des solutions durables, plutôt que de compter sur des correctifs de fortune. Le résultat final est des ressources intelligentes et multifonctionnelles qui réduisent les coûts au fil du temps et permettent à votre organisation de se préparer de manière proactive aux futures demandes d’intégration.
Nous sommes un Premier partenaire MuleSoft avec plus de 15 ans d’expertise en intégration dans divers secteurs, notamment les services financiers, la santé, la vente au détail, etc. Après l’acquisition de MuleSoft par Salesforce, notre innovation continue dans l’espace d’intégration offre des expériences plus personnalisées sur les logiciels développés par MuleSoft. Nous combinons la suite de produits MuleSoft avec notre expertise en connectivité pour fournir des solutions complètes à la fois sur site et dans le cloud.
Contactez-nous aujourd’hui pour savoir comment nous pouvons vous aider à développer une connectivité pilotée par API et une stratégie événementielle pour résoudre les défis de la transformation numérique de votre organisation.
References:
- https://solace.com/what-is-event-driven-architecture
- https://blogs.mulesoft.com/learn-apis/api-led-connectivity/what-is-api-led-connectivity
- https://www.mulesoft.com/resources/api/types-of-apis
- https://solace.com/blog/publish-subscribe-messaging-pattern/?
- https://blogs.mulesoft.com/dev-guides/augment-api-elements-from-event-driven-architecture
Source link