Intégration d'applications d'entreprise
L'Intégration d'applications d'entreprise ou IAE (en anglais Enterprise Application Integration, EAI) est une architecture informatique intergicielle permettant à des applications hétérogènes de synchroniser leurs données. On la place dans la catégorie des technologies informatiques d'intégration métier (Business Integration). Sa particularité est d'échanger les données en temps réel.
| Sommaire |
Composants
Une plate-forme IAE est construite suivant un schéma standard :
- 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ée 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...).
- Pour garantir la livraison des messages entre les composants on peut utiliser une file d'attente de message.
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.
- L'application A crée un nouvel article dans sa banque 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).
- Un connecteur IAE JDBC (Base de données) scrute cette table toutes les 10 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).
- 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 OM générique reflétant toutes les informations nécessaires à l'entreprise pour représenter un article.
- 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/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 mise à jour des données sont effectuées au fil de l'eau c'est à dire au fur et a mesure des événements des applications sources. Cela réduit les flots de donnée lors des transferts et propose une donnée "à jour" relativement rapidement. 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 petites taille et répartis dans le temp.
- 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 de rajouter 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, seul le connecteur, le mappage ou la collaboration spécifique à l'application doivent être modifiés.
Inconvénients :
- Flux massif : Pour les flux massifs (Ex: MÀJ 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 des nouveaux flux.
l'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 identifier la plupart des données métier de l'entreprise (Ex: Articles, commandes, fournisseurs, clients...) et définir les applications qui en seront maitre. (Ex: 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 de référence fournisseur). Ses données seront représentées dans l'IAE sous forme d'objet métier.
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. (Le service des achats a créé les fournisseurs qui permettront d'identifier les articles utilisé par le service de production qui construira les produits vendus au client par le service des ventes, clients qui 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ée. Utiliser l'IAE pour connecter deux systèmes extrêmement simples serait aussi pertinent que de manipuler une enclume pour extraire une noix de sa coquille.
Il est à noter qu'une nouvelle technologie semble se mettre en place face à l'IAE : l'Enterprise Service Bus.
Produits Commerciaux
Les produits proposés sont :
- Websphere Business Integration (WBI, ancien Crossworlds) d'IBM
- WebLogic Integration de BEA
- webMethods de webMethods
- Business Works de Tibco
- JEEBOP (ancien APILINK) de Wraptor
- ICAN de Seebeyond
