Accueil🇫🇷Chercher

Intégration d'applications d'entreprise

L'intégration d'applications d'entreprise ou IAE (en anglais enterprise application integration, EAI) est une architecture intergicielle permettant à des applications hétérogènes de gérer leurs échanges. On la place dans la catégorie des technologies informatiques d'intégration métier (business integration) et d'urbanisation. Sa particularité est d'échanger les données en pseudo temps réel.

Par extension, l'abréviation EAI désigne un système informatique permettant de réaliser cette architecture en implémentant les flux interapplicatifs du système d'information.

Composants

Une plate-forme IAE est composée de plusieurs éléments :

  • Des connecteurs servent d'interface entre l'IAE et les applications. Ils scrutent les Ă©vĂ©nements de l'application et transmettent les donnĂ©es associĂ©es vers l'IAE (ou fournissent Ă  l'application les donnĂ©es provenant de l'IAE). Ces donnĂ©es sont appelĂ©es objets de mĂ©tier spĂ©cifiques (OMS; en anglais, application specific business objects ASBO) car elles reflètent les donnĂ©es de l'application (nom du champ, format...).
  • Les OMS en provenance des (ou dirigĂ©s vers les) connecteurs passent par une opĂ©ration de mise en correspondance ou mappage (mapping) pour transformer les donnĂ©es spĂ©cifiques aux applications (OMS) en donnĂ©es standards Ă  l'IAE : les OM (objets de mĂ©tier; en anglais, business objects BO).
  • Les OM reflètent alors le modèle de donnĂ©es global des informations des diffĂ©rents processus de l'entreprise. Ils sont alors transmis Ă  des traitements appelĂ©s collaborations qui reflètent la logique de traitement Ă  appliquer sur un OM avant de le transmettre Ă  une application cible (complĂ©ter les infos par recherche dans une autre application, vĂ©rification de la validitĂ© du processus mĂ©tier...).
  • Une couche de transport : il s'agit de la couche qui sert Ă  acheminer les donnĂ©es entre les applications. Cette couche peut ĂŞtre implĂ©mentĂ©e par Ă©change de fichiers (par exemple en utilisant FTP), par Ă©change de message (par exemple en utilisant un MOM, JMS ou Jabber/XMPP) ou encore par appel de services (par exemple en utilisant SOAP sur HTTP).

Exemple de fonctionnement

Pour comprendre le fonctionnement, on peut présenter l'exemple suivant : Une application A de gestion de commande crée un nouvel article (une pompe) et elle veut le rendre disponible à une application B qui suit les anomalies techniques de cet article et à une application C qui affiche l'article sur un portail Web.

  1. L'application A crée un nouvel article dans sa base de données. Un traitement automatique (trigger) capture cet événement et l'archive dans une table d'événement avec la donnée associée (nouvel article).
  2. Un connecteur IAE JDBC (base de données) scrute cette table toutes les dix secondes et découvre ce nouvel événement. Il récupère alors la donnée associée et la copie dans un OMS en lui associant un verbe (création).
  3. L'OMS passe alors dans une phase de mise en correspondance pour convertir les données du nouvel article (spécifiques à l'application A) en un Objet Métier générique reflétant toutes les informations nécessaires à l'entreprise pour représenter un article.
  4. L'Objet Métier Article est attendu (enregistré) par deux collaborations (C1 et C2). La première récupère l'OM, analyse le verbe (création) et envoie l'OM en création vers l'application B (Cet OM est remis en correspondance pour obtenir un article OMS destiné à B et est traité par le connecteur de B qui effectue la création). Dans le même temps, la deuxième Collaboration C2 récupère l'OM original et l'envoie en création vers l'application C (mappage, connecteur C).

Avantages et inconvénients

