March 26
SOA : il nous faut une définition !
On m’interroge régulièrement sur la définition du SOA. Comment en quelques phrases peut-on fixer ce concept ?
Selon moi…
Tout d’abord, SOA n’est pas :
- Une nouvelle approche. Les premières initiatives remontent au moins à la conception par contrat avec Bertrand Meyer au milieu des années 80. Au début des années 90, les modèles d’architecture applicative SAA d’IBM ont contribué à étendre le concept de service principalement à l’intérieur des frontières du SI.
- Une technologie. Par conséquent, elle est détachée des web services.
- Une approche pour l’intégration de systèmes. En effet, l’intégration renvoie à un déploiement point à point qui fige la relation Fournisseur (de services) et Consommateur.
- Une approche qui se substitue au travail d’urbanisation fonctionnelle.
A l’inverse SOA, c’est :
- Un style d’architecture applicative (ou logique) qui organise le système d’information en strates (canal d’accès, organisationnel, métier), dans le respect des principes du couplage faible (îlots de services) et d’exécution stateless (services sans mémoire).
- Une approche pour la contextualisation de systèmes. C’est ici que l’on abandonne le modèle point à point d’intégration pour la construction de services dont les comportements s’adaptent selon les contextes hétérogènes d’exécution. La gestion de la contextualisation (contextAware) assure la bascule du SI vers une orientation multi-points qui forme le véritable enjeu du style d’architecture SOA (voir aussi http://www.orchestranetworks.com/fr/soa/variantessoa.cfm).
- Un pont entre le travail d’urbanisation fonctionnelle et la modélisation opérationnelle des systèmes. SOA permet de combler une partie des critiques qui portent sur l’urbanisation.
La contextualisation induite par le SOA ne se limite pas à un style d’architecture du SI.
Elle impacte de plein fouet l’exercice d’expression des besoins par les MOA et le choix des outils de pilotage des services. C’est ici que le MDM (Master Data Management) se place au même niveau que la BI (Business Intelligence). Le premier permet aux utilisateurs d’agir sur la valorisation des données de référence des services selon les contextes d’exécution ; le second agit sur les données consolidées (voir aussi http://www.orchestranetworks.com).
Enfin, je rappelle que le concept de contexte d’exécution reflète l’ensemble des conditions d’usage d’un même service par des consommateurs différents : multi-canaux, multi-filières, multi-partenaires, multi-versions…
Vos réactions sur le groupe SOA : http://groups.google.fr/group/Methode-SOA
Pierre