TRIBUNES > PIERRE PEZZIARDI
RECHERCHER UNE TRIBUNE
Les experts s'expriment sur le Journal du Net
 LA TRIBUNE DE PIERRE PEZZIARDI 
SOA ? So what ?
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.
(11/06/2007)
Envoyer   |    Imprimer

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.

Deux erreurs néanmoins, la première : diminution du nombre de boîtes. L'urbanisme « vu d'en haut » produit autant d'aberrations que les décisions « vu d'en bas, le nez dans le guidon ». La logique de l'unique, du beau, rend souvent aveugle. La diminution du nombre de boîtes n'est pertinente que si elle s'accompagne d'un corollaire organisationnel : la sédentarisation d'équipes sur des novas. Urbaniser deux boîtes « Gestion de XX » en une seule et l'envoyer en TMA ne va rien changer à nos problèmes de productivité.

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 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"...

Envoyer   |    Imprimer
VOS REACTIONS, VOS COMMENTAIRES 

le principe de SOA n'est pas nouveau

  (Grégoire Hubert)

L'article est critique mais il ne fait pas avancer les choses. Toutes les nouveautés apportent leurs lots de remarques et de critiques. Je voulais réagir pour dire que le principe de SOA n'est pas nouveau, il est aussi vieux que l'informatique en réseau et Corba/DCE/DCOM sont des belles tentatives mais trop complexes et trop fermées. (13/06/2007)

Beaucoup d'applications sont périphériques

  (Jacques-Marie Moranne)

Enfin un peu de bon sens dans cette société d'experts de la pensée unique ! L'argument comparatif entre N*(N-1) et 2*N est en effet fallacieux : beaucoup d'applications sont périphériques et n'ont en réalité qu'une seule interlocutrice.
Par ailleurs, les techno Web ont considérablement simplifié ces problématiques d'interopérabilité.
J'aime par ailleurs assez cette analogie avec des fils : on ne simplifie pas un réseau en mettant un gros noeud au milieu. (13/06/2007)

 Tous nos articles