Avantages :

  • Flux centralisĂ©s : avant l'arrivĂ©e de l'IAE, les entreprises devaient dĂ©velopper des interfaces spĂ©cifiques Ă  chaque application et les connecter point Ă  point. Il en rĂ©sultait un rĂ©seau complexe (plat de spaghetti) de flux, difficile Ă  maintenir et Ă  faire Ă©voluer. Maintenant, toutes les interfaces IAE convergent vers un serveur central (concentrateur, en anglais : hub) qui traite et redistribue les flux vers les applications enregistrĂ©es.
  • Flux traitĂ©s « au fil de l'eau » : les mises Ă  jour des donnĂ©es sont effectuĂ©es au fil de l'eau, c'est-Ă -dire au fur et Ă  mesure des Ă©vĂ©nements des applications sources. Cela rĂ©duit les flots de donnĂ©es lors des transferts et propose une donnĂ©e « Ă  jour » peu de temps après son Ă©ventuelle modification. Cela rĂ©duit aussi la perte de performance des applications due Ă  l'extraction ou la mise Ă  jour des donnĂ©es car on ne traite que des flots de petite taille et rĂ©partis dans le temps.
  • Flux rĂ©utilisable : si une nouvelle application veut accĂ©der aux OM dĂ©jĂ  prĂ©sents dans l'IAE, toute la logique de rĂ©cupĂ©ration n'est plus Ă  dĂ©velopper. En thĂ©orie elle n'a besoin d'ajouter au concentrateur IAE que sa collaboration (si elle a besoin d'un traitement spĂ©cifique), ses OMS, ses mappings et son connecteur.
  • CoĂ»t de migration des interfaces : lors du changement d'une des applications interfacĂ©es (migration, changement de produit), peu de modifications sont nĂ©cessaires. Seuls le connecteur, le mappage ou la collaboration spĂ©cifique Ă  l'application doivent ĂŞtre modifiĂ©s.

Inconvénients :

  • Flux massif : pour les flux massifs (par exemple : mise Ă  jour de 10 000 articles en mĂŞme temps), la logique du traitement unitaire de l'information est très lente. On prĂ©fèrera plutĂ´t une solution ETL.
  • CoĂ»t initial : le coĂ»t de mise en place de l'infrastructure est assez Ă©levĂ©. Mais il se rĂ©duit grandement au fur et Ă  mesure de l'ajout de nouveaux flux.
  • Resynchronisation des bases : Ă  la suite d'un incident (bug applicatif, erreur d'exploitation, endommagement de disque, ...), ou encore de l'enrichissement des structures de donnĂ©es, il faut resynchroniser les bases oĂą les donnĂ©es sont copiĂ©es avec celles oĂą les donnĂ©es sont en rĂ©fĂ©rence. Ce phĂ©nomène est malheureusement quasi certain, et mĂŞme assez frĂ©quent. Une procĂ©dure spĂ©ciale de resynchronisation est gĂ©nĂ©ralement nĂ©cessaire. Elle travaille sur des donnĂ©es statiques pouvant ĂŞtre volumineuses et non plus sur des Ă©vĂ©nements. Une Ă©tude fonctionnelle est impĂ©rative. Il faut souvent ajouter des donnĂ©es de resynchronisation dans les bases (identifiant de rapprochement, date-heure de dernière mise Ă  jour…). De fait, il faut doubler l'IAE de fonctionnalitĂ©s plus proches de celles d'un ETL. Avant de proposer une mise Ă  jour au fil de l'eau, il convient de commencer par Ă©tudier la procĂ©dure de resynchronisation. Il est frĂ©quent qu'elle suffise Ă  rĂ©pondre au besoin. Sinon le gĂ©nie de l'architecte doit s'exprimer pour trouver une solution modulaire et Ă©viter la redondance des règles mĂ©tier entre les deux outils. Il est souvent suffisant de rĂ©pliquer par exemple toutes les quatre heures les donnĂ©es modifiĂ©es les cinq derniers jours. La pĂ©riode de cinq jours limite le volume. Le recouvrement de pĂ©riode permet, lorsque la procĂ©dure tombe en erreur ou lorsque la base source est restaurĂ©e ou rĂ©parĂ©e, de rĂ©tablir automatiquement la cohĂ©rence lors du passage suivant. La mĂŞme procĂ©dure est utilisĂ©e pour rĂ©aligner l'intĂ©gralitĂ© des donnĂ©es en jouant sur la pĂ©riode. Ainsi, les règles de rĂ©plication sont toutes dans le mĂŞme outil.

IAE dans l'entreprise

La mise en place d'un IAE nécessite une volonté d'unification de l'intégration des systèmes d'information de l'entreprise. Une phase d'étude d'urbanisation va permettre de :

  • identifier la plupart des donnĂ©es mĂ©tier de l'entreprise (par exemple, articles, commandes, fournisseurs, clients...)
  • dĂ©finir les applications qui en seront maĂ®tres, par exemple :
    • L'application de gestion des fournisseurs sera maĂ®tre des donnĂ©es fournisseur.
    • Elle pourra les diffuser via l'IAE aux autres applications, qui pourront s'en servir comme donnĂ©es fournisseur de rĂ©fĂ©rence.

Ces données seront représentées dans l'IAE sous forme d'objet métier (OM).

On pourra alors construire des flux d'information métiers unifiés par lesquels chaque application spécifique peut partager ses informations avec les autres au sein d'une étape de l'organisation de l'entreprise.

Par exemple :

  • Le service des achats a crĂ©Ă© les fournisseurs qui permettront d'identifier les articles utilisĂ©s par le service de production.
  • Ce service de production construira les produits vendus aux clients par le service des ventes.
  • Lesdits clients seront suivis par le service après vente...

L'IAE n'apparaît comme une solution d'intégration pertinente qu'au sein d'une infrastructure complexe d'échange de données. Utiliser l'IAE pour connecter deux systèmes extrêmement simples serait aussi pertinent que manipuler une enclume pour extraire une noix de sa coquille.

On note qu'une nouvelle technologie semble se mettre en place face Ă  l'IAE : l'enterprise service bus (ESB).

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.