Le mot "Architecture" est également très à la mode ces temps-ci. Quels sont les points importants à connaître pour mettre en place une architecture cohérente pour votre solution d'intégration ? |
|
Par "solution d'intégration" nous désignons un logiciel qui prend en charge le dialogue inter-applications. Ces plates-formes jouent en quelque sorte le rôle d'ilotier du système d'information. Sans elles, quand les applications d'une entreprise sont nombreuses et doivent échanger beaucoup de données, c'est "l'effet spaghetti" assuré : les applications se parlent en face à face (on dit encore en "point à point") via des interfaces qui doivent être paramétrées et maintenues une à une... Or, dans la vie d'une grande entreprise, les occasions d'arriver à cet "effet spaghetti" sont de plus en plus nombreuses: que l'on parle gestion de la relation client, optimisation de la chaîne logistique ou encore échanges de données avec les fournisseurs, il s'agit bien souvent de faire parler entre elles des applications qui n'ont pas été conçues pour cela à l'origine. D'où le besoin de déployer dans l'entreprise un logiciel qui va permettre d'industrialiser et de rationaliser ces échanges d'informations.
Une plate-forme d'intégration remplit ce rôle en assumant quatre types de fonctions :
Routage | Autrement dit, en fonction d'événements préalablement
définis, un logiciel d'Intégration récupère les données d'une application, puis
les "route" vers leur destination (une autre application), non sans les
avoir préalablement converties dans un format adéquat. A cette fin, il met
en œuvre : - un serveur d'intégration qui comprend un moteur de règles et un gestionnaire de messages (pour le routage et la transformation) - des connecteurs (pour dialoguer avec les applications) - et un MOM (middleware orienté messages) pour transporter les messages. Quasiment tous les fournisseurs d'Intégration disposent de leur propre MOM même si la plupart du temps les plates-formes d'Intégration sont déployées sur des MOM déjà installés dans l'entreprise. |
Transformation | |
Connecteurs (aux applications) | |
Transport |
Une plate-forme d'Intégration couvre ces quatre étapes. Par comparaison, un logiciel d'ETL peut extraire et appliquer des transformations à des données, mais n'est nullement conçu pour appliquer des règles de routage complexes. Cela dit, un outil d'ETL peut répondre, dans une certaine mesure, à des besoins d'échanges de données, d'où la confusion.
La gestion des processus métiers (BPM, pour Business Process Management) prolonge assez naturellement les quatre fonctions de l'Intégration. Le BPM ajoute une couche d'abstraction où l'information manipulée n'est plus une donnée ou un flux technique d'une application vers une autre mais un processus métier. A travers le logiciel de BPM, un architecte métier défini un processus (par exemple le circuit de validation des informations concernant un nouveau client) qui sera traduit en flux techniques, lesquels sont transmis au serveur d'intégration à des fins de paramétrage. Dans la réalité, ce n'est pas vraiment une surprise, tout n'est pas aussi transparent et automatique. Passer les informations du BPM au serveur d'intégration demande des interventions humaines pour, au minimum, finaliser le paramétrage technique.
Avec l'ouverture croissante du système d'information aux partenaires et clients, les éditeurs d'Intégration ont naturellement étendu le champ d'action de leurs plates-formes à l'intégration B to B. A cette fin, beaucoup de ces éditeurs ont rendu leur plate-forme capable d'interpréter les sémantiques définis par des consortiums tels que RosettaNet. Dans le domaine de l'intégration B to B, deux grandes écoles cohabitent:
Ce débat ne doit toutefois pas trop monopolisé votre attention. Au moins dans un premier temps. Les points de différenciation critiques des offres d'Itégration sont plutôt à chercher du côté des modèles d'architecture qu'elles implémentent.
Au moins deux modèles peuvent correspondre à notre besoin : Le "Hub and spoke" et le 'Network Centric".
Les autres points de différenciation des offres :
Ces points de différenciation permettent de comparer les outils du marché.
L'étape suivante une fois son type d'architecture trouvé est de structurer les accès aux applications de votre système d'information.
Suivant les caractéristiques des accès aux différents modules, vous pouvez avoir besoin d'atteindre différents objectifs : Sécurité, filtrage, isolation, robustesse, etc. Le schéma suivant détaille une technique d'accès aux données répondant à toutes ces contraintes :
Les objectifs recherchés | |||
Ses contraintes | La solution | Le contrat de service | |
Le filtrage |
Des extractions complexes pour chaque application Un filtrage en constant évolution |
Un module unique de filtrage, regroupant tous les besoins Flexible et adaptable, car en constante évolution |
Surveiller la stratégie des données exportés Le recensement |
Le Positionnement du partenaire |
Des partenaires de plus en plus nombreux Des positionnements techniques et technologiques différents |
Un axe de positionnement du partenaire | Offrir une intégration de différents niveaux Différencier chaque partenaire et les regrouper par positionnement identique |
Les différents contrats de service |
Différents rythmes de fonctionnement Différents formats d'échanges Différentes technologies |
Des stockages temporaires pour cumuler les modifications Un moteur d'intégration |
Garantir une liberté de continuité de service |
Conserver l'existant |
Un très grand nombre d'applications existantes Interne ou externes Une mise en place progressive |
Des API reprenant exactement le format de celles existantes Un moteur d'intégration |
Réutiliser les applications existantes Garantir un retour arrière |
La sécurité |
Ne pas propager les données stratégiques Ne pas rendre notre informatique interne vulnérable |
L'utilisation d'un module de filtrage Travailler avec une extraction du SIO La remonté d'information se fait par validation ( humaine ou automatique ) |
Garantir la sécurité du réseau interne |
La robustesse |
Ne pas pénaliser le cite centrale Avoir une solution fiable |
Une seule extraction Chaque partenaire possède ensuite un module de sélection Une architecture simple |
Garantir la robustesse de la solution |
L'isolation |
Ne pas avoir d'accès direct au réseau interne Identifier les données maître ou esclaves |
Passer par une base d'extraction | Garantir l'isolation de la solution |
Voici l'implémentation correspondant à ces objectifs :
L'architecture d'une solution d'intégration ne se limite pas au produit en lui-même. Il faut bien étudier l'architecture entourant votre Intégration et définir des règles à suivrent impérativement pour éviter d'aboutir à des situations absurdes et de véritables imbroglios.
Un moteur d'intégration ne vous permettra pas d'avoir une boîte "fourre-tout" dans laquelle on ne maîtrise pas ce qui se passe. Un moteur d'Intégration va, au contraire, vous obliger à décrire et structurer vos échanges.
Vous avez maintenant à traiter deux autres sujets avant de passer à la partie, dite "Cyclique" commencant par la gestion du référentiel :