Des applications émergentes telles que l'administration en ligne, la formation en ligne, les bibliothèques électroniques... nécessitent l’accès à diverses sources d’information. Ces dernières sont généralement hétérogènes, que ce soit au niveau syntaxique ou sémantique. En effet, des conflits sémantiques surviennent puisque les systèmes n’utilisent pas la même interprétation de l’information qui est définie différemment d’une organisation à l’autre. Dans ce contexte, les systèmes d’informations (SI), conçus et développés par des organisations différentes, constituent généralement des sources de données autonomes et hétérogènes. De ce fait, l’interopérabilité entre ces systèmes d’information est complexe puisque les applications doivent être adaptées pour pouvoir déterminer, pour chaque requête, les sources de données pertinentes, la syntaxe requise pour l’interrogation, la terminologie propre à la source, et pour pouvoir combiner les fragments de résultats issus de chaque source en vue de construire le résultat final.
Intégration de composant Définition L’évolution et l’urbanisation des systèmes d’information, des logiciels, et des applications dans différents domaines, tels que l’industrie, fait appel à l’intégration. Les entreprises doivent s’adapter en permanence, en adaptant le système d’information et les applications logicielles, et être de plus en plus réactives aux variations des marchés telles que les fusions, les acquisitions, les scissions, les diversifications d'offres commerciales, les changements technologiques. L’intégration est un processus qui permet de connecter les différents systèmes d’information, logiciels et applications physiquement ou fonctionnellement, dans le but d’agir comme une entité uniqueGilkey, Herbert T (1960), "New Air Heating Methods", New methods of heating buildings: a research correlation conference conducted by the Building Research Institute, Division of Engineering and Industrial Research, as one of the programs of the BRI fall conferences, November 1959., Washington: National Research Council (U.S.). Building Research Institute, , OCLC 184031.. Dans le domaine des technologies de l'information, l’intégration est le processus qui rassemble les composants sous-systèmes dans un système, et qui veille à assurer le fonctionnement des sous-systèmes tous ensemble comme un seul systèmeCIS 8020 – Systems Integration, Georgia State University OECD. Face à la complexité des nouveaux systèmes mis en place, l’intégration des systèmes rentre dans une dimension supérieure et devient essentielle dans la phase de conception et de réalisation de systèmes, dans le but de fournir aux utilisateurs un système répondant à leurs critères, et disposant de tous les services requis pour le bon fonctionnement ainsi que la maintenance du système.
Principes de l’Intégration de systèmes
Les principes de l’intégration des systèmes sont multiples. Elle permet de : Faciliter l’intégration de nouveaux systèmes. Mettre en place de systèmes flexibles et évolutifs permettant de s’adapter à de nouvelles exigences. Réaliser des systèmes pouvant interagir avec les systèmes déjà existants. Faire interagir des systèmes existants entre eux. Résoudre les problèmes d’adaptabilité de systèmes hétérogènes en : Améliorant les applications et en les rendant complémentaires. Adaptant et optimisant le partage de données entre les systèmes. Adaptant les outils technologiques utilisésLes concepts de l ’ingénierie et de l ’intégration des systèmes Systèmes et processus d ’Ingénierie Systèmes Yann Pollet, http://jfod.cnam.fr/NSY208/Introduction_integration_des_systemes.pdf. Le défi de l’intégration Le système d’information est construit avec une architecture en couches : la couche métier, la couche application et la couche technologique. Un bon système d’information garantit une forte coopération entre ces couches. Or, L’adoption d’une nouvelle approche, méthode, composant ou nouvelle source d’information n’est pas aussi simple à intégrer ou à connecter au système d’information tout en assurant un haut niveau de coopération entre les couches. Et ce à cause des problèmes causés par : l’hétérogénéité, la distribution des ressources, et aussi le niveau d’autonomie de sous-systèmes. Niveaux d'intégration de composant Il existe différentes formes et méthodes d’intégration : vignette|Integration verticale d'un sous-système au sein de l'entreprise L’intégration verticale, qui consiste à prendre le contrôle de plusieurs niveaux de systèmes d’information. Par exemple prendre le contrôle d’un système et de son sous-système. C'est un type d’intégration visant à diminuer les échanges avec les tiers pour des raisons spécifiques (Confidentialité, la peur de voir son système d’information menacé par un système extériorisé défaillant). L’intégration horizontale : c’est l’intégration des systèmes qui supportent un type différent de fonctionnalité du métier.C'est une méthode d'intégration dans laquelle un sous-système spécialisé est consacré à la communication entre d'autres sous-systèmes. Ceci permet de couper le nombre de connexions des interfaces à seulement un par sous-système qui connectera directement à l'ESB. L'ESB est capable de traduire l'interface dans une autre interface. Avec des systèmes intégrés utilisant cette méthode, il est possible non seulement de remplacer complètement un sous-système par un autre sous-système qui fournit une fonctionnalité semblable, mais également d'exporter des interfaces différentes ; et tout ceci de manière complètement transparente pour le reste des sous-systèmes.
Typologie d’intégration de composant Intégration par les données vignette|Data integration: enjeux L'intégration des données (Data integration en anglais) permet d’utiliser les données manipulées par un système aux bénéfices d’autres systèmes. Elle s'effectue à l’aide des technologies pouvant être utilisées comme format standard d'échange de donnée, à l'instar du XML. L’intégration de données impose les exigences suivantes lors de l’intégration : La méthode d’accès : décrit comment des applications peuvent accéder aux données d’autres applications. Le protocole d’échange : spécifie le format sous lequel les données sont valables à être utilisées. Parfois il faut changer le format de données de la source pour répondre aux critères du système intégrateur. La transformation : il s'agit de la transformation subites par les données au cours de l'intégration. L'intégration par les données permet donc un accès uniforme à des sources multiples, autonomes, hétérogènes et structurées (ou semi-structurées)Architectures d'intégration de données, Dan VODISLAV, Université de Cergy-Pontoise Master Informatique M1 Cours IED https://depinfo.u-cergy.fr/~vodislav/Master/IED/fichiers/integration.pdf . Intégration par interface vignette|Integration par inteface L’intégration par interface permet aux applications de fonctionner tous ensemble comme si elles étaient développées comme une seule application, mais par l’intégration de leurs interfaces et moyen de représentation et pas par les applications en elles-mêmes ou leurs données. Cette intégration consiste à écrire des programmes qui manipulent les interfaces et extraire leurs données pour les visualiser dans une seule interface. Néanmoins, l’utilisation de cette intégration reste limitée aux circonstances où le système n’a pas un accès facile, ou direct aux données à travers l’intégration par les données. Un exemple de ce type d'intégration est l’intégration par interface utilisée dans les sites web pour géolocaliser une cible, grâce à l’API Google Maps. Intégration par messages Cette intégration assure une connexion des applications à un système d’échange des messages. Afin de déclencher des fonctionnalités, ou bien d’échanger des informationsEnterprise Integration Patterns, The Apache Software Foundation, http://camel.apache.org/enterprise-integration-patterns.html. Le couplage des applications se fait en communiquant à travers les messages et d’une manière asynchrone. Les bases du "messaging" sont : La chaine de communication qui transfère les messages entre les applications. En fait, la chaine de messagerie choisie dépend de type de messages et aussi de son application réceptrice. Il ne suffit pas de déposer le message dans le système de messagerie. Le message : c’est le paquet des données à envoyer par l’application 1 et recevoir par l’application 2 après l’extraction des instructions ou d’informations. Adaptation avant l’envoi : transformation du format de message, si l’application réceptrice n’accepte que d’autres types de messages.Routage : un système de routage veille à envoyer les messages dans les chaines adéquates et dans la bonne direction jusque son arrivée au récepteur. Message "Endpoint" : le bout de code capable de mettre une commande ou des données dans un message et les envoyer. Et aussi recevoir un message, en extraire le contenu, le traduire et le présenter à l’application d’une manière compréhensible. Intégration par composant métier vignette|L’intégration par composant métier L’ajout d’un composant métier qui offre des fonctionnalités intéressantes peut paraître nécessaire au cours de la conception d’un logiciel ou d’un système d’information, ou encore au cours de l’évolution de systèmes existants. L’intégration de composants métiers fait référence à l’intégration de composants récupérables comme des off-the-shelf-products. Ce type de composants a plusieurs avantages : Composant à bas coûts, ou gratuit. Un bon rapport qualité/prix/délais. Simple à maintenir. Cependant, les off-the-shelf-products incluent différentes contraintes dont : La nécessité du respect des normes ISO de l’interopérabilité par exemple. Ils sont écrits dans des langages différents de ceux utilisés par les traditionnels systèmes d’informations. Ce qui peut pousser des entreprises à abandonner certaines décisions à cause de cette hétérogénéité. Ils utilisent des différents types de données. Afin de surmonter ces problèmes, l’intégration par composant métier se sert d’un intergiciel (en anglais ). C’est un outil qui se place entre plusieurs applications informatiques pour leur permettre l'interopérabilité pour communiquer entre elles. Un middleware va ainsi permettre d'intégrer des composants dans un système plus global. Il existe trois (3) niveaux d'intégration implémentés par les middlewares : l'intégration de données, qui consiste à transmettre des données entre des composants informatiques stockant des données brutes (base de données, datawharehouse…), l'intégration applicative, qui consiste à transmettre des messages entre applications (CRM, ERP, WMS, e-commerce…), l'intégration de processus, qui consiste à définir les flux opérationnels (processus métiers).
Interopérabilité L'interopérabilité décrit la mesure dans laquelle des systèmes et des dispositifs peuvent échanger des données entre eux, et interpréter ces données échangées. Ainsi, pour que deux systèmes soient interopérables, ils doivent être capables d’échanger des données, puis de les restituer par la suite de manière compréhensible pour un utilisateur. Définition et usages Une définition large prenant en compte les facteurs sociaux, politiques et organisationnelles ayant un impact sur la performance des systèmes stipule que l’interopérabilité consiste à : construire des services cohérents pour des utilisateurs quand les composants individuels sont techniquement différents et gérés par des organisations différentesWillium y Arms 2000(afifa iqbal) Il convient également de distinguer entre interopérabilité et compatibilité. La compatibilité est la possibilité pour deux systèmes de types différents de communiquer ensemble. Ainsi, lorsqu'un acteur devient dominant dans un domaine, les autres acteurs font en sorte d'être compatibles avec lui. L'ensemble des systèmes peuvent alors à peu près communiquer ensemble.