Définissons les SOA !!!
Au SOA Forum, il a parfois été difficile de donner une définition simple et complète de ce que sont précisément les Architectures Orientées Services. Olivier Rafal, organisateur de l'évènement et rédacteur en chef du Monde Informatique Web, indique ainsi dans l'encart central "Guide des solutions SOA" du numéro de cette semaine que c'est une "chose que les meilleurs esprits ont du mal à faire". Henri Peyret de Forrester Research a indiqué donner des SOA une "définition volontairement vague". J'ai moi-même contribué à ce flou artistique pendant la table ronde où je participais. D'autres préfèrent adopter une vision (très très) large au risque d'inclure par extension des sujets plutôt... connexes. Il est ainsi difficilement compréhensible de voir figurer, en 11e position du classement de Pierre Audoin Consultants sur le sujet, l'éditeur Systar, notoirement spécialisé sur le Business Activity Monitoring (BAM) et que l'on pressent pour le moins éloigné du sujet SOA (posez-leur la question).
Comment donner une définition ? Peut-être en se concentrant sur les principes et non sur une définition trop formelle ou une vision biaisée par les outils.
Abordons par exemple le sujet du BAM, justement. De quoi s'agit-il ? D'excellence opérationnelle, grâce à une supervision temps réel de processus métier. La société dans laquelle je travaille, Unilog Management, a mis en place une supervision du processus de passage d'ordres boursiers pour le Crédit Lyonnais en 2003. Nous ne parlions pas de BAM à ce moment-là. Nous ne connaissions d'ailleurs pas les outils... Nous avons procédé à un petit développement spécifique. Pas d'outils donc, mais les principes : temps réel, alertes à l'utilisateur. Il n'est nul besoin de structurer sa vision par les fonctionnalités d'un outil - même si celui-ci a une forte valeur ajoutée par rapport à un développement spécifique, ne me faites pas dire...
Autre exemple évocateur : une célèbre compagnie aérienne française utilise depuis 1984 une plate-forme centralisée pour ses échanges inter-applicatifs. Il s'agit également d'une application spécifique, réalisée en Assembleur et en Cobol, dans laquelle on retrouve tous les principes de ce que Gartner Group a appelé EAI... un beau jour de 1998.
Alors, quels sont les principes fondateurs des SOA ? Je serai tenté d'en voir deux : assemblage et flexibilité. L'assemblage de services améliore la réutilisation et la productivité de réalisation des applications. La flexibilité, c'est l'assurance de personnaliser cet assemblage rapidement, à moindre frais. Un peu abscons ? Je prends un exemple.
Une société française de distribution B2B souhaite déployer une plate-forme e-Commerce dans les 23 pays où elle est présente. Elle crée un socle de services : passage de commandes, suivi des livraisons en temps réel, pricing dynamique, consultation des stocks... Le socle créé en France est réutilisable. Il est également flexible : chaque pays peut mettre en oeuvre les services dans l'ordre où il le souhaite, en fonction de ses besoins et de son marché.
D'autre part, cette société souhaite rendre possible la consultation en ligne des catalogues de ses partenaires, afin d'accroître son offre en ligne et de devenir une plate-forme communautaire de social shopping pour ses clients. Elle a donc besoin de pouvoir "brancher" rapidement et régulièrement de nouveaux partenaires, puis de synchroniser dynamiquement les catalogues et les prix. 1 - assemblage rapide de nouveaux partenaires, 2 - flexibilité quant aux formats des catalogues et protocoles de communication.
Assemblage et flexibilité. Dans un environnement changeant, il faut savoir faire vite, sous peine d'obsolescence. Il faut s'adapter rapidement, montrer et proposer ces capacités aux clients et aux partenaires. Les Architectures Orientées Services ne font pas qu'y contribuer. Elles rénovent le système d'information dans le sens de cet alignement accéléré. C'est leur principale qualité.
Ces deux principes forment une base stable de construction des SOA. En les gardant à l'esprit, on évitera de s'exposer à des attentes trop grandes et à des promesses déçues.
Comment donner une définition ? Peut-être en se concentrant sur les principes et non sur une définition trop formelle ou une vision biaisée par les outils.
Abordons par exemple le sujet du BAM, justement. De quoi s'agit-il ? D'excellence opérationnelle, grâce à une supervision temps réel de processus métier. La société dans laquelle je travaille, Unilog Management, a mis en place une supervision du processus de passage d'ordres boursiers pour le Crédit Lyonnais en 2003. Nous ne parlions pas de BAM à ce moment-là. Nous ne connaissions d'ailleurs pas les outils... Nous avons procédé à un petit développement spécifique. Pas d'outils donc, mais les principes : temps réel, alertes à l'utilisateur. Il n'est nul besoin de structurer sa vision par les fonctionnalités d'un outil - même si celui-ci a une forte valeur ajoutée par rapport à un développement spécifique, ne me faites pas dire...
Autre exemple évocateur : une célèbre compagnie aérienne française utilise depuis 1984 une plate-forme centralisée pour ses échanges inter-applicatifs. Il s'agit également d'une application spécifique, réalisée en Assembleur et en Cobol, dans laquelle on retrouve tous les principes de ce que Gartner Group a appelé EAI... un beau jour de 1998.
Alors, quels sont les principes fondateurs des SOA ? Je serai tenté d'en voir deux : assemblage et flexibilité. L'assemblage de services améliore la réutilisation et la productivité de réalisation des applications. La flexibilité, c'est l'assurance de personnaliser cet assemblage rapidement, à moindre frais. Un peu abscons ? Je prends un exemple.
Une société française de distribution B2B souhaite déployer une plate-forme e-Commerce dans les 23 pays où elle est présente. Elle crée un socle de services : passage de commandes, suivi des livraisons en temps réel, pricing dynamique, consultation des stocks... Le socle créé en France est réutilisable. Il est également flexible : chaque pays peut mettre en oeuvre les services dans l'ordre où il le souhaite, en fonction de ses besoins et de son marché.
D'autre part, cette société souhaite rendre possible la consultation en ligne des catalogues de ses partenaires, afin d'accroître son offre en ligne et de devenir une plate-forme communautaire de social shopping pour ses clients. Elle a donc besoin de pouvoir "brancher" rapidement et régulièrement de nouveaux partenaires, puis de synchroniser dynamiquement les catalogues et les prix. 1 - assemblage rapide de nouveaux partenaires, 2 - flexibilité quant aux formats des catalogues et protocoles de communication.
Assemblage et flexibilité. Dans un environnement changeant, il faut savoir faire vite, sous peine d'obsolescence. Il faut s'adapter rapidement, montrer et proposer ces capacités aux clients et aux partenaires. Les Architectures Orientées Services ne font pas qu'y contribuer. Elles rénovent le système d'information dans le sens de cet alignement accéléré. C'est leur principale qualité.
Ces deux principes forment une base stable de construction des SOA. En les gardant à l'esprit, on évitera de s'exposer à des attentes trop grandes et à des promesses déçues.

0 Comments:
Enregistrer un commentaire
<< Home