Mise en place d’une Organisation de gouvernance de service

Introduction

Un service, qu’il soit physique comme un service d’expédition, ou mis en œuvre par un agent logiciel, est toujours conçu et affiné pour être réutilisé par le plus grand nombre de consommateurs possible. C’est l’essence de l’Architecture Orientée Services: réduire les coûts, les risques et les délais de construction de solutions en affacturant et en mettant en œuvre des actifs informatiques de telle sorte qu’ils puissent être réutilisés, souvent dans des situations inconnues au moment de la conception. En tant que telle, la gouvernance SOA n’est pas différente de la gouvernance des données et des TI qui visent à concevoir des modèles d’information ou à sélectionner des technologies pouvant être réutilisées au-delà des limites d’un projet donné. Les services doivent être régis pour devenir réutilisables: tous les consommateurs prévisibles doivent pouvoir exprimer leurs besoins qui sont ensuite hiérarchisés et échelonnés, tandis qu’un propriétaire de service est assigné et qu’un modèle de financement est défini.

Dans un article précédent, Stefan Tilkov s’est penché plus spécifiquement sur les rôles dans la gouvernance des SOA (1). Mon objectif ici est de vous aider à établir une organisation de gouvernance des services en termes de personnes, de processus et de technologies.

Charte de gouvernance des services

L’objectif principal de la gouvernance des services est de tirer parti des avantages d’une Architecture orientée Services en favorisant la création de services réutilisables de classe entreprise. En tant qu’organisation interfonctionnelle, la gouvernance des services garantit la résolution rapide des problèmes et des conflits en raison des compromis nécessaires qui sont effectués lorsque des exigences partagées sont définies.

En particulier, l’organisation de gouvernance des services est agréée pour définir des limites claires de propriété des services et spécifier un modèle de financement équitable.

La gouvernance des services surveille le déploiement et la réutilisation des services au sein de l’organisation. Un degré élevé de réutilisation des services, un flux constant de déploiements de services de classe entreprise, ainsi que des retraits de services sans problème sont les indicateurs d’une gouvernance réussie.

La gouvernance des services ne doit pas chevaucher la gouvernance informatique traditionnelle et l’Architecture d’entreprise; ils définissent les normes des technologies SOA et la feuille de route menant à des niveaux accrus de maturité SOA, tandis que l’organisation de gouvernance des services est chargée de faire évoluer le paysage des services.

En général, le rôle de la gouvernance des services est passif et traite les candidats aux services identifiés par des projets spécifiques ou au niveau de l’unité d’affaires. Ce n’est que lorsqu’une organisation a atteint un haut niveau de maturité que la gouvernance des services peut initier une identification descendante systématique des services de l’entreprise et en affréter la réalisation indépendamment de tout projet.

Dans tous les cas, l’organisation de gouvernance devrait être habilitée à créer des services d’entreprise indépendamment des restrictions budgétaires et de ressources du projet qui consommeront initialement le service candidat. La raison en est que la réutilisabilité a généralement une portée plus large, ce qui se traduit par un prix plus élevé.

L’organisme de gouvernance est l’intendant des définitions de services qui sont censées être gérées comme des actifs de l’entreprise. Il est également responsable du maintien de la traçabilité et de la conformité avec d’autres actifs de l’entreprise tels que les modèles de processus métier et le modèle de données de référence. Nous reviendrons sur les liens avec un modèle de données de référence ou d’entreprise dans la dernière section du document.

Personnes

L’article mentionné précédemment décrit les rôles1 impliqués dans les activités de gouvernance des services du point de vue de la mise en œuvre des services. Lorsqu’une organisation démarre son architecture Orientée Services, ces rôles sont suffisants pour garantir la prestation de services de classe entreprise, en particulier lorsqu’ils appartiennent à un Centre d’excellence SOA.

Rôle Description
Propriétaire de Services aux Entreprises
  • Diriger et contrôler la mise en œuvre, l’évolution et la retraite du service
  • Possède la portée fonctionnelle du service, les Accords de niveau de service
  • Gère efficacement les capacités du service pour répondre aux demandes de gouvernance et assurer des niveaux appropriés de réutilisation
  • Signaler l’activité du service à l’organisation de gouvernance
Propriétaire du Service Technique
  • Exécuter le service mise en œuvre, évolution et retrait
  • Possède le Contrat de niveau d’exploitation et gère le service pour atteindre ses objectifs en termes de disponibilité, de performance, de sécurité
  • Surveille le service pour identifier les problèmes potentiels avec SLA et OLA
  • Signaler l’activité du service au propriétaire de l’entreprise
Architecte de Plateforme SOA
  • Conseiller et discuter des normes techniques SOA avec les TI et l’organisation de gouvernance SOA
  • Assurez-vous que les implémentations de services sont conformes
Service Développeur
  • Assister l’architecte de domaine et l’architecte de plateforme dans leurs activités liées à la gouvernance
  • Mettre en œuvre des politiques et recommandations de gouvernance

À mesure qu’une organisation mûrit et que le nombre de candidats au service augmente, il est utile de présenter un leader en gouvernance qui sera propriétaire du processus et des ressources pour s’assurer que les activités de gouvernance sont exécutées de manière appropriée et que les problèmes sont résolus en temps opportun. Il devrait être assisté d’un conseil de gouvernance interfonctionnel et d’un bibliothécaire de service.

Rôle Description
Responsable de la Gouvernance
  • Gérer les activités de gouvernance globales du point de vue des personnes, des processus et de la technologie
  • Responsable du cycle de vie des services
  • Responsable des mesures de réutilisation des services
  • Ce rôle n’est généralement pas un rôle à temps plein et pourrait être rempli par l’architecte du domaine ou de la plate-forme
Conseil de gouvernance
  • Examiner les propositions de candidats au service
  • Recommander la propriété et le financement du service modèle
  • Résoudre les problèmes relatifs aux priorités des besoins des consommateurs, à la propriété des services, au modèle de financement, aux calendriers, aux SLA et aux OLA
  • Il s’agit d’une équipe interfonctionnelle couvrant autant de domaines que possible
Bibliothécaire de Service
  • Gérer les activités de cycle de vie des services liées au registre et au référentiel de services
  • Maintient la taxonomie du registre
  • Assurez-vous que des données et des métadonnées précises sont stockées dans le référentiel
  • Encore une fois, ce rôle n’est généralement pas un rôle à temps plein et peut être mélangé avec un rôle d’architecte

Nous voyons trois principaux niveaux de maturité en ce qui concerne l’organisation de la gouvernance des services.

Niveau de maturité Organisation
Établissement
  • L’initiative SOA a commencé récemment
  • Un Centre d’excellence SOA composé gère tous les aspects de l’initiative, y compris la définition et le déploiement de la plate-forme, la construction et la propriété des services ainsi que la gouvernance SOA
  • Le nombre de services en cours de construction est relativement faible
  • Un registre n’est pas encore nécessaire car toutes les activités liées aux services se déroulent au sein d’un petit groupe
Exécution
  • Un registre et un référentiel sont déployés pour gérer le processus de gouvernance et les métadonnées
  • Un responsable de la gouvernance et un bibliothécaire de service sont désignés
  • Les services sont toujours en cours de construction au sein du CoE de la SOA, mais à raison de plusieurs par mois pour soutenir des solutions critiques
  • Dans certains cas, un conseil de la SOA est formé pour discuter de questions spécifiques
Optimisé
  • Un conseil de la SOA est nommé et se réunit régulièrement pour discuter des propositions de candidats au service
  • Une feuille de route du service est défini et géré par l’organisation de gouvernance SOA pour aider à lancer des réalisations de services avant les besoins du projet

La figure 1 représente certaines des interactions entre les rôles impliqués dans la gouvernance des services.

Figure 1. Interactions entre les différents constituants de la gouvernance

La clé de la réussite d’une organisation de gouvernance des services est encore une fois d’être agile et d’assembler juste assez de ressources, de processus et de technologies pour répondre à vos besoins, mais pas plus. Une grande organisation de gouvernance de services sans un pipeline raisonnable de candidats au service perdra rapidement la vapeur et ratera l’occasion de donner une rétroaction adéquate sur certains candidats au service.

Vous souhaitez construire une organisation qui favorisera la réutilisation des services, rien de moins, rien de plus.

Processus

