L'architecture

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 ?
Plan
1 - La base - Le spaghettiware
2 - Les modèles d'architectures
3 - Le découpage de son système d'information
Conclusion

1 - La base - Le spaghettiware

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.

2 - Les modèles d'architecture

Au moins deux modèles peuvent correspondre à notre besoin : Le "Hub and spoke" et le 'Network Centric".

Une différence pas uniquement technique
L'une de ces architectures n'est pas fondamentalement meilleure que l'autre. Une étude au cas par cas s'avère nécessaire pour les départager. D'autant que cette dichotomie technique a des conséquences tarifaires. Une plate-forme de type "Network Centric" est facturée en premier lieu en fonction du nombre de nœuds; résultat, vous devez d'embler payer pour le périmètre des applications que vous souhaitez couvrir. En revanche, avec le modèle "hub and spoke", vous avez la possibilité de n'utiliser qu'un seul hub dans un premier temps pour couvrir un large éventail d'applications. Autrement dit, l'architecture "hub and spoke" donne plus de souplesse que sa concurrente pour acheter des hubs au fur et à mesure de la montée en charge. Le détail n'est pas anodin : c'est l'une des explications de la percée d'un webMethods, digne représentant de l'architecture "Hub and spoke".
Les plates-formes d'Intégration
Classées par architecture
"Network Centric" "Hub and spoke"
Seebeyond webMethods
Sun (iPlanet) Sybase-NEON
Tibco BEA
IBM Vitria
Mercator

Les autres points de différenciation des offres :

Ces points de différenciation permettent de comparer les outils du marché.

3 - Le découpage de son système d'information

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

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
L'implémentation

Voici l'implémentation correspondant à ces objectifs :

Conclusion

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 :