Paper Title (use style: paper title)
Transcription
Paper Title (use style: paper title)
Conceptualisation d’un outil Master Data Management pour une SOA Chafika BENKHEROUROU Brahim BELATTAR Département des Mathématique et d’Informatique Université Kasdi Merbah, Ouargla Route de Ghardaïa, 30000 Ouargla, Algérie [email protected] Département d’Informatique Université Hadj Lakhdar, Batna 05 avenue Chahid Boukhlouf 05000 Batna, Algérie [email protected] Résumé— Les architectures orientées services (SOA) permettent aujourd’hui la réutilisation, l’intégration et le partage des données au sein d’une entreprise. La qualité de données est souvent ignorée lors de l’adoption d’un nouveau projet. Pour résoudre cette problématique, l’utilisation d’un Master Data Management (MDM) est proposée. Le présent article montre l’importance de la qualité de données dans le domaine des MDM et SOA. Nous y aborderons toutes les étapes de planification et de conception d’un outil MDM dans le but de l’implémenter dans une Architecture Orientée Services. Dans un niveau conceptuel, la démarche suivie se base sur l’utilisation d’une couche de services qui permet d’assurer la qualité de donnée. Abstract— Service-Oriented Architectures (SOA) enables now reuse, integration and sharing of data within an enterprise. The quality of data is often ignored when the adoption of a new project. To solve this problem, the use of a Master Data Management (MDM) is proposed. This article shows the importance of data quality in the field of MDM and SOA. We discuss all stages of planning and designing a MDM tool in order to implement it in a service-oriented architecture. At a conceptual level, the approach is based on the use of a service layer that ensures the quality of data. Mots clés : Données de référence ; Gestion de données de référence ; SOA ; Qualité de données ; Intégration de données ; Talend for MDM ; ESB Keywords: Master Data ; Master Data Management ; SOA; Data quality; Data integration; Talend for MDM; ESB I. INTRODUCTION Une architecture orientée services (SOA) peut offrir plusieurs avantages tels que la réutilisation, la capacité de combiner des services afin de créer de nouvelles applications composites et l’augmentation de l'agilité des systèmes d'information par l'utilisation du même service dans des contextes différents [08]. Un des problèmes les plus courants dans les SOA, est la qualité médiocre des données circulant entre les applications [11]. Ceci est dû au fait que les applications utilisent souvent leurs propres sources de données, les enregistrements sont souvent doublées, inexactes et incomplètes [07]. Le second problème est lié à la complexité de la manipulation des données, puisque celles-ci proviennent généralement de sources de données hétérogènes, telles que des bases de données, fichiers XML, files d'attente, ... [09]. La conséquence est la dispersion et l'incohérence des données à forte pertinence. Si nous voulons une application SOA mature, nous devrions essayer d'éviter ces problèmes à n'importe quel prix. Une solution existe, il s’agit de l’approche Master Data Management (MDM) [01]. La SOA a besoin du MDM pour structurer et uniformiser les données. Le Master Data Management permet de garantir que les informations partagées par la SOA sont réellement précises, complètes et cohérentes, et que la diffusion de l'information à l'intérieur et à l'extérieur de l'entreprise est correcte [01]. C’est pour cette raison qu’une solution MDM apporte un vrai bénéfice. Dans cet article, nous proposons des solutions aux problèmes décrits et les fusionner en un modèle d'architecture complet afin de surmonter les problèmes liés à la mauvaise qualité des données. Notre modèle architectural nécessite l'utilisation d’une couche de services pour le MDM afin d'assurer la qualité des données et l’échange de données unifiées au sein de la SOA. L'article est organisé comme suit : Dans la section 2, nous proposons un bref aperçu sur le Master Data Management. Nous aborderons les bénéfices que cet outil peut apporter aux Architectures Orientées Services. Dans la section 3, nous parlerons de la qualité de données et comment elle joue un rôle important dans l’amélioration des processus d’échange et de circulation des informations dans l’entreprise. Dans la section 4, nous expliquerons notre démarche pour la conception de l’outil MDM. La section 5 présente les différentes étapes de la conception. Dans la section 6, nous décrivons brièvement l’implémentation de l’outil. Dans la section 7, nous donnons la conclusion de notre travail ainsi que les perspectives envisagées. II. BREF APERÇU SUR LE MASTER DATA MANAGEMENT Une donnée de référence ou Master Data est une donnée du système d’information partagée et utilisée sans modification par les applications. Ces données sont les éléments de base de la gestion de toute entreprise [1]. Le MDM [1], [6] est un moyen d’unifier, de gérer, et d’intégrer des données de références à travers le Système d’Information de l’entreprise. Ces données de références peuvent être de différentes natures : Produits, services, offres, tarifs, personnes, clients, fournisseurs, etc. La gestion des données de référence n'est pas nouvelle. En effet, les entreprises utilisent souvent des applications qui gèrent en local leurs données de référence avec des modèles parfois différents et des données incohérentes. On note des saisies multiples et la génération potentielle de doublons entre applications. Les systèmes MDM permettent de disposer d’une « version unique de la vérité » [02]. Les grands fournisseurs de logiciels proposent leurs propres solutions pour la gestion des données de référence. Les produits les plus connus dans ce domaine sont : SAP NetWeaver MDM, Suite Oracle pour le MDM, IBM MDM server, Informatica, Tibco et Teradata [03],[09]. Il existe également des solutions Open Source [04]: Talend MDM, Java CAPS Sun MDM Suite, OpenMDM,etc. En intégrant un MDM dans une SOA, les fonctions suivantes seront assurées [07]: Construire une vision unique et partagée de la donnée ; Intégrer la donnée en provenance de systèmes et sources hétérogènes ; Améliorer la qualité de la donnée de manière continue ; Créer, diffuser et maintenir les métadonnées de données de référence ; Mettre en place une organisation garantissant la qualité des données diffusées; Dans cet article, nous n’allons pas donner une description plus détaillée du MDM. Nous allons simplement expliquer comment le MDM peut être utilisé pour améliorer la qualité des données en SOA. III. LA QUALITÉ DE DONNÉES Indépendamment du choix de l’architecture du déploiement du système MDM, la qualité de données joue un rôle crucial dans la réussite d’un projet. La qualité de donnée doit être maintenue aussi bien lors de sa création que lors de la vie de la donnée de référence. Afin d'améliorer la qualité des données de l'entreprise, nous devons d'abord définir les principales exigences [02]: Unicité : est le fait qu’une entité du monde réel ne soit représentée que par un seul et unique identifiant. La complétude : est la présence de valeurs de données significatives pour un ou des attributs. Dans certains cas, lorsque l'information qui manque est essentielle pour les services, l'exhaustivité devient un problème. Exactitude : Une donnée est « exacte » si la valeur des attributs de l’entité concernée est égale à la grandeur qu’elle est censée représenter dans le monde réel. Conformité : est le respect par celles-ci d’un ensemble de contraintes. Cohérence : est l’absence d’informations conflictuelles avec l’ensemble des données SI. Intégrité : s’assurer que les données n’ont pas subi de modification. La mauvaise qualité des données peut donc engendrer de multiples conséquences néfastes pour le bon fonctionnement de l’entreprise, son économie, son image et son évolution. IV. LA DÉMARCHE À SUIVRE Afin de créer un MDM, quatre peuvent être définis [01]: Référentiel de consolidation ; Référentiel transactionnel; Référentiel de centralisation ; Répertoire virtuel. types d’architecture Toutes ces architectures permettent une maîtrise plus ou moins forte des données au sein du référentiel. En effet, les architectures répertoire virtuel et référentiel de consolidation sont privilégiées lors d’une mise en œuvre rapide d’une solution MDM. Pour le répertoire virtuel la qualité de données est souvent ignorée. La qualité de données doit être résolue dans les systèmes sources. Quant au référentiel de consolidation, la synchronisation des données avec les systèmes sources n'est pas garantie du fait du couplage lâche entre les applications et le référentiel [07]. Le référentiel transactionnel permet la synchronisation des données validées en temps réel pour les systèmes intégrés au référentiel. Cependant, la mise en œuvre de cette architecture est lourde nécessitant une intervention sur les applications métiers sources [05]. Le référentiel de centralisation permet un niveau de gouvernance forte sur les données. Cette architecture privilégie le support des processus de création et de modification des données au sein même du référentiel. Pour une SOA, la nécessité de mettre en temps réel la qualité des données nécessite une architecture qui privilégie une intégration forte avec les applications existantes. Dans notre cas, l’approche du référentiel de centralisation est la mieux tolérée dans le cadre d’une SOA. Elle permet à toutes les données de références d’être localisées dans un seul référentiel. Afin d’assurer la qualité de données, nous proposons d’ajouter une couche de services. Lors de la construction de la couche de services de données, nous voulons être en mesure de présenter des données provenant de sources de données hétérogènes de manière uniforme. La couche de services sera capable de: a) Examiner les données afin que les erreurs possibles soient identifiées et corrigées; b) Permettre la modification manuelle et la correction correspondante ; La structure de la couche de services proposée est composée comme suit : Service Master Data: Ce service se charge de récupérer les données provenant des différentes applications et de centraliser la gestion du cycle de vie complet des données de référence. Ces données seront stockées par la suite dans le MDM. Service qualités de données: Ce service nécessite l’utilisation des algorithmes et des règles de gestion prédéfinies pour le nettoyage et la consolidation des données de référence. L’architecture du modèle proposé est représentée par la figure 1. L’architecture proposée exige que toutes les communications entre les services passent à travers un ESB qui représente la colonne vertébrale de l'architecture. En utilisant l’ESB, nous sommes en mesure de véhiculer les données de référence entre le référentiel MDM et les sources de données [07]. Cette architecture nécessite l’utilisation d’un référentiel MDM avec une couche de services contenant un service pour les Master Data et un autre pour la qualité de données. Les données de référence sont stockées dans le référentiel central, qui représente l’unique point de vérité pour l’entreprise. V. ETAPE DE LA CONCEPTION Une solution MDM peut être créée ou achetée. Elle est créée lorsque les entreprises ont déjà un référentiel de données ou un système dominant qui contient un ensemble important de données de référence partagées par certaines applications. Elle est achetée dans le cas où les entreprises veulent construire rapidement une solution MDM [07]. Dans notre cas, nous voulons créer notre propre solution. Pour cela, nous allons suivre une démarche permettant de mettre le point sur la qualité de données en implémentant le référentiel. Les principales étapes que nous avons suivies pour la création de l’outil MDM sont les suivantes : Figure 2 : Les principales étapes pour la conception d’un MDM Création d’un modèle pour les données de référence : Durant cette étape nous allons identifier et recenser les données importantes pour l’entreprise ainsi que leurs sources. Ensuite, ces données sont regrouper dans un dictionnaire par catégorie : personnes (clients, employés, partenaires etc.), objets (produits, finances, etc.), endroits (localisation géographique, adresses). La méthode envisagée pour faire la collecte des informations c’est l’étude des documents existant, les interviews, etc. 1. Ensuite nous élaborons à d’identification des producteurs et des consommateurs des données de référence au sein de l’entreprise. L’étape suivante consiste à collecter et analyser les Métadonnées de nos données de référence. Cette analyse permet de cerner les problèmes au niveau des données ellesmêmes, afin de prendre les mesures appropriées pour les résoudre. Il est donc d’autant plus important que les enregistrements destinés à être utilisés dans le système MDM correspondent à un certain standard de qualité avant leur intégration. Ensuite, un nettoyage initial sur la base des informations acquises sera établi. Figure 1 : Architecture du modèle proposée Ce travail nécessite la collaboration de plusieurs personnes notamment les consommateurs des Master Data et les responsables de la future plate-forme MDM. 2. Désignation de l’infrastructure : Durant cette étape, nous allons désigner l’architecture sur laquelle nous allons implémenter notre solution. Les différentes applications qui auront accès aux données de références seront mentionnées. Ceci est réalisé dans le but de connaître les applications qui seront connectées à l’ESB pour profiter de la couche des services du MDM. 3. Implémentation et test des Master Data: Cette étape représente un processus interactif qui a besoin de l’intervention humaine afin de vérifier l'exactitude des sources de données [08]. 4. Implémentation de la couche de services : Dans cette étape, il faut tout d’abord vérifier la validité des données. Ceci est réalisé grâce au service de qualité de données implémenté sur cette couche. Toutes les données doivent être vérifiées et, le cas échéant, corrigées et complétées. Une autre tâche à établir peut être aussi la recherche de doublons ainsi que le regroupement et la concaténation des enregistrements identiques ou similaires provenant des diverses sources (par exemple, il serait possible de regrouper les noms et/ou les adresses identiques). Il est également possible de consolider les enregistrements et de les enrichir en y ajoutant des informations supplémentaires. De même, la compilation des enregistrements provenant de différentes sources peut s’effectuer en utilisant des clés uniques. L’efficacité des opérations réalisées dans le cadre de ce contrôle en temps réel joue un rôle crucial. Le service qualité de sonnées permet de procéder à une épuration périodique des données, notamment lorsque des volumes considérables de données sont ajoutés régulièrement au référentiel. Cette opération permet d’atteindre plusieurs objectifs : Identifier les erreurs qui se sont glissées dans le système malgré l’opération de nettoyage déjà faite, soit parce que les règles n’ont pas été observées dans leur ensemble, soit parce que les avertissements ont été ignorés suite à une intervention de l’utilisateur. (p. ex. soupçon de présence de doublons) Les données « vieillissent », par exemple dans le cas de personnes celles-ci peuvent déménager, les codes postaux modifiés et cela souvent sans qu’on avertisse l’entreprise. Le but de cette étape est justement d’éviter qu’un tel scénario ne se produise. VI. IMPLÉMENTATION DE L’OUTIL Pour implémenter notre solution, nous avons utilisé Talend for MDM. Il nous sert de plateforme sur laquelle nous allons implémenter la couche de services. Pour extraire les données de leurs sources, nous optons pour EasyPHP et NetBeans pour la construction de l’interface. Talend for MDM est un logiciel Open source, il nous permet de créer, de configurer et de déployer nos services [10]. Nous avons opté pour la solution open source car les solutions développées en intégralité s’avère souvent trop complexes et difficiles à améliorer et maintenir. L’utilisation de Talend for MDM pour créer notre plate-forme permet de réduire la complexité de mise en place et d’atteindre notre objectif qui est l’implémentation de la couche de services pour améliorer la qualité de données au sein de la SOA. L’utilisation de l’Enterprise Services Bus (ESB) permet de fournir une couche de connectivité flexible pour intégrer de façon fiable et sécurisée les données circulant entre les différentes applications de l’entreprise. VII. CONCLUSION Dans cet article, nous avons identifié les problèmes les plus fréquents, liés à la qualité de données au sein d’une SOA. Notre solution proposée consiste à implémenter un MDM avec une couche de services composée de deux services garantissant la qualité des données de référence de l'entreprise et la fiabilité des données échangées entre les différentes applications de la SOA. Cependant, la démarche proposée est donnée à un niveau conceptuel. L’implémentation de la solution proposée est en cours de développement. Les recherches futures devront inclure la possibilité de tester notre solution dans différentes organisations. Une autre perspective est envisagée dans les prochains travaux. Il s’agit de la création d'un système de contrôle de la performance pour permettre aux utilisateurs de notre outil de mesurer le facteur de la qualité de données. Les utilisateurs peuvent ainsi vérifier les améliorations apportées aux systèmes en se servant d’une série de règles et de paramètres. REFERENCES [1] [2] [3] [4] [5] [6] [7] Franck Régnier-Pécastaing et al, « MDM : Enjeux et méthodes de la gestion des données », Dunod, 2008 David Loshin, « Master Data Management », OMG Press, 2009 Alex Berson, Larry Dubov, « Master Data Management and Custumer Data Integration for a Global Entreprise», McGraw-Hill Companies, 2007 Jérôme Poussineau, « Présentation de trois solutions MDM Open Source», blog.axopen.com/2013/05/presentation-de-trois-solutionsmdm-open-source Allen Dreibelbis, « Enterprise Master Data Management: An SOA approach to managing core information », IBM Press, 2009 Ludovic Menet, « Formalisation d’une approche d’Ingénierie Dirigée par les Modèles appliquée au domaine de la Gestion des Données de Référence », Thèse de doctorat 2010, Université Paris 8 Marcel Krizevnik, Matjaz B. Juric, «Improved SOA Persistence Architectural Model», ACM SIGSOFT Software Engineering Notes, May 2010 Volume 35 Number 3. [8] Anca Andreescu, Marinela Mircea, «Combining Actual Trends in Software Systems for Business Management », International Conference on Computer Systems and Technologies - CompSysTech’08. [9] Xiaoyuan Wang et al., «SMDM: Enhancing EnterpriseWide Master Data Management Using Semantic Web Technologies », 35 th International Conference on Very Large Data bases, Lyon, France, 24 – 28 août, 2009 [10] Talend for MDM, http://fr.talend.com/products/mdm [11] Didier Guyomarc’h, «La SOA sans l’intégration de données, un échec programmé», www.itrmanager.com/articles/94031/soa-integrationdonnees-echec-programme-br-didier-guyomarc-directeur-generalinformatica-france.html