Réussir votre SOA : Un guide pratique en 10 questions (1/3)
L'un des facteurs clé pour la réussite de la mise en place d’une architecture orientée services, c’est de parvenir à identifier et mettre en œuvre des services à forte valeur ajoutée. Cet article synthétise, sous forme de questions pratiques, les principaux éléments et concepts à considérer pour réussir cette transformation du SI.
Cet article sera publié en 3 parties : Partie 1 - Questions 1 et 2 Partie 2 - Questions 3 à 5 Partie 3 - Questions 6 à 10 1) Qu’est-ce qu’un service ? Dans le domaine informatique, un service est tout programme exposant une ou plusieurs fonctionnalités à des tierces applications en environnement distribué
2) Comment émergent les services ? Pour qu’on puisse parler de service, il faut un client et un fournisseur de service.
Dans un processus "Bottom up", un service émerge d’une démarche « Push » initiée par un fournisseur ou « Pull » initiée par un consommateur.
Dans un processus "Top-down", il est la résultante d’une étude plus globale et systémique du SI ou d’un bloc du SI.
Processus Bottom-Up
- Processus « push» - par le fournisseur (Le fournisseur fournit un service le plus « générique » possible)
C’est une démarche initiée par un fournisseur qui expose un service et le propose à ses partenaires. Le fournisseur essaie de proposer un service le plus générique possible qui répond au besoin de tous ses partenaires (exemple : les services exposés par ViaMichelin, Amazon, Google, etc.)
- Processus « Pull» - par le client (Le client demande un service)
Cette démarche est initiée par un consommateur qui exprime le besoin pour un ou plusieurs service(s) lui permettant d’échanger avec des tierces applications. Dans ce cas, le fournisseur essaie de répondre au besoin du consommateur sans forcément prendre en compte des perspectives de réutilisation du service. Cela s'explique par le fait que ce genre de demande se conjugue généralement avec des impératifs « Time To market » imposés par le client du service.
Processus Top-Down (Le service est identifé)
Certains services de ce processus émergent d’une démarche d’urbanisation ou de refonte du SI. Le besoin d’échanges est préalablement étudié et une définition des services est proposée.
Il est vrai que cette démarche garantit une cohérence globale de l’ensemble des services, néanmoins, sa mise en place s’avère un challenge inintelligible dont les bénéfices sont loin d’être acquis.
Quelle démarche favoriser? Dans l'absolu, il n'y a pas de démarche à favoriser en particulier. Les 3 peuvent co-exister selon le contexte et l'offre de services existante. Néanmoins, en phase de conception et de mise en œuvre du service, il est primordial de prendre en considération les points suivants: 1) Favoriser une démarche itérative et collaborative entre clients(s) et fournisseurs de services.
Pourquoi? Parce qu'un service est un processus dont le résultat ne préexiste pas à la demande du client, cela signifie que le client va devoir s’engager vis-à-vis d’un fournisseur avant que la service ne soit réalisée, c’est-à-dire avant qu’il puisse évaluer la qualité de ce résultat, puisque celle-ci ne pourra être évaluée qu’une fois le service réalisé. Ce décalage temporel entre l’engagement de la transaction client/fournisseur et la réalisation du service crée une situation d’incertitude. D’où l’importance des méthodologies de mise en œuvre projet concernant ce type de besoin. 2) Penser un service donné en tant qu'offre de services, plutôt qu'un mono-service qui essaie de répondre à tous les besoins 3) Ne pas considérer l'étude d'urbanisation, s'il y en avait une, comme une cible en elle même, mais plutôt comme un fil conducteur pour la cible.