SOBA et SODA sont dans un bateau
J’avais envie de commenter deux acronymes en apparence anodins, voire inoffensifs, portés depuis un certain temps déjà par le Gartner Group pour désigner deux périmètres très distincts et pourtant fortement liés du champ des Architectures Orientées Services : SOBA (Service-Oriented Business Applications) et SODA (Service-Oriented Development Application). Deux acronymes qui regroupent en réalité à eux deux des préoccupations très actuelles des architectures orientées services.
SOBA désigne un processus en cours chez la majorité des vendeurs de logiciels : le fait qu’une application métier ne soit plus une sorte de conteneur monolithique mais un assemblage de services savamment orchestrés. C’est le pari majeur fait par SAP avec sa stratégie eSOA et son bouquet de solutions Netweaver (on se demandera au passage comment cette stratégie va se poursuivre maintenant que son grand inspirateur, Shai Agassi, a décidé prématurément de quitter le navire SAP), c’est également le choix d’Oracle avec AIA (Application Integration Architecture), de Microsoft avec .NET et d’IBM. Autant de grands noms qui montrent une inhabituelle convergence de vision. Toute application métier va exposer un ensemble de service qui la rendra autant accessible via son habituelle interface utilisateur que via un modèle de services exposés en accès arrière (back-door). Cela pose la question de la définition de ce modèle de service, cela pose également la question de l’accroissement du volume de transactions supporté par ces applications. Par exemple, si l’objectif de l’exposition de service est de permettre une gestion cohérente d’un catalogue sur plusieurs canaux (Web, accès externe fournisseurs, magasins, papier…), il est nécessaire que les services d’accès à l’information soient disponibles en tout temps, en tout lieu, avec le cadencement souhaité par chacun des canaux, avec le niveau de sécurité et d’habilitation nécessaire… Chez Microsoft, l’exposition de services MS Dynamics AX (ex-Axapta) se traduit d’un point de vue architectural par la constitution d’une ferme de serveurs destinés à gérer les back-doors avec un niveau de performance et de fiabilité digne des enjeux. SOBA désigne ni plus ni moins qu’un modèle d’ouverture des ERP à une échelle encore jamais atteinte auparavant.
SODA concerne le développement de ces applications, ou comment passer du développement d’application par production de logique métier à un mode de réalisation basé sur l’assemblage de services. Cela pose de nombreuses questions et soulève de nombreux problèmes. Lorsque l’on raisonne par assemblage de service, on peut aboutir à une forte taylorisation du travail. Le chef de projet n’est plus seul maître à bord : il dépend du travail passé et en cours sur d’autres projets pour exploiter les services dont lui-même aura besoin dans le cadre de sa propre application. Même si cela peut être frustrant, il faudra renoncer à la tentation de refaire ce qui existe déjà (le syndrome « not invented here », ou « si ce n’est pas moi qui l’ai fait, alors je le refais ») car cette attitude est difficilement compatible avec la recherche de réutilisation et de mutualisation que porte la SOA. Mais cela peut être plus difficile qu’il n’y paraît. Pour travailler par assemblage de service, il faut disposer d’outils adéquats, permettant d’accéder à une liste des services existants, de mesurer le taux de réutilisabilité, de procéder à l’analyse d’impact, puis de réaliser l’application. Cela suppose un référentiel de service, et en la matière, on n’en est qu’au tout début de la démarche, du moins en France. Cela suppose aussi logiquement un lien entre les outils de modélisation et de référencement des services, et les outils de développement : et là, on est encore plus en amont dans la démarche. Les premiers plug-ins entre IDS Scheer Aris et les principales plates-formes du marché sont encore en cours de réalisation. Enfin, cela implique que dès l’école, les ingénieurs soient formés pour concevoir et construire une application sur un mode d’assemblage de services, et je doute que la méthode soit tellement bien finalisée aujourd’hui qu’elle puisse réellement être enseignée, à fortiori à l’heure où les outils se cherchent encore.
Là où SOBA élargit le champ des promesses, SODA ne circonscrit à l’heure actuelle qu’un champ de limites. J’oserai une comparaison : les meilleurs jeux sur PS3 ne sont ceux disponibles au moment où la console est sortie, mais ceux auxquels nous jouerons après deux ou trois ans de programmation intensive. Les grandes manœuvres des éditeurs nous poussent tous à adopter les technologies orientées services, mais il faudra du temps pour digérer les pratiques qui en découlent. Laissons à SODA le temps de prendre de la bouteille.
SOBA désigne un processus en cours chez la majorité des vendeurs de logiciels : le fait qu’une application métier ne soit plus une sorte de conteneur monolithique mais un assemblage de services savamment orchestrés. C’est le pari majeur fait par SAP avec sa stratégie eSOA et son bouquet de solutions Netweaver (on se demandera au passage comment cette stratégie va se poursuivre maintenant que son grand inspirateur, Shai Agassi, a décidé prématurément de quitter le navire SAP), c’est également le choix d’Oracle avec AIA (Application Integration Architecture), de Microsoft avec .NET et d’IBM. Autant de grands noms qui montrent une inhabituelle convergence de vision. Toute application métier va exposer un ensemble de service qui la rendra autant accessible via son habituelle interface utilisateur que via un modèle de services exposés en accès arrière (back-door). Cela pose la question de la définition de ce modèle de service, cela pose également la question de l’accroissement du volume de transactions supporté par ces applications. Par exemple, si l’objectif de l’exposition de service est de permettre une gestion cohérente d’un catalogue sur plusieurs canaux (Web, accès externe fournisseurs, magasins, papier…), il est nécessaire que les services d’accès à l’information soient disponibles en tout temps, en tout lieu, avec le cadencement souhaité par chacun des canaux, avec le niveau de sécurité et d’habilitation nécessaire… Chez Microsoft, l’exposition de services MS Dynamics AX (ex-Axapta) se traduit d’un point de vue architectural par la constitution d’une ferme de serveurs destinés à gérer les back-doors avec un niveau de performance et de fiabilité digne des enjeux. SOBA désigne ni plus ni moins qu’un modèle d’ouverture des ERP à une échelle encore jamais atteinte auparavant.
SODA concerne le développement de ces applications, ou comment passer du développement d’application par production de logique métier à un mode de réalisation basé sur l’assemblage de services. Cela pose de nombreuses questions et soulève de nombreux problèmes. Lorsque l’on raisonne par assemblage de service, on peut aboutir à une forte taylorisation du travail. Le chef de projet n’est plus seul maître à bord : il dépend du travail passé et en cours sur d’autres projets pour exploiter les services dont lui-même aura besoin dans le cadre de sa propre application. Même si cela peut être frustrant, il faudra renoncer à la tentation de refaire ce qui existe déjà (le syndrome « not invented here », ou « si ce n’est pas moi qui l’ai fait, alors je le refais ») car cette attitude est difficilement compatible avec la recherche de réutilisation et de mutualisation que porte la SOA. Mais cela peut être plus difficile qu’il n’y paraît. Pour travailler par assemblage de service, il faut disposer d’outils adéquats, permettant d’accéder à une liste des services existants, de mesurer le taux de réutilisabilité, de procéder à l’analyse d’impact, puis de réaliser l’application. Cela suppose un référentiel de service, et en la matière, on n’en est qu’au tout début de la démarche, du moins en France. Cela suppose aussi logiquement un lien entre les outils de modélisation et de référencement des services, et les outils de développement : et là, on est encore plus en amont dans la démarche. Les premiers plug-ins entre IDS Scheer Aris et les principales plates-formes du marché sont encore en cours de réalisation. Enfin, cela implique que dès l’école, les ingénieurs soient formés pour concevoir et construire une application sur un mode d’assemblage de services, et je doute que la méthode soit tellement bien finalisée aujourd’hui qu’elle puisse réellement être enseignée, à fortiori à l’heure où les outils se cherchent encore.
Là où SOBA élargit le champ des promesses, SODA ne circonscrit à l’heure actuelle qu’un champ de limites. J’oserai une comparaison : les meilleurs jeux sur PS3 ne sont ceux disponibles au moment où la console est sortie, mais ceux auxquels nous jouerons après deux ou trois ans de programmation intensive. Les grandes manœuvres des éditeurs nous poussent tous à adopter les technologies orientées services, mais il faudra du temps pour digérer les pratiques qui en découlent. Laissons à SODA le temps de prendre de la bouteille.