Processus et activités

Il existe cinq types d’activités exécutées par l’organisation de gouvernance SOA:

  • Service Candidate Management
  • Service Change Management
  • Service Consumer Management
  • Service Roadmap Management
  • SOA Governance Policy Changes

La figure 2 représente certaines des activités qui peuvent être effectuées au cours du processus de gestion des Services Candidats. Une équipe de projet peut identifier un service et créer une proposition de service. Cette proposition est ensuite approuvée, approuvée avec modifications ou rejetée (en tant que service d’entreprise) lorsque ce service candidat n’est pas potentiellement réutilisable par d’autres parties de l’entreprise.

Une fois le candidat au service accepté, le modèle de propriété et de financement est défini et les SLA et les OLA sont spécifiés avec l’aide du propriétaire du service et des consommateurs potentiels.

Une fois le service réalisé, ses métadonnées sont publiées dans le registre et le référentiel. Dans les grandes organisations, il est conseillé de suivre les services en construction pour éviter les propositions de services simultanées.

Les activités de gestion du changement sont souvent identiques aux activités effectuées lors de l’examen d’un candidat au service. Des activités telles que la propriété des services, le modèle de financement ou la spécification des SLA/ OLAS peuvent être facultatives.

Un aspect essentiel de la gestion du changement est la gestion efficace des services compatibles à terme (2).

Les activités de gestion des consommateurs de services sont principalement effectuées par le bibliothécaire du service, à moins que des changements ne soient nécessaires pour permettre à ce nouveau consommateur de consommer le service. Le bibliothécaire peut aider les consommateurs de services à identifier le service cible et à acquérir une copie de ses métadonnées.

Les activités de gestion de la feuille de route des services sont fournies si la gouvernance des services agit de manière proactive pour identifier les services sans demandes spécifiques de projet. À ce stade, la gouvernance des services devrait disposer de budgets pour commander le développement de ces services en amont des projets qui les consommeront. C’est un facteur de réussite essentiel de la gouvernance puisque la conception et la mise en œuvre de services réutilisables peuvent aller bien au-delà de la portée, des moyens et du calendrier d’un projet donné. Les activités de gouvernance elles-mêmes prennent du temps et peuvent recommander de longues mises à niveau à un candidat au service. C’est pourquoi il est si essentiel que l’organisation de gouvernance gère les calendriers et les phases des exigences spécifiques des consommateurs en temps opportun, minimisant ainsi l’impact des calendriers de livraison des solutions.

Figure 2. Activités de gestion des candidats au service

Enfin, une organisation de gouvernance peut engager la gouvernance INFORMATIQUE pour définir ou modifier ses politiques opérationnelles.

Métadonnées de service

La proposition de service candidat contient une description de l’interface de service (pas nécessairement sous une forme lisible par machine) ainsi que toutes les exigences fonctionnelles et non fonctionnelles associées au service qui seront utilisées par exemple pour définir les SLA et les OLA. Le méta-modèle d’ingénierie de l’Architecture de service du Forum CBDI & pour SOA (3) fournit une bonne vue des informations relatives à un service qui sont capturées au début du cycle de vie et affinées au fil du temps.

Le métamodèle SAETM du Forum CBDI contient une définition de service, y compris les opérations proposées, les politiques et les services connexes, ainsi qu’une classification des services. Le forum CBDI recommande également d’inclure une définition de service au niveau de l’entreprise qui relie les processus opérationnels, les capacités opérationnelles et les règles opérationnelles… à la définition du service.

Toutes ces informations pourraient potentiellement être utilisées lorsqu’un consommateur recherche un service particulier. C’est pourquoi il est important de le capturer de manière structurée même si les normes de description lisibles par machine telles que WSDL ne prennent pas (encore) en charge ce type d’informations.

Le métamodèle CBDI Forum SAE™ fournit une section distincte pour la spécification du service. L’aspect intéressant de cette partie du métamodèle est qu’il garde une trace des types d’informations impliqués dans le service en tant qu’arguments d’opération. Cette fonctionnalité n’est pas bien prise en charge par WSDL, par exemple, qui définit uniquement les représentations des types d’entreprise qui sont échangés en tant que parties des appels d’opération, mais pas les types d’entreprise eux-mêmes.

La traçabilité des types d’informations est essentielle car elle empêche l’introduction de sémantique spécifique à l’opération. Un type de message doit toujours être défini avec des liens étroits avec le modèle de données de référence. En fait, les processus de gouvernance SOA doivent s’assurer qu’aucune sémantique supplémentaire n’est définie dans le type de message par rapport au modèle de données de référence.

Le métamodèle CBDI Forum SAE™ garde également une trace des composants métier utilisés dans une implémentation de service.

Facteurs de réutilisabilité du service

Il y a trois facteurs importants à prendre en compte pour promouvoir la spécification des services réutilisables. Tout d’abord, une interface de service doit être complète vis-à-vis de ses consommateurs actuels et potentiels. Une bonne mesure à suivre est le nombre de changements d’interface et d’implémentation à mesure que de nouveaux consommateurs arrivent à bord, à la fois pour ceux qui sont compatibles et pour ceux qui ne le sont pas.

Deuxièmement, nous devons considérer les Accords de niveau de service et d’exploitation appropriés (SLA et OLA). Certains SLA peuvent fonctionner parfaitement pour un consommateur et être un bouchon de spectacle pour un autre. Les SLA et les OLA peuvent également être difficiles à atteindre. L’organisation de gouvernance de l’OSS devrait suivre les incidents et surveiller le nombre de modifications apportées aux SLA et aux OLA résultant de ces incidents ainsi que le nombre de modifications apportées à la mise en œuvre du service pour respecter efficacement ses SLA et ses OLA.

Enfin, une organisation de gouvernance de service devrait chercher à identifier tous les consommateurs potentiels d’un service candidat et à les impliquer dans le processus de ratification de la proposition d’interface de service. Une bonne mesure pour suivre le nombre de clients inattendus trouvés après la conception d’un service. Cette mesure doit être interprétée avec prudence, car elle peut signifier que le service a été bien conçu et a attiré de nombreux consommateurs, ou qu’il n’a pas fallu suffisamment de temps pour identifier les bons consommateurs, ce qui a entraîné de nombreux changements ultérieurs.

Les activités et les rôles de gouvernance des services sont souvent pris en charge par une solution de gouvernance construite autour d’un registre et d’un référentiel de services. Même s’il est assez trivial de dire cela, il est important de toujours garder à l’esprit qu’un actif ne peut être réutilisé que dans la mesure où il peut être trouvé. Un registre est le catalogue ou l’index qui sert de  » système d’enregistrement  » pour les services d’une SOA(4).

Un registre et un référentiel SOA prennent généralement en charge les fonctions suivantes:

  • Stocke des métadonnées de service telles que des descriptions (formats de messages et opérations), des liaisons (protocoles de communication), des points de terminaison (la ressource accessible au réseau qui implémente le service)
  • Fournit un mécanisme de classification pour aider à catégoriser et organiser les services
  • Permet aux utilisateurs de publier de nouveaux services (au fur et à mesure qu’ils sont identifiés, réalisés et déployés) dans le registre et de parcourir et de rechercher des services existants ou prévus
  • Notifier les consommateurs de services des changements prévus
  • Gérer les rapports SLA et OLA ainsi que la consommation statistiques
  • Gérer en toute sécurité les processus de gouvernance et les produits livrables
  • Fournir des capacités d’audit pour suivre la trace des changements et des autorisations appliquées aux descriptions des actifs

Les processus de gouvernance sont répartis géographiquement et collaboratifs. La gestion de ces processus est essentielle pour amener les différentes parties à un consensus sur la définition et la réalisation du service.

Étant donné que le registre et le référentiel sont le système d’enregistrement des informations de service à la fois au moment de la conception et de l’exécution, la sécurité entourant le « service record » est essentielle pour éviter toute substitution de points finaux par exemple.

Relation avec d’autres activités de gouvernance

La gouvernance des services est un nouveau type de gouvernance faisant partie des activités de gouvernance informatique plus larges menées par les groupes d’architecture d’entreprise. La gouvernance informatique devrait garder le contrôle de la gouvernance de la plate-forme SOA elle-même, tandis que la Gouvernance des services devrait concentrer ses activités sur la conception de services à réutiliser au niveau de l’Entreprise, de la Réalisation des Services et de la fourniture de solutions (Figure 3). Au niveau de l’entreprise, la gouvernance des services devrait travailler en étroite collaboration avec la gouvernance informatique pour exploiter le modèle de processus métier de l’entreprise afin d’identifier les candidats aux services sur la base d’une analyse descendante et d’établir une feuille de route pour le déploiement de ces services. Comme nous l’avons vu dans la section Processus plus tôt, le niveau de service est l’endroit où se déroulent la plupart des activités de gouvernance de l’OSS. Toutes ces activités sont soutenues par un registre et un référentiel.

Au niveau de la solution, l’organisation de gouvernance des services devrait évaluer et diriger le niveau de conformité à l’égard de l’infrastructure SOA et des directives de service.

La Gouvernance des services entretient des liens étroits avec la Gouvernance des données via l’utilisation du Modèle de données de référence de l’entreprise. L’équipe de gouvernance des services doit appliquer l’utilisation de la sémantique du modèle de données de référence pour la conception des types de messages d’opération.

Le but ici n’est pas de créer un « Modèle d’Information canonique ». Dans une architecture orientée Services, il serait naïf de penser que les consommateurs seront toujours en mesure d’adopter le point de vue du fournisseur ou que le fournisseur et le consommateur peuvent toujours adopter le même point de vue. Même si cela était vrai aujourd’hui, les heures supplémentaires, les consommateurs et les fournisseurs pourraient ne pas être en mesure d’évoluer en même temps vers une version plus récente de l’interface (qu’elle soit compatible en avant ou en arrière).

Figure 3. Relation entre la gouvernance des SOA et d’autres activités de gouvernance

Cette évolution divergente est souvent gérée à l’aide d’un médiateur, et en particulier des transformations de messages. Même si la médiation n’est pas explicite dans l’architecture des services web du W3C (5), les praticiens de la SOA l’utilisent depuis longtemps systématiquement pour atteindre un niveau plus élevé de couplage lâche et permettre des évolutions autonomes entre les consommateurs et les fournisseurs. Ces transformations sont inévitables et cette fonctionnalité doit être intégrée à votre infrastructure SOA. Incidemment, la médiation ne nécessite pas de « Modèle d’information commun ». Si vous utilisiez un tel « modèle d’information commun » indépendant de l’interface fournisseur et consommateur et que vous souhaitiez toujours réaliser un couplage lâche, vous encourriez le coût de deux transformations, sans compter que vous devez toujours transformer votre format de message en un ensemble de données consommables par la mise en œuvre du fournisseur et du consommateur.

Les premières étapes vers des transformations plus gérables consistent à dériver des interfaces consommateur et fournisseur à partir du modèle de données de référence. Dans le modèle de données de référence, la structure des données est moins importante que la normalisation de la sémantique. Ces sémantiques sont gérées avec une grande précision par la gouvernance des données. Habituellement, le modèle de données de référence établit la traçabilité des artefacts physiques tels que les schémas de base de données et les livres de copie COBOL. Cette traçabilité peut s’avérer très utile lors de la mise en œuvre du service tandis que l’utilisation de sémantiques normalisées permettra de simplifier le développement de cartes de transformation entre consommateurs et fournisseurs.

Conclusion

La gouvernance des services est un aspect essentiel d’une architecture orientée Services réussie. Sa création doit être planifiée et testée au début des phases initiales d’une initiative SOA. Cependant, une organisation de gouvernance à grande échelle basée sur un processus rigoureux ne devrait être lancée que lorsque le pipeline de services est suffisamment important pour que l’équipe reste motivée et informée. Si les activités de gouvernance sont trop éloignées dans le temps, l’équipe pourrait perdre son intérêt et ses connaissances essentielles pour exécuter correctement ses activités. Le référentiel Registry & est un ingrédient clé pour une gouvernance réussie car il gère le « dossier de service ». L’objectif ultime de la Gouvernance des services est de permettre la spécification, la réalisation et l’exploitation d’actifs informatiques réutilisables. On s’attend à ce que la gouvernance des services évolue pour devenir beaucoup plus proactive dans la mise en service de la mise en œuvre des services essentiels à la mission.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.