SOA ? So what ?
Par Pierre Pezziardi, vendredi 20 avril 2007 à 07:23 :: SOA :: #10 :: rss
Le texte suivant est extrait du livre "Une Politique pour le Système d'Information - Descartes - Wittgenstein- (XML)" publié par OCTO Technology :
SOA est l’archétype de la régression collective. Rien de grave, cela arrive dans tous les secteurs. Après DCE, Corba, l'urbanisme des SI et les outils d’EAI, voici le serpent de mer resurgir encore.
Et il y a une bonne raison à sa résurrection : toute réalisation informatique qui implique plus d’une application est un cauchemar : coordination, construction à plusieurs, tests à plusieurs, stress à plusieurs...
Alors les solutions fusent, toujours les mêmes : il faut diminuer le nombre de boîtes et le nombre de fils entre les boîtes.
Diminution du nombre de fils, le fameux syndrome spaghetti : N applications communicant directement entre elles peuvent tisser N*(N-1) flux, pourquoi ne pas centraliser ces flux vers un tiers, et ainsi gérer une situation à N flux ? Là encore, le spaghetti n’est pas un mal en soi, bien au contraire. Vouloir centraliser la gestion des flux à n’importe quel niveau (le plus haut possible !) conduit à des situations ubuesques à l’inverse de l’effet recherché initialement. Victime d’une vision statique de N*(N-1) « fils », nous éludons la réalité dynamique de construction de ces fils. Pour un projet informatique qui s’étend sur deux applications, la centralisation vers un tiers conduit désormais à coordonner trois interlocuteurs, la source, la cible et le tiers, et non plus deux comme au bon vieux temps … Le cauchemar, dont la racine est la coordination d’équipes, a en fait été amplifié. Plutôt que de diminuer ou concentrer les flux, interrogeons-nous sur notre productivité à en construire et surtout à en maintenir.
Et c’est là que le bât blesse puisque la plupart des outils EAI, rebaptisés ou « étendus » en outils SOA, ne supportent pas encore les standards de productivité du build. En particulier le développement piloté par les tests et l’assemblage automatisé, supporté par des fondations J2EE ou .Net. Or la nécessité de produire un SI toujours « plus intégré » va induire une plus grande pression sur les tests de ces programmes aux jointures de nos SI. Nos outils devront nous permettre de réaliser simplement la non-régression de centaines de flux suite à une maintenance sur un dictionnaire par exemple. La maturation des outils EAI doit se poursuivre dans ce sens, probablement aidée par leur fusion dans des Enterprise Application Platform (EAP) déjà soumises à ces principes d’ingénierie logicielle modernes.
Le demantèlement des territoires centrés sur la tâche (produire des cahiers des charges, produire du code, tester, intégrer ..) au profit de d’une organisation centrée sur les applications, leur structuration sur un pattern royaume/émissaire qui sépare nettement les programmes d’échange du reste de l’application, sont des pré-requis à tout achat d’outils ou de conseils génériques destinés à améliorer « l’agilité du SI ». Côté technologie, on préfèrera comme d'habitude les choses simples aux usines à gaz multi-fonctionnalités "dont vous aurez besoin un jour"...


Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire