urbanisation-si.com

urbanisation-si.com

Architecture Orientée Services (SOA)


Gouvernance SOA : la phase de Design Time (3)

urbanisation-si-design-time.jpg

La gouvernance en Design-Time est aussi responsable de définir un système de classification de services
Une autre forme de classification concerne les rôles assumés par un service pendant son exécution.
Pour être sur qu’un service joue un rôle déterminé il suffit de considérer son contexte d’utilisation.
  • Si le service est appelé par une application ou un autre service externe il est alors dans le rôle d’un fournisseur,
  • dans le cas contraire où c’est lui qui utilise un service externe il devient un consommateur.
Lorsqu’un service n’est ni fournisseur ni consommateur, il peut jouer
  • le rôle d’intermédiaire actif ou passif entre deux services
  • rôle de contrôleur
  • simple membre d’une composition.
L’étape de design détaillé permet de définir les contrats de services, les types de données et les caractéristiques de design tels que la performance, la fiabilité et la qualité des services
Au niveau de la gouvernance, il s’agit de gérer
  • le cycle de vie des contrats de services,
  • la standardisation des données
  • la conformité du design par rapport aux contraintes de performance, fiabilité et qualité de services.
En effet, la gouvernance SOA se charge de définir le contrat de service du point de vue métier en décrivant les capacités fonctionnelles du service ainsi que les différents messages que celui-ci devra échanger avec les autres applications.
Les accords sur les niveaux de services (SLA) se situent entre les clients et les services établissant un accord formel sur sa livraison et son utilisation.
Les contrats passés entre les domaines d’affaires d’une entreprise sont désignés comme des accords aux niveaux opérationnels (OLA)
Lorsque le développement et la livraison des services sont supportés par des partenaires externes on l’appelle accord de sous-traitance (UC).
Pour développer un SLA :
  • Identifier les besoins :
    • permet d’identifier les besoins des clients qui sont à l’origine de la demande de service. Une question simple permettant de capturer les exigences des clients est de se demander pourquoi ces derniers veulent ils utiliser le service ou quelle est leur motivation principale ?
  • Définir les objectifs :
    • se focalise sur la définition des objectifs que les clients devraient atteindre en utilisant le service. Il s’agit du but même du service du point de vue du client mais aussi du point de vue du fournisseur de service. Cette étape permet de mettre en évidence ce que les clients espèrent avoir comment résultats et la mesure dans laquelle ils aimeraient l’obtenir.
  • Définir les niveaux de services :
    • concerne la détermination d’un seuil minimum de niveau de services qui doit être maintenu dans le cadre du contrat de service. Cela revient à garantir un minimum de qualité dérivée des besoins capturés dans la première étape. Il est aussi possible de planifier des actions de correction en cas de diminution de la qualité de service.
  • Déterminer la responsabilisation :
    • consiste à clarifier les responsabilités que chaque partie, clients et fournisseurs, doit assumer dans tous les cas de figure. Cette prise de responsabilité typique des contrats formels passés entre deux entités distinctes permet de définir en avance le comportement de chaque partie et de réagir plus rapidement face à l’imprévu.
La gouvernance SOA est responsable de la gestion du cycle de vie des SLA.
Cela veut dire qu’elle est responsable pour le développement des processus de création et management des SLAs.
La seule étape concernant le développement d’une SLA doit prendre en•considération
  • les besoins des clients,
  • Leurs objectifs,
  • les niveaux de services et la responsabilisation.
En effet, du point de vue du développement, les quatre dernières étapes sont utilisées pour définir le contenu des SLA qui permettra surtout de mesurer les activités des services.
Cela peut être considéré comme une gestion des métadonnées des SLAs.
Par contre, pour le processus de management ces quatre dernières étapes sont effectivement exécutées dans le but de tirer des statistiques sur le comportement des services et définir des nouvelles stratégies.
 
"La modestie est au mérite ce que les ombres sont aux figures dans un tableau : elle lui donne de la force et du relief"
 

06/10/2014
0 Poster un commentaire

Gouvernance SOA : la phase de Design Time (2)

urbanisation-si-cycle-de-vie-top-down.jpg

Stratégie « top-down ».
Le développement de services, il faut définir les stratégies de développement qui se révèlent les plus intéressantes pour les services en question.
•Stratégie « top-down » : commence par la définition des ontologies de l’organisation (types d’informations, graphe de relations entre ces informations, etc.) et se termine par le déploiement des services.
L’analyse effectué dans cette approche permet de décomposer l’organisation en domaines logiques délimités par les éléments d’information communs (données, information, fonctions, etc.).
Du point de vue de la gouvernance, la décision de déployer cette stratégie se justifie,
  • par la volonté de supporter plusieurs types de services (services de processus, métier et de support),
  • pour guider le développement de services vers une dimension supplémentaire de flexibilité et souplesse architecturale ainsi que de réutilisation de services.
Stratégie « bottom-up ».
urbanisation-si-cycle-vie-bottom-up.jpg
Commence par analyser les applications et services existants afin d’identifier ceux qui seront développés par la suite.
On analyse par exemple les fonctionnalités et les données contenues dans les systèmes légués en vu d’extraire celles qui feront partie des services candidats.
En utilisant cette stratégie on cherche
  • à exposer les fonctionnalités des applications existantes sous la forme de services et à bénéficier ainsi des caractéristiques propres aux services « wrapper », telles que des cycles de développement courts permettant de passer d’une architecture orientée composants à une SOA de base en très peu de temps,
  • de réduire la complexité du développement,
  • supporter l’intégration d’application à l’aide de services et promouvoir l’interopérabilité. 
Design de haut niveau, il s’agit surtout de garantir aux clients et propriétaires des services que ces derniers ne peuvent être développés que s’ils passent avec succès les mécanismes de justification et de spécification.
Pour que le développement d’un service soit justifié aux yeux de la gouvernance il faut que la gestion du portefeuille ait approuvé sa faisabilité au niveau financier et métier.
Cela veut dire que les coûts additionnels d’un éventuel développement sont justifiés par le potentiel de réutilisation du service ou par sa stabilité fonctionnelle à long terme
Du côté de la spécification, la gouvernance doit garantir que celle-ci contient tous les éléments nécessaires décrivant un service. 
Principes d’architecture, l’un des aspects fondamentaux de la gouvernance SOA concerne la question de l’établissement des principes SOA.
En effet avant de concevoir les services et leurs modèles respectifs, la gouvernance doit établir un ensemble de directives de haut niveau alignées sur les objectifs stratégiques de l’entreprise.
Les principes SOA doivent donc correspondre à un objectif métier en clarifiant la manière dont un service doit exister pour soutenir la stratégie de l’entreprise.
Les principes d’architecture sont définis dans la phase de conception (Design-Time) et doivent être revus à chaque fois que les objectifs d’affaire sont modifiés.
Ils se déclinent en quatre types distincts,
  • les principes d’architecture,
  • les principes de données,
  • les principes d’application
  • les principes de technologie.
urbanisation-si-principes-architecture.jpg
L’architecture et ses composants,
  • Les services,
  • les données,
  • la technologie sous-jacente.
Le principe de consistance fourni les directives pour assurer qu’il n’aura pas de conflits de décisions entre les différents projets.
Avant démarrer la conception d’un service les architectes et développeurs doivent tenir compte de la contrainte de consistance pour ne pas introduire des contradictions dans le comportement de l’architecture, notamment quant aux
  • mécanismes de création,
  • recherche,
  • découverte
  • utilisation des services.
Le degré élevé de diversité technologique typique de SOA et son caractère distribué redonne une importance particulière à ce principe car il est important que SOA conserve une certaine cohérence opérationnelle et fonctionnelle afin de garantir les meilleurs résultats et de faciliter les changements futures.
 
 
"C'est une belle harmonie quand le faire et le dire vont ensemble"
 
 

05/10/2014
0 Poster un commentaire

Gouvernance SOA : La phase de Design Time (1)

urbanisation-si-cycle-de-vie-service-SOA.jpg

Dans le contexte de la gouvernance SOA on fait le plus souvent référence au cycle de vie des services comme l’objet central autour duquel doivent s’appliquer les mécanismes de gouvernance.
Le cycle de vie des services regroupe trois phases distinctes
  • Design-Time,
  • Run-Time,
  • Change-Time
L’enchaînement des étapes du cycle vie ne se fait pas par hasard, il poursuit un seul objectif, celui de produire des services conforme aux exigences métier.
Dans l’approche SOA, les applications orientées services sont considérées comme des actifs de l’entreprise qui consomment des ressources importantes, ce qui justifie la mise en place des processus de gouvernance chargés d’évaluer leurs performances technique et financières.
En tant qu’actifs, ils sont aussi une valeur concrète pour l’entreprise qui est liée au potentiel de réutilisation de chaque service.
Il est donc important que la gouvernance SOA crée les mécanismes pour faire appliquer les principes du développement orienté service, en particulier la réutilisation et la composition car ceux-ci ont un impact directe sur les comportements final des services.
A la fin de chacune des phases, le cycle de vie produit des résultats tangibles que l’on appelle des artefacts.
Un artefact, dans sa forme la plus générique, désigne un document ou autre information de support qui est conçu de manière à être réutilisable dans les projets à venir et pas seulement dans les projets courants.
Plusieurs aspects concernant les artefacts sont du ressort de la gouvernance comme par exemple la définition des points de contrôle (check points) permettant d’assurer l’existence des documents essentiels à la fin de chaque étape.
Avant de passer à la phase suivante du cycle de vie il faut que la gouvernance approuve les résultats obtenus en les contrôlant de plus près.
Par exemple, en faisant appliquer des politiques claires sur
  • le format,
  • le contenu et
  • l’emplacement approprié des documents tels que les modèles de données, les fichiers de code, etc.
La phase de Design Time est composée de deux activités fondamentales
  • l’analyse et capture des exigences métier
  • la conception et implémentation des services.
Dans la première activité on trouve
  • les tâches liées à l’analyse orientée service des processus métier, à savoir la définition des exigences métier,
  • l’identification des processus métier,
  • la définition des modèles services
  •  l’analyse des fonctionnalités et des systèmes existantes.
Dans la deuxième activité on trouve
  • les tâches de modélisation de services telles que la décomposition des processus métier en sous-processus,
  • l’identification des opérations candidates,
  • implémentation des services
  • la construction des prototypes.
La gouvernance de la phase Design-Time est une discipline de direction qui vise à établir les processus et politiques qui devraient être suivies par l’ensemble des ressources engagées dans le développement des services.
Elle poursuit les objectifs suivants :
  • Promouvoir la réutilisation
  • Promouvoir l’interopérabilité
  • Mesurer et comparer la performance des services
  • Identifier et fournir les bons services
  • Guider l’implémentation de l’infrastructure nécessaire au support de SOA
La gouvernance Design-Time consiste principalement à implémenter des mécanismes de contrôle (check points) permettant de guider les développeurs dans
  • la création,
  • la publication
  • la maintenance des interfaces de service.
La création des services SOA est un processus qui peut se décomposer en trois étapes,
  • le design de haut niveau,
  • le design détaillé
  • l’implémentation.
Pendant chacune des étapes, le processus de développement est guidé par les mécanismes de gouvernance pour gérer
  • l’alignement stratégique,
  • les risques
  • les investissements IT.
Pour ce faire, elle doit poser les bases de la création de services en définissant les principes d’architecture, les modèles de services et la gestion du portefeuille de services.
Quant à la publication des services comporte certaines décisions importantes qui vont déterminer si un service est prêt pour être publié dans un registre.
Ces décisions couvrent tous les domaines de la publication des services, notamment le registre et les interfaces. On peut citer par exemple,
  • les politiques de réplication des registres
  • le choix entre les stratégies de fédération ou centralisation des registres. Les mécanismes qui permettent de créer et de modifier les métadonnées concernant les interfaces,
  • Le comportement et les politiques des services.
Ce faisant, il est possible de tester l’identité des utilisateurs du registre (développeurs et clients) sur la base d’une politique de sécurité interne à l’entreprise ou étendue (plusieurs entreprises).
Enfin, la maintenance des services est une activité qui se situe entre les phases de Design-Time et de Change-Time.
Pour la gouvernance Design-Time il s’agit de gérer le développement de telle manière qu’il y ait peu des changements à faire dans l’avenir.
Lorsqu’un projet de maintenance se présente, on doit décider sur la manière dont ces changements seront effectués pour que les clients ne soient pas affectés et les SLA respectées.
 
"C'est ce qui manque qui donne la raison d'être"

04/10/2014
0 Poster un commentaire

4/11 Projet informatique : passer du moyen âge à l'ère industrielle. Résolvez l'équation : ROI = SOA

soa.jpeg

 

SOA (Service Oriented Architecture) permet un véritable alignement entre les objectifs stratégiques de la direction générale et les technologies de la DSI. Cette traçabilité entre les services fonctionnels et leurs implémentations permettra d'obtenir les investissements et leurs bénéfices à moyen terme.

 

Pendant la tempête, maintenez la voilure sinon gare au naufrage.
La récession menace, il est difficile alors pour les DSI de convaincre la direction générale des bienfaits des SOA (Service Oriented Architecture). La stratégie générale est de geler les projets et d'attendre la reprise économique plutôt que d'investir dans de nouvelles pratiques aussi bonnes soient elles. Comme tout le monde va faire pareil, il est urgent de prendre le contre pied pour se différencier et trouver de nouveaux moyens pour accomplir les objectifs stratégiques d'expansion de l'entreprise.
Les applications existantes correspondent aux lignes d'activités verticales sans sans réelle communication entre elles avec de nombreux modules fonctionnels en double.
Le découpage en services réutilisables, composables permet de rendre les technologies comme une expression concrète des processus d'entreprise - et non comme un ensemble disjoint de
systèmes représentant chacun un fragment de processus. Parallèlement, les processus métiers sont encapsulés et peuvent ainsi faire l'objet de mesures et d'analyses de pertinence.
Les applications informatiques sont réalisées avec des méthodes antédiluviennes ou on conçoit des nouveaux composants alors qu'ils existent par ailleurs faute d'avoir un catalogue efficient des services déjà réalisés et des technologies permettant de les utiliser.
Imaginez Apple, obligé de recréer processeur, écran, batterie, appareil photo, système d'exploitation, applications à chaque fois qu'un nouveau modèle d'iphone sort sur le marché.
Les processus peuvent alors être exprimés comme un ensemble de services assemblés (ou « orchestrés ») constituant un processus complet. Les contrats gouvernant les services intègrent des mécanismes pour mesurer les performances générales et vis-à-vis d’indicateurs clés. Mais ils mesurent aussi la conformité avec les engagements de qualité de service (SLA). Ces éléments quantitatifs permettent de mettre en lumière des opportunités d'améliorations et de réaliser une boucle d’itération pour aligner les systèmes d'information sur les besoins métiers.
L'augmentation du "time to market" c'est-à-dire la rapidité à laquelle on met une nouvelle fonctionnalité à la disposition du métier permet de renforcer la communication entre la DSI et les grands domaines fonctionnels. L'osmose produite entre technologie et besoins fonctionnels permet à la DSI d'obtenir plus facilement l’adhésion des directions métier dans le cadre d'un partenariat stratégique.
Le développement par ligne d'activité conduit à des applications en silos qui réduisent la visibilité et complexifient les processus transverses. Pour pallier au manque de transversalité, on crée des comités d'architecture qui se focalisent sur des solutions techniques sans avoir une autorité suffisante pour faire appliquer leurs recommandations. Ces organes doivent bénéficier de prérogatives étendues de gouvernance et instaurer un mécanisme de définition, déploiement, pilotage et administration d’accès standardisés aux fonctionnalités d’entreprise – avec une granularité et une visibilité adaptées aux différentes communautés d’utilisateurs. Seule une architecture de service idoine, associée à des principes de gouvernance renforcée, permet de développer une plate-forme de déploiement adaptée.
Mais la question qui nous préoccupe est le retour sur investissement. La collaboration renforcée entre le métier et le technique est rendu possible par l'amélioration en continu des processus et la réalisation de services métier. On peut donc quantifier la contribution de la DSI aux métiers, de calculer le rapport coûts/bénéfices service par service.
Bien sur on a les traditionnels avantages informatiques comme la réutilisabilité, l'évolutivité, la maintenabilité, la portabilité, la documentation, … Mais la ou on aura un réel bénéfice c'est au niveau de la valeur créée pour les clients permettant de les fidéliser et d'améliorer l'image de la société.
Il faudra savoir attendre ces retours sur investissement qui se concrétisent sur plusieurs années lorsque les services commencent à être mutualisés. Mais pour surfer sur la vague ne faut il pas se lancer et prendre de la vitesse au bon moment.  


Voir aussi le site :

Abandonnez le classicisme, relookez votre SI


15/08/2014
0 Poster un commentaire