Interopérabilité des logiciels

Évaluation de l'interopérabilité basée sur l'analyse des échanges de messages

Une fois que les systèmes d'information (SI) sont mis en production, ils font le plus souvent partie de réseaux distribués. Si ces systèmes sont capables de partager et d'échanger des informations sans dépendre d'un acteur particulier et sont capables d'utiliser les informations échangées et de fonctionner indépendamment les uns des autres, nous pouvons les qualifier de systèmes interopérables [Chen et al. 2008]. Lorsqu'elle est établie entre des SI communicants, l'interopérabilité assure une augmentation de la productivité et de l'efficacité des processus inter et intra-entreprises.

Dans ce contexte et dans le but d'exploiter pleinement ses architectures d'intégration et de construire des interactions robustes, Berger-Levrault a développé BL-MOM (Middleware orienté message)L'interface de programmation d'applications (API), basée sur la messagerie. Voici quelques-unes de ses caractéristiques :

  • Permet de mettre en place des intergiciels entre les applications BL et avec des applications externes.
  • Basé sur RabbitMQ ( ), l'infrastructure de transport et gère la publication et la réception des messages.
  • L'échange de messages est géré selon le modèle de publication/abonnement en mettant en œuvre le protocole AMQP [Vinoski 2006], ce qui permet aux applications d'être faiblement couplées.
  • Fournit des aides pour faciliter la création de schémas de messages, d'éditeurs, de consommateurs et d'opérations de messagerie utilisant des routages spécifiques.

BL-MOM représente l'infrastructure de base pour la messagerie. Elle met en œuvre des configurations qui garantissent l'isolation des données, la disponibilité des services, la livraison et la persistance des messages. Cependant, la multiplicité des échanges d'interopérabilité des données génère de la complexité et fait apparaître des besoins de contrôle et d'évaluation. De plus :

La maintenance est de plus en plus lourde avec la multiplicité des échanges :

  • Manque de visibilité sur les échanges de données existants
  • Détection de dysfonctionnements non triviaux
  • Certains éléments peuvent varier ou être modifiés au cours des interactions.

Besoin d'éléments de contrôle non offerts par la console RabbitMQ :

  • Les canaux d'acheminement et les messages sont volatiles
  • Manque de fonctionnalités de recherche et de filtrage avancées

Analyse des échanges de données pour l'évaluation des exigences d'interopérabilité

L'évaluation de l'interopérabilité des processus et systèmes d'entreprise permet d'évaluer la capacité à entreprendre des activités communes ou à échanger des données. Plusieurs approches d'évaluation de l'interopérabilité ont été proposées depuis l'émergence du concept d'interopérabilité : modèles de maturité (LISI, LCIM, OIM...), score d'interopérabilité [Ford et al. 2007], degré d'interopérabilité [Daclin et al. 2008] ou exigences d'interopérabilité [Mallek et al. 2012]. Ces dernières localisent les problèmes d'interopérabilité entre les processus collaboratifs et définissent un ensemble d'exigences d'interopérabilité (par exemple, "Les partenaires fournissent des autorisations pour les mises à jour de données", "Les données reçues sont conformes aux données requises"...). Les exigences doivent être vérifiées afin de réaliser l'interopérabilité. Nous proposons d'utiliser un ensemble d'exigences d'interopérabilité des données sélectionnées pour analyser les échanges de données existants, mettre en évidence les problèmes d'interopérabilité et préciser leurs causes potentielles.

Nous estimons qu'une infrastructure telle que BL-MOM, avec son utilisation de RabbitMQ, transmet suffisamment d'informations sur l'architecture et les interactions du réseau. Ainsi, la collecte et l'analyse de ces informations permettent l'évaluation de ces exigences d'interopérabilité.

Analyse et suivi de l'interopérabilité

Nous proposons de vérifier les exigences d'interopérabilité à l'aide d'un ensemble d'indicateurs, de requêtes et de visualisations sur la base des données collectées : nous supervisons et contrôlons RabbitMQ en interrogeant ses services pour collecter des informations provenant de plusieurs sources :

  • Traces de messages fournies par le plug-in de traçage RabbitMQ ; elles sont remplacées par des éléments commerciaux contextuels sur les caractéristiques des applications communicantes fournies par BL-MOM.
  • Historique des événements de création et de suppression des ressources RabbitMQ, fourni par le plug-in RabbitMQ Event Exchange.
  • Configuration actuelle du courtier auditée par l'utilisation de l'API de gestion REST de RabbitMQ.

Nous utilisons Moose ( ), un logiciel open source basé sur Smalltalk et une plateforme d'analyse de données [Ducasse et al. 2005] pour implémenter : le métamodèle de messagerie, les consommateurs et les importateurs pour le remplir et les indicateurs, requêtes et visualisations liés à l'interopérabilité des données.

Ci-dessous un exemple de visualisation de données avec des indicateurs. Elle permet d'avoir une vision globale de la structure de l'architecture de messagerie et des chemins de messages entrepris. Il :

  • Assure la présence et l'activité des éditeurs et des consommateurs et les interactions attendues entre eux. Cela permet de vérifier l'exigence : "Les données sont échangées entre les partenaires".
  • Assure l'exactitude des abonnements et l'absence de fuites de données. Cela permet de vérifier l'exigence : " Les données échangées ne sont accessibles que par les entités autorisées ".

Plus ...

Retour en haut