Expertises et services

Fiabiliser les interfaces System-to-System avec BC online : la solution innovante via Azure

Christophe COURVOISIER20/09/2023

Temps de lecture : 5 min | Accéder à la version anglaise de l'article

Dans le monde de l'entreprise moderne, la communication entre les systèmes d'information joue un rôle essentiel en assurant des flux de données cohérents et fiables. Toutefois, l'interface entre différents logiciels peut présenter des défis, tels que des pertes de messages, des erreurs et des difficultés à gérer la régulation de la charge (ou throttling*) dans les environnements SaaS. Les logiciels métiers ne sont en général pas équipés et pas destinés à faire face à ce genre de défis.

C'est dans ce contexte que Microsoft Azure offre la possibilité de construire des solutions robustes et flexibles. En tant qu'expert Business Central et Azure, j'ai déployé une série d'outils Azure pour renforcer la fiabilité d’une interface API entre un logiciel tiers et Business Central online (ou BC SaaS).

Structure globale de la solution

L'architecture de la solution repose sur une série d'outils Azure interconnectés qui travaillent ensemble pour renforcer la fiabilité et la robustesse du système. Ces outils incluent :

Azure API Management pour gérer et sécuriser l'accès aux APIs
Azure LogicApp pour orchestrer et automatiser les flux de travail
Azure Service Bus pour assurer un échange de messages fiable entre les applications
Azure Application Insights pour surveiller la performance de l'application en temps réel

L'intégration harmonieuse de ces outils assure la fluidité du flux de données et évite les pertes de messages. Cela permet de faire face au throttling, de gérer des erreurs et d’améliorer les capacités de surveillance du système via des outils de monitoring.

1. Le déploiement d'Azure API Management

L'API Management d'Azure est utilisée pour créer une passerelle unifiée pour le trafic de données. Cet outil assure que toutes les APIs sont gérées de manière centralisée et sécurisée, ce qui facilite leur administration. API Management offre également une protection contre les attaques par déni de service (DDoS) et une sécurité d’accès via le protocole Oauth.

2. L'utilisation de Logic App

Logic App est utilisé pour concevoir des workflows automatisés sans nécessité de codage. Il permet de gérer et d'orchestrer les flux de travail entre le logiciel tiers et Business Central online, avec une garantie de livraison des messages, une gestion d'erreur et de la résilience face au throttling des environnements SaaS.

3. Le rôle du Service Bus

Le Service Bus d'Azure joue un rôle essentiel dans cette mise en œuvre en agissant comme un messager fiable entre les applications. Il garantit la livraison de messages même en cas de défaillance temporaire d'une des applications, évitant ainsi toute perte de données.

Le Service Bus utilise un système de "queues" (files d'attente) et de "sessions" pour organiser les messages. Les "queues" fournissent une communication unidirectionnelle, tandis que les "sessions" permettent un ordre de messages garanti et la livraison de messages groupés, ajoutant une couche supplémentaire de fiabilité.

4. Application Insights pour le monitoring

Application Insights permet une surveillance en temps réel de la performance et de l'utilisation de cet ensemble de briques applicatives. Cet outil facilite la détection rapide des problèmes via des alertes, et fournit des informations détaillées pour faciliter le dépannage.

Ce type de solution offre de nombreux avantages :

  • Fiabilité accrue : Grâce à l'utilisation combinée de ces outils Azure, le système assure une livraison fiable des messages, sans perte de données, même en cas de défaillance d'une application.
  • Résilience face au throttling : Grâce à Logic App, le système est capable de gérer efficacement les pics de trafic via des systèmes de renvoi de message avec des délais incrémentaux. Cela permet de contourner les problèmes de throttling dans les environnements SaaS.
  • Meilleur suivi : Avec Application Insights, le suivi en temps réel de l'état du système, la détection rapide des problèmes et le dépannage sont facilités.

En somme, cette architecture basée sur Azure permet de renforcer considérablement la fiabilité d’une interface system-to-system entre le logiciel tiers et Business Central online, aboutissant à une solution robuste et fiable. Cette mise en œuvre illustre parfaitement comment la technologie Microsoft Azure peut être utilisée pour optimiser l'intégration des systèmes d'information et améliorer la gestion de l'entreprise.

*Throttling : Il s'agit d'une méthode de régulation de la charge, où le nombre de requêtes qu'un utilisateur peut envoyer à un service en un certain temps est limité. C'est une mesure essentielle pour assurer la stabilité et la performance des systèmes en évitant la surcharge.

Partager l'article

Contact us
Christophe Courvoisier
Author:
Christophe COURVOISIER
International Project Manager and Team Leader Microsoft Dynamics