Ainsi SOA-t-il !
Il a peu de temps encore, les entreprises s’organisaient autour des projets. Chaque département ou gros service implémentait son système, un îlot. Cette construction que l’on baptise ‘en silo’ a amené l’introduction de technologies différentes et, pire encore, la redondance et l’incohérence de données. C’est là la cause profonde de la fameuse « architecture accidentelle » subie par tout professionnel de l’IT qui a un peu de bouteille.
Et c’est ainsi qu’un fossé se creuse entre les besoins métiers et le service de l’IT.
Entre temps, la pression s’est accentuée sur les entreprises.
Les fusions et acquisitions se multiplient. La performance est demandée. La quantité de travail croît. Les règles et lois évoluent et rendent la gestion plus complexe et plus exigeante. Certaines branches sont outsourcées (pas nécessairement l’informatique). Bref, la compétition et la mondialisation sont au rendez-vous.
Les sociétés de services se sont penchées sur la problématique : apporter une réponse était indispensable.
La théorie que l’on nous a enseignée il y a 30 ans ne devait pas ressurgir : l'approche cartésienne (Descartes) qui prône le découpage d’un problème en sous-problèmes. Cette approche prend peu en compte les interactions entre problèmes et c’est bien là sa tare.
Par contre, l'approche systémique favorise une vision globale sur la réalité considérée comme un système. Et comme l’entreprise est un système ouvert (càd en interaction avec le monde qui l’entoure), la pensée systémique offre une bonne base à l’amélioration de ses éléments organisés en fonction d’un but. Dans son cours d’Organisation et de Management le professeur Mohamed Bayad de l’Université de Nancy 2 nous confirme que « Lorsque la complexité (degré d’organisation) d’un système augmente, les propriétés qui le caractérisent dépendent de plus en plus de sa structure (ensemble des relations) et moins en moins de la nature de ses parties. ».
Il faut donc comprendre l’entreprise comme un ensemble de variables en interaction ayant un certain de degré de finalité. Et la modélisation en ‘Business Process’ répond à la demande de formalisation que demande un système informatique.
Des packages informatiques qui reprennent les logiques métiers ont été développés. Ils comportent néanmoins différents inconvénients : d’une flexibilité limitée, ils n’apportent pas ou peu de différenciation ou d’innovation sur des marchés concurrentiels. Ils ont également le lourd inconvénient de rendre l’entreprise dépendant des tierces parties.
Le SOA (Services Oriented Architecture), qui est le pendant informatique du BPM (Business Process Management) est un modèle intéressant. Il aligne l’IT et les métiers sur l’organisation en processus. Il accroît les capacités des investissements informatiques consentis. Enfin, son implémentation se veut incrémentale et non radicale. C’est d’ailleurs un point très fort de l’approche car le « big bang » n’est souvent pas une option envisageable.
Alors que pendant des années, l’IT s’est focalisé sur la ‘complexité de gérer cette complexité’ (et de la maintenir), le principal objectif de l’IT peut ici être de permettre l’exécution de processus métiers et d’accompagner les changements. Et ce sont bien ces derniers qui apportent la différenciation tant recherchée par les entreprises.
Autre avantage du SOA, l’entreprise peut établir des plans d’expansion ou d’amélioration en se basant sur des capacités informatiques plus claires.
Alors comment mettre du SOA dans le moteur d’une entreprise ?
Le SOA se construit sur 4 dimensions, les 4 P : People, Process, Platform et Practice. Tout va partir d’un modèle de service qui va aligner les objectifs d’entreprise et les besoins (attentes clients, les lois, …).
D’une cartographie de l’organisation existante (AS IS) on sera en mesure de construire une vision d’amélioration, un futur (TO BE). Et l’IT sera en mesure de suivre et de s’adapter, ayant abandonné son architecture ‘spaghetti’ pour une structure en ‘bus’ que certains qui ne manquent pas d’humour baptiseront ‘lasagne’.
En marge des solutions proposées par les ‘sofware houses’ (je citerai par exemple le white paper de SUN de févier dernier : a pragmatic approach to implementing a SOA with sun java composite application platform suite), quelques sites décrivent l’approche en long et en large. Une récente présentation m’a permis de découvrir le site de http://www.praxeme.org/ que je vous invite à consulter.
Je vois dans le SOA de nombreux rapprochement avec la théorie des contraintes qui me séduit tant. J’ignore si des travaux ont déjà abordé les analogies ou ont réalisé des études d’écart. Si vous avez des références ou des liens, merci de me les transmettre !