Méthodologie SOA en six domaines

Transcription

Méthodologie SOA en six domaines
Livre Blanc BEA
Méthodologie SOA en
six domaines
Révéler les avantages métiers
d’une Architecture Orientée Services
Copyright
Copyright © 2005 BEA Systems, Inc. Tous droits réservés.
Avril 2005
UTILISATION, REPRODUCTION, GARANTIE
Le présent document ne peut être photocopié, reproduit, traduit ni résumé, en tout ou partie, par quelque moyen que
ce soit (électronique ou traditionnel), sans autorisation écrite préalable de BEA Systems, Inc. Les informations
contenues dans cette étude sont modifiables sans préavis et ne constituent en aucun cas un engagement de BEA
Systems, Inc.
MARQUES
BEA, Built on BEA, Jolt, Joltbeans, Steelthread, Top End, Tuxedo, WebLogic et BEA WebLogic Server sont des marques déposées de BEA Systems, Inc. BEA dev2dev Subscriptions, BEA eLink, BEA Liquid Data for WebLogic, BEA
MessageQ, BEA WebLogic Enterprise Platform, BEA WebLogic Enterprise Security, BEA WebLogic Express, BEA
WebLogic Integration, BEA WebLogic Java Adapter for Mainframe, BEA WebLogic JDriver, BEA WebLogic Log
Central, BEA WebLogic Platform, BEA WebLogic Portal, BEA JRockit, BEA WebLogic WorkGroup Edition et BEA
WebLogic Workshop sont des marques de BEA Systems, Inc. BEA Mission Critical Support est une marque de service de BEA Systems, Inc. Tous les autres noms de sociétés ou de produits sont potentiellement soumis à des droits
de propriété détenus par des tiers.
CWP0965E0705-1A
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
SOMMAIRE
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Six domaines répondant à des challenges spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Stratégie métier et processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
Programme SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Optimisation des processus métiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Orientation service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Standardisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Orientation entreprise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Orientation métier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Architecture de référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Coûts et avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Avantages des SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
Gestion des coûts SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
Projets et applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Projets et applications actuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
Planification du programme SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Briques de construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Infrastructures communes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
Organisation et gouvernance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Modèles de gouvernance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Conformité SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
Ressources additionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
A propos de bea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Contributeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Introduction
L’objectif des architectures orientées services ou SOA (Service Oriented Architecture) est de permettre aux
entreprises de réaliser des progrès métiers et technologiques en combinant l'innovation des processus, une
gouvernance efficace et une stratégie technologique centrée sur la définition et le réemploi des services. Bien
qu’impliquant une stratégie à long terme - qui amène à repenser la façon dont les technologies de l'information
sont fournies aux utilisateurs - les SOA doivent également répondre à des initiatives immédiates. En d'autres
termes, le bénéfice des SOA exige de maintenir l'équilibre entre objectifs à long terme et besoins opérationnels
à cour terme en instituant, dès l’initialisation, un ensemble de pratiques d’excellence organisationnelles,
financières, opérationnelles, de conception et de livraison. Le modèle SOA en 6 domaines conçu par BEA
« encapsule » ces pratiques d’excellence dans six domaines clés – qui doivent être traités avec la même
diligence pour proposer un framework SOA performant.
Bien que distincts, ces six domaines sont interconnectés et interdépendants. La réussite exige de les traiter
avec une égale attention ; ce document présente les enjeux propres à chaque domaine et les pratiques
d'excellence qui conditionnent la réussite de la mise en place d’une SOA.
Qu’est-ce qu’une SOA ?
L’architecture orientée service ou SOA est une stratégie permettant de convertir les fonctions applicatives
élémentaires en modules de service normalisés et interopérables qui peuvent ensuite être rapidement
combinés et réutilisés pour donner naissance à de nouvelles solutions ou processus composites.
En organisant les systèmes d’information autour de services et non d’applications, les SOA présentent les
avantages suivants :
• Meilleure productivité, agilité et vitesse pour l’entreprise et ses technologies de l’information ;
• Livraison accélérée de nouveaux services parfaitement conformes aux besoins métiers
• Meilleure réactivité opérationnelle et livraison accélérée de solutions utilisateur optimisées.
Six domaines répondant à des challenges spécifiques
Chacun de ces six domaines soulève un enjeu particulier pour réussir le déploiement d’une architecture orienté
service.
1. Processus Métiers & Stratégie
Enjeu : Fournir des implémentations techniques prenant en charge les activités opérationnelles et les
changements des besoins.
Réponse : Un environnement reliant l’administration et la quantification des technologies de l’information aux
stratégies métier afin que ces deux aspects fonctionnent en symbiose pour une constante amélioration des
processus.
5
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
2. Architecture :
Enjeu : Les entreprises financent et développent leurs projets informatiques par lignes d’activité. Elles gèrent
ensuite les processus d’intégration transversale qui limitent la capacité de changement.
Réponse : Un environnement technique basé sur des standards, la distribution, le « couplage faible » et des
représentations des processus permettant de répondre au changement et d’intégrer des fonctionnalités de
niveau entreprise.
3. Eléments de base :
Enjeu : Manque de cohérence et de reproductibilité empêchant d’atteindre des objectifs budgétaires et
d’agilité.
Réponse : Un socle d’information commun, standardisé et homogène permettant de capitaliser sur les
réussites à travers le réemploi des implémentations et des infrastructures centrales.
4. Projets et Applications :
Enjeu : Les technologies de l’information sont traditionnellement développées par projets au sein des lignes
d’activité métier impliquant de fréquents « doublons fonctionnels ». Elles génèrent souvent des doublons et
impliquent la réécriture de fonctionnalité à l’identique.
Réponse : Collecte, catégorisation et repositionnement des fonctionnalités des systèmes et applications
pour normaliser la façon dont ils sont proposés, réduire la redondance et améliorer l’homogénéité
d’exécution.
5. Organisation et Gouvernance :
Enjeu : La croissance interne par création de solutions ponctuelles pour répondre à de nouveaux besoins
génère des architectures rigides et coûteuses à modifier.
Réponse : Une structure organisationnelle chargée de la gouvernance et de la standardisation des modalités
de livraison des services, garantissant leur conformité aux besoins métiers et maximisant l'utilisation des
fonctionnalités existantes.
• Stratégies métiers SOA
• Architecture des processus métiers
Figure 1:
Les six domaines SOA
• Coûts de construction
• Avantages métiers
et informatiques
• Indicateurs clés
•
•
•
•
•
•
•
Processus
métiers &
Stratégie
Coûts &
Bénéfices
•
•
•
•
Architecture de référence
Administration/Disponibilité
Evolutivité
Sécurité
•
•
•
•
•
Services d'infrastructure
Services d’information et d'a
Services métiers partagés
Services de présentation
Applications composites
Architecture
Organisation &
Eléments
Conception organisationnelle
Gouvernance
de base
Financement
Compétences
Projets &
Fonctions et responsabilités
Applications
Standards
Processus et outils opérationnels
Gestion du changement
• Applications existantes
• Projets clés opérationnels
• Plans de construction des infrastructures
6
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
6. Coûts & Bénéfices :
Enjeu : Le rapport coûts/avantages des technologies de l’information est un facteur récurrent de friction
entre les départements informatiques et les directions fonctionnelles qu’ils supportent.
Réponse: Planification et exécution d’implémentations permettant de créer de la valeur rapidement en
intégrant les ressources existantes à une architecture évolutive et extensible.
Processus Métiers & Stratégie
Les technologies de l’information jouent un rôle clé dans le processus décisionnel des directions fonctionnelles ;
pourtant, la direction informatique est rarement perçue comme un partenaire stratégique mais plutôt comme une
entité relativement lente à produire les améliorations indispensables de productivité.
Cet écart entre les besoins métiers et la capacité d’exécution technique dépend moins des technologies
elles-mêmes que de la façon dont elles sont mises à la disposition des activités. Très souvent, les entreprises
commencent par développer une stratégie métier puis tentent ensuite de l’implémenter dans une stratégie
informatique distincte.
En outre, les stratégies opérationnelles et informatiques se basent sur des échelles de temps différentes : à
long terme pour les premières ; à court terme pour les secondes qui doivent répondre aux besoins immédiats
de chaque entité métier. Lorsque les systèmes d'information sont organisés sur la base des lignes d'activité,
l'écart entre les deux stratégies s’amplifie ; il en résulte des silos applicatifs ne bénéficiant d’aucune intégration
transversale.
La réalisation de gains de productivité exige de réduire l’écart entre les besoins liés à la stratégie métier et
l’exécution technique, et par conséquent, d’appliquer des changements fondamentaux aux principes
d’« alignement » entre les systèmes d’information et les stratégies métiers. Lors de la mise en place des SOA
de première génération, BEA a constaté que cette approche novatrice favorisait la synergie entre stratégies
informatiques et impératifs métiers en maximisant la conformité des réalisations aux besoins exprimés.
Architecture traditionnelle
Figure 2:
Approche traditionnelle et approche
SOA
Stratégie
métier
Stratégie
des technologies
de l’information
Architecture orientée service (SOA)
Stratégie
métier
SOA
Stratégie
des technologies
de l’information
7
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Programme SOA
Les SOA exigent un changement culturel dans les modes de collaboration, la réflexion architecturale et les principes de fourniture des fonctionnalités aux utilisateurs. Un programme SOA – bénéficiant d’appuis
hiérarchiques forts et d’une grande visibilité – est indispensable pour mettre en place ces changements dans
l’entreprise et notamment pour :
• Promouvoir le partage et la compréhension de la stratégie générale afin que les décisions soient prises
avec une vision globale (non limitée à une ligne d’activité) ;
• Centraliser la stratégie SOA d’entreprise pour chacun des six domaines clés à travers un programme
d’évolution sur plusieurs années ;
• Définir une architecture dynamique, réactive et standardisée ;
• Garantir une livraison au moindre coût des fonctionnalités par identification et optimisation des processus
divisibles en services partagés et réemployables ; éviter la duplication des fonctionnalités en utilisant celles
proposées par les applications existantes ;
• Décider des priorités de développement et de déploiement de services et choisir les incréments et dates
de livraison ;
• Établir une organisation de gouvernance appropriée afin que les processus, politiques et standards soient
respectés ;
• Encourager le changement et l’adoption à travers des mesures de promotion et d’incitation ;
• Déployer les outils de mesure appropriés pour analyser en permanence le rapport coûts/bénéfices ;
organiser une « boucle de rétroaction » pour valider la viabilité de l’ensemble du programme.
Optimisation des processus métiers
Les SOA font des systèmes d’information un partenaire à part entière de la stratégie générale d'entreprise.
Les technologies sont alors l’expression concrète des processus d'entreprise - et non 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. La direction des systèmes
d'information peut ainsi considérablement améliorer sa réactivité avec la maturité des SOA dans la mesure où
la fourniture de nouvelles fonctionnalités consiste à étendre des processus existants et non à construire des
systèmes ou applications indépendants.
L’étude des processus, systèmes et programmes de développement existants à court, long et moyen termes
permet d’identifier les processus prioritaires de l’initiative SOA. Il s’agit à ce stade de réaliser une analyse
collaborative entre les directions fonctionnelles et informatiques pour prioriser les activités en fonction de la
stratégie métier et d’initialiser une boucle d’itération pour maximiser le retour sur les investissements
existants. La figure 3 illustre cette boucle d’itération.
L’analyse des processus permet de recenser les fonctionnalités techniques préexistantes et celles nécessitant
de nouveaux développements. Les fonctionnalités métiers standards seront ensuite proposées sous forme de
services et de contrats en régissant l’usage. 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.
8
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
L’optimisation n’est pas un projet ponctuel mais l’exécution d’une stratégie SOA pluriannuelle. Pour en tirer des
avantages à court, moyen et long termes, elle exige en effet une gestion des cycles d’itération pour
standardiser la livraison des services conformément aux objectifs métiers.
Les SOA représentent un changement fondamental dans les modes de livraison des technologies de
l'information. Les gains d’agilité réalisés par une utilisation rapide et adaptée d’une SOA au service des lignes
d’activité encouragent une étroite collaboration entre les départements fonctionnels et informatiques pour
réaliser les avantages du changement dans toute l’entreprise. Lorsque la direction des systèmes d’information
peut exprimer les activités métiers en termes technologiques, elle obtient plus facilement l’adhésion des
directions fonctionnelles dans le cadre d'un partenariat stratégique. Plutôt que de simplement traduire les
besoins dans un jeu de systèmes et applications déconnectés au service des lignes d’activité, les SOA
permettent aux entreprises d’être vraiment innovantes et de s’adapter rapidement à des environnements
changeants.
• Orchestration
des services en processus
Figure 3:
• Alignement des critères
de mesure avec la stratégie
Optimisation des processus –
Boucle d’itération
• Identification des opportunités
d’optimisation
• Analyse des processus
• Collecte des fonctionnalités
des actifs existants
• Identification des fonctions
de support requises
• Développement
de nouvelles fonctionnalités
• Développement des contrats
et packaging en services
9
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Architecture
L’architecture définit comment les fonctionnalités sont fournies et déployées au bénéfice d’une activité et de
ses utilisateurs. L’évolutivité architecturale face au changement est un enjeu décisif que les méthodes
traditionnelles de livraison de services ne traitent pas correctement.
Pour que les architectures soient suffisamment réactives, c’est leur fonction même qui doit être repensée.
Les SOA sont au cœur de ce changement en raison de caractéristiques fondamentalement différentes de
celles habituellement en vigueur dans la plupart des grandes entreprises. Ces caractéristiques sont idéalement
adaptées pour gérer le changement et mieux aligner les systèmes d'information sur les besoins métiers.
Orientation service
Les systèmes d’information sont généralement acquis ou développés pour satisfaire les besoins d’un segment
métier donné - et déployés à son seul bénéfice. Cette approche sectorielle contribue largement à la duplication des
fonctionnalités - alors même que les initiatives de partage des fonctionnalités existantes (au niveau code ou
composant) échouent généralement en raison de cette orientation séquentielle des activités de développement.
Une approche de service exige de repenser la façon dont les fonctionnalités sont développées et livrées aux
utilisateurs. Il s’agit en synthèse de les analyser, les « factoriser » et les déployer une fois pour être utilisées à tous
les niveaux de l'entreprise et bénéficier de coûts réduits, d'une livraison accélérée et d’une meilleure réactivité au
changement. En complément de ses différences de financement et de gouvernance, l’approche de service
nécessite un changement dans la façon dont les fonctionnalités sont packagées et déployées. Les SOA intègrent
leurs modalités de mise à disposition sous forme de services et leurs principes d'administration et de pilotage.
Standardisation
Dans les architectures traditionnelles, chaque projet recourt à la méthode la plus immédiate pour satisfaire les
besoins exprimés. Ce qui peut conduire à la prolifération de technologies parallèles – qui peut poser problème
dès qu’il s’agit de leur faire échanger des informations. Les tentatives antérieures d’approche par composants
(comme CORBA ou DCOM) ont subi les désavantages des technologies requises pour les mettre en œuvre et
d’un développement peu dynamique des standards sous-jacents – voire des deux... Plus récemment des
solutions comme XML, les services Web et UDDI ont permis de développer un socle normalisé pour les SOA
favorisant le réemploi grâce à des technologies supportant les standards véritablement disponibles et
indépendantes de la plate-forme.
Orientation entreprise
Le développement des systèmes d’information par ligne d’activité réduit la visibilité et complexifie
singulièrement les initiatives transversales. Beaucoup d’entreprises répondent à cette déficience en créant des
groupes ou des comités d’architecture - qui généralement se focalisent sur la sélection des technologies 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.
10
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Orientation métier
Dans la plupart des entreprises, les utilisateurs fonctionnels ont besoin de dizaines d’applications pour
accomplir leurs missions quotidiennes. Il s’agit là encore d’une méthode traditionnelle de livraison par produit où chaque application est développée pour un ensemble de besoins. Cette organisation est génératrice de
redondances, d’augmentation des frais de formation, de dépendance vis-à-vis de compétences spécialisées,
de duplication des saisies de données et d’un manque général de visibilité et de contrôle des processus
globaux. L’objectif des SOA est de fournir des fonctionnalités dans un contexte que les utilisateurs peuvent
comprendre, spécifier, tester et utiliser quotidiennement.
Architecture de référence
Les caractéristiques exclusives des SOA et leur approche descendante « top down » permettent de définir une
architecture d’entreprise de haut niveau. Cette architecture – dite de référence - décrit les composants
essentiels de la SOA et leurs relations les uns avec les autres. L’architecture de référence SOA est présentée à
la figure 4.
L’architecture interpose entre les utilisateurs et les fonctionnalités des systèmes ou applications sous-jacentes
une infrastructure de service et de livraison. Ces couches de services et les infrastructures qui les prennent en
charge sont regroupées sous le vocable de « couche d’Infrastructure de Service » - exprimant leur vocation à
rénover les méthodes de livraison des technologies d’information. Les applications existantes, les données et
les solutions de middleware constituent les fondations dont les services sont « extraits ».
L’infrastructure prend en charge et formalise les activités existantes à travers des services normalisés
d’infrastructure - (socle commun pour le déploiement de tous les autres types de services). Elle assure
également leur administration (indépendance de l’emplacement physique, basculement, gestion, etc.) et le suivi
de leurs caractéristiques inhérentes à la qualité. Un « bus de service » prend en charge les activités générales
de routage et de transformation (comme un échangeur de messages ou un bus applicatif dans les outils
traditionnels de middleware). Les autres services généraux (journal, audit, sécurité, gestion des erreurs, etc.)
peuvent être intégrés aux outils d’entreprise pour normaliser la livraison des fonctions centrales. Ces services
sont déployés dans une infrastructure de partage qui constitue un nouveau concept pour beaucoup
d'entreprises mais n'en reste pas moins un élément clé pour construire une plate-forme SOA performante.
Ventes
Figure 4:
Engineering
B2B
Services
B2C
Clients
Partenaires
Architecture de référence SOA
Systèmes d’information Données et Middleware
d’entreprise
Applications spécifiques
Progiciels tiers
(PGI, GRC, etc.)
Bases de
Middleware
données Interactions
(Tuxedo, MQ, etc.)
Couche d’infrastructure
de service
Services d’information et d'accès
Services communs
Services métiers partagés
Bus de service
Services de présentation
Gestion des services
Applications composites
Besoins
non fonctionnels
Standards
Outils de
développement
Gestion
des configurations
Administration
système
Administration
réseau
Dimensionnement
Pilotage des
activités métier
Répertoires
Modèles
11
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
La couche d’information et d’accès représente les fonctionnalités existantes. Ces services sont créés
(ou collectés dans les ressources existantes) et déployés dans l’infrastructure de partage pour garantir la
qualité de service ; elle normalise les accès aux fonctionnalités et informations en les encapsulant afin que les
utilisateurs n’aient pas à connaître les technologies ni les modalités d’implémentation sous-jacentes du service.
La mise en œuvre de ces concepts clés permet de développer un socle commun pour accéder aux ressources
existantes et les intégrer à de nouveaux services, plus performants, à haute valeur ajoutée et ciblés sur une
fonction ou une communauté d’utilisateurs. La couche de services métiers partagés représente les
fonctionnalités essentielles d’entreprise ; elle se distingue de la couche de services d’information et d’accès
dans la mesure où elle fournit des fonctionnalités applicables aux informations – et non les informations
elles-mêmes. En d’autres termes, la couche de services métiers partagés intègre les services dans la couche
des services d’information et d’accès pour proposer des fonctions métiers communes. Par exemple, si un
collaborateur est représenté par une entité d’entreprise, encapsulée comme un service d’information, un
service métier partagé de planification peut intégrer le service d’information de ce collaborateur pour obtenir les
données permettant de modifier son planning.
La couche de services de présentation intègre des composants communs - utilisant des services d’information
et d’accès partagés pour interagir avec les ressources d’entreprise – et favorise le réemploi des logiques de
présentation. Par exemple, un portlet d’information de compte constitue un service de présentation (utilisable
dans un portail en libre-service ou d’assistance client), recourant à un service d’information pour afficher les
données du client.
La couche d’applications composites orchestre les autres services et fonctions pour proposer des outils
généraux d’entreprise ; elle représente les fonctionnalités métiers de la façon dont les utilisateurs les envisagent
et souhaitent les utiliser. Un portail d’assistance client ou un processus d'introduction de nouveau produit sont
des applications composites. Elles constituent un processus métier qui peut être géré et mesuré pour
parfaitement répondre aux besoins et aux attentes des utilisateurs fonctionnels. Les véritables avantages
de la couche d’infrastructure de service sont réalisés lorsque les utilisateurs – en parfaite synergie avec les
intervenants techniques – peuvent développer des outils transfonctionnels innovants procurant un remarquable
retour sur investissement.
Au-delà des couches de services et des infrastructures partagées sur lesquelles elles sont déployées, d’autres
besoins et disciplines technologiques doivent être traités pour répondre aux besoins architecturaux généraux.
Les disciplines de développement (packaging, déploiement, suivi des versions et des changements, etc.)
doivent également être normalisées et renforcées afin d’assurer l’homogénéité de l’environnement de partage.
Les caractéristiques de la plate-forme de déploiement (fiabilité et disponibilité) doivent également être prises en
compte pour fournir une qualité de service répondant aux exigences de réactivité d’entreprise.
12
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Coûts & Bénéfices
La justification d’un programme SOA ne relève pas de la même logique que les projets traditionnels dans la
mesure où les SOA présentent des avantages multiples concernant l’ensemble de l’entreprise. En effet, à
travers les innovations rendues possibles grâce à l’optimisation des processus et aux services partagés, les
SOA offrent des opportunités de création de valeur incomparablement plus élevées que les projets logiciels
classiques. Ce pouvoir d’innovation des SOA est un facteur clé de différentiation pour concevoir un cas métier
robuste. Son évaluation économique doit prendre en compte le fait que les coûts initiaux de mise en œuvre
d’un programme SOA génèrent des bénéfices qui s’accumulent et s’accélèrent substantiellement au fil du
temps.
Avantages des SOA
Sur un plan opérationnel, la continuelle amélioration des processus et la livraison de services orientés métier sont
rendues possibles par une collaboration plus étroite entre les intervenants métiers et informatiques. Les avantages
de cette approche sont nombreux car elle permet de comptabiliser la contribution des technologies de l’information
aux stratégies métiers et de quantifier le rapport coûts/avantages des fonctionnalités service par service.
Sur un plan informatique, les avantages sont également nombreux : livraison de services plus rapide, déploiements
incrémentaux, réemploi des services, accélération des déploiements, standardisation, portabilité des compétences et
réduction des besoins d’expertise spécialisée dans un environnement normé. L’infrastructure de partage exige une
attention particulière dans la mesure où une plate-forme commune de déploiement des services améliore la fiabilité,
la disponibilité, l’extensibilité et les performances grâce à des outils communs de mesure et d’administration.
L’impact d'un programme SOA est généralement plus important pour les domaines métiers. En effet, les budgets
informatiques représentent généralement de 5 à 11 % des budgets totaux de l’entreprise et les réductions des
coûts ou gains de productivité font « pale figure » comparativement aux bénéfices opérationnels. L’exemple d’un
client de BEA permet d’illustrer cette différence entre la rentabilité informatique et les bénéfices métiers.
Figure 5:
Justifications SOA
Avantages Métiers
Résultats liés aux enjeux métiers stratégiques
Principal
Augmentation du chiffre d’affaires en raison d’une
meilleure réactivité de mise sur le marché et du
profilage personnalisé.
Amélioration de 75 % de la fidélisation de la clientèle
Réduction de 20 % du coût de lancement par offre
Meilleur reporting, analyse plus fine des clients et des
campagnes
Avantages IT
Résultats liés aux enjeux informatiques stratégiques
Secondaire
Réduction des coûts de back-office de 30 à 40 %
Systèmes centraux retirés – plus de 200 applications
Développement d’applications dans les délais et les budgets
Réutilisation de 30 % - conforme aux objectifs
13
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Cette banque internationale - après avoir identifié les vecteurs clés de sa stratégie métier et les objectifs de son
programme SOA - a suivi sa progression tout au long de lla mise en place. Les résultats techniques ont été
particulièrement significatifs puisque plus de 200 applications ont pu être éliminées – ainsi que les coûts de support
et de maintenance des fonctionnalités dupliquées. Cependant, les résultats les plus remarquables ont été obtenus
dans le domaine fonctionnel puisque les « sponsors métiers » du programme SOA ont amélioré de 75 % la
fidélisation des clients grâce à leur nouvelle capacité à proposer rapidement de nouveaux services et fonctionnalités
à travers leurs canaux de commercialisation en ligne.
Les entreprises ayant adopté une architecture SOA utilisent plusieurs approches pour justifier les investissements
initiaux et récurrents de leurs programmes SOA. Les critères techniques de quantification sont parfois complexes
mais certains se focalisent sur le développement d’un framework simple pour aligner les systèmes d’information
avec les impératifs métiers. L’identification et la définition de ces critères au début du processus de planification
SOA permettent de prioriser les travaux afin de créer de la valeur dès le début du projet.
Les objectifs et la stratégie métier - associés à l’inventaire des fonctionnalités disponibles et des activités techniques
requises pour les prendre en charge - fournissent toutes les informations nécessaires pour développer une stratégie
d'implémentation SOA focalisée sur la création de valeur, sous la responsabilité commune des intervenants
techniques et fonctionnels. Cette priorisation des premiers projets sur la création de valeur est essentielle pour
garantir la pérennité à long terme des programmes SOA.
Gestion des coûts SOA
Les avantages des SOA se mesurent sur plusieurs années et non sur quelques mois. Des investissements
initiaux en ressources humaines et technologies doivent être réalisés qui produisent leurs effets lorsque les
services commencent à être utilisés et les fonctionnalités standards réemployées pour générer d’autres gains
opérationnels, marginaliser les applications les plus anciennes et capitaliser sur différents autres facteurs de
rentabilité.
Lorsqu'il existe un nombre conséquent de services réemployables, la capacité des systèmes d'information à
fournir rapidement de nouveaux outils pour tirer parti des opportunités du marché permet de réaliser de
considérables bénéfices opérationnels. L’impact initial des investissements SOA peut également être minimisé
en sélectionnant avec attention les projets ayant le plus fort effet d’entraînement. Au fil du temps, les SOA
modifient la structure du coût des technologies de l’information comme illustré à la figure 6.
Structure des coûts de livraison traditionnels et SOA
Approche
traditionnelle
Coûts cumulés
Figure 6:
SOA
Investissements
en infrastructures
SOA
1
2
3
Intégration
des infrastructures
SOA
4
5
6
7
Maturité
des infrastructures
SOA
8
9
10
11
Nombre de fonctionnalités implémentées
14
12
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Projets et applications
Dès que l’architecture de référence SOA et la structure du programme sont définies, il reste à choisir les
services qui offriront les fonctionnalités et le retour sur investissement exigés par l'entreprise et leur rythme de
déploiement. Ce plan de déploiement des services guide et priorise les travaux de collecte, de développement
et d’optimisation des services.
La stratégie de service débute par l'identification des projets déjà planifiés et des fonctionnalités du portefeuille
d’applications pour déterminer les services existants qui peuvent être implémentés ou collectés. Les projets qui
complètent l’architecture doivent ensuite être développés et priorisés. Le programme SOA permet de gérer
plusieurs projets individuels créateurs de valeur métier pour gagner de nouveaux clients, maximiser la valeur
des clients existants ou accélérer la création de nouveaux produits ou services. La planification efficace de ces
projets pour fournir des services partagés est une discipline essentielle pour garantir la réussite des
programmes SOA.
Projets et applications actuels
Les programmes SOA débutent généralement dans un contexte de forte hétérogénéité (infrastructures
techniques, applications, projets en cours, etc.) nécessitant d'analyser l’état initial des applications et des
projets pour localiser les fonctions existantes applicables à l’ensemble de l’entreprise – et donc potentiellement
réemployables. Cette étape est cruciale lorsque plusieurs applications disposent de fonctionnalités identiques
ou similaires. Elle permet également de localiser les composants d’infrastructure existants et ceux qui devront
être acquis ou développés pour fournir une SOA complète. En revanche, il n’est pas nécessaire à ce stade
d’envisager les fonctionnalités entièrement spécifiques à l’application ou au projet pour lequel elles sont
développées.
Le programme SOA doit donc débuter par un inventaire des applications existantes et un catalogue des
projets en cours ; ces deux éléments doivent notamment intégrer les informations suivantes :
• Fonctionnalités des applications existantes, services et dépendances ;
• Granularité et capacité des services existants ;
• Interdépendances des applications existantes avec les projets planifiés ou en-cours et enjeux de
développement et de maintenance ;
• Utilisation actuelle des services communs ;
• Coûts et autres critères de mesure relatifs au développement applicatif ;
• Informations consultées et livrées par les applications ;
• Modèle de données, transformations et traductions utilisés dans les applications ;
• Workflow et flux de processus impliqués dans les applications ;
• Utilisation de services tels que signature unique (SSO), journalisation, traitement des erreurs et exceptions,
monitoring et notifications ;
• Contrats de niveau de service (SLA), de qualité de service (QoS) et autres informations métiers
non-fonctionnelles ;
• Détails des prévisions de livraison actuelles et des calendriers des projets immédiats.
.
15
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Il peut exister plusieurs catalogues ou inventaires - associés aux lignes d’activité, divisions ou selon d’autres
critères. En amont du programme SOA, les services essentiels sont identifiés d’après l’importance de leurs
fonctionnalités dans les processus métier de l’entreprise. Le résultat de cette analyse fournit les bases pour
mieux comprendre les services de haut niveau qui seront mis en œuvre dans les infrastructures SOA. Lorsque
le catalogue projet et l’inventaire des applications sont réalisés, il est possible de sélectionner les services
initiaux de l’infrastructure SOA.
Ces décisions doivent également intégrer les conclusions des activités d’optimisation des processus. Certains
services applicatifs correspondent bien aux services métiers stratégiques et d’autres éléments peuvent fournir
des fonctionnalités ou composants d’infrastructure utiles (services d’information et d’accès, etc.). Certains
services applicatifs existants nécessitent en revanche des modifications pour répondre aux besoins
transversaux d’entreprise.
L’audit initial des applications et projets permet d’identifier les fonctionnalités préexistantes candidates à une
mise en service. Ces services initiaux sont publiés dans un catalogue contenant les détails de leurs interfaces,
de leurs fonctionnalités et d’autres métadonnées permettant de définir leurs « contrats d’utilisation ». Cette
documentation doit être conforme aux principes de développement partagé du programme SOA et faciliter
l’identification des services intégrables aux différents projets applicatifs. Le programme SOA doit gouverner la
structure et les règles de propriété du catalogue de services, de la stratégie de service et des autres modèles
de communs.
Planification du programme SOA
Le lancement d’un programme SOA est une vaste entreprise, impliquant de multiples applications utiles à
l’ensemble de l’entreprise. Après avoir été localisés et publiés, les services seront en effet utilisés par plusieurs
entités internes – voire par des partenaires ou des clients. Compte tenu de cette importance stratégique, les
programmes SOA doivent faire l’objet d’une implémentation graduelle, préférable à une approche de
« big bang », comme en attestent tant l’expérience de BEA que les pratiques d’excellence professionnelles.
En effet, la réduction des risques et de la complexité des projets de développement logiciel exigent une
approche incrémentale pour maîtriser la complexité architecturale et générer des avantages métiers tout au
long du cycle de vie du programme - et notamment dans ses phases initiales. Cette analyse permanente du
rapport coûts/bénéfices des solutions SOA permet de garantir leur justification et leur pérennité.
L’identification, la planification et la définition des contenus des projets SOA répondent à plusieurs motivations
sous-jacentes et au besoin de développer des services partagés et des blocs de construction. Par ailleurs, les
travaux de rénovation et de portage des applications monolithiques ou spécialisées dans l’infrastructure SOA
doivent être intégrés au planning. Certaines de ces motivations vont au-delà de celles qui influencent
normalement les projets de développement non-SOA spécifiques à une ligne d’activité et soulignent le besoin
d’une structure de gouvernance.
16
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Nos expériences des solutions SOA nous permettent de classer les projets de production de services partagés
en différentes catégories en fonction de leurs attributs de complexité et de phase. Le niveau de complexité se
réfère à la solution technique requise pour le projet et au type d’application développé ; il peut être faible,
moyen ou élevé. La matrice de complexité intègre de multiples facteurs : organisation, importance stratégique
ou tactique de l’application, niveau de maturité de la gestion politique de l’application, sophistication des
mécanismes de gouvernance appliqués au développement d’applications, etc. La notion de phase se réfère au
niveau d’avancement du projet ; on en distingue généralement trois qui sont caractérisées par des enjeux
spécifiques applicatifs, de développement, métiers, opérationnels et techniques liés au nombre croissant
d’applications en environnement SOA.
La figure 7 illustre ces deux notions de complexité et de phase ainsi que les motivations des projets successifs
et la compréhension de l’environnement initial qui guident la planification et le cadencement des programmes
SOA. Cette discipline permet d’obtenir une bonne visibilité des réussites métiers et de créer les infrastructures
techniques essentielles en amont du cycle de vie pour recevoir ultérieurement des applications plus complexes
grâce à la maturité des infrastructures SOA.
• Infrastructure partagée
• Multiples applications
• Partage et réutilisation généralisés
des services d’entreprise
• Intermédiaire
• Contrôles basés sur des politiques
• Gestion des contrats de niveau
de service et de qualité (SLA/QoS)
• Déploiements distribués étendus
• Processus métiers et applications
composites
• Modèles de gouvernance intégrés
• Introduction SODA
• Solution tactique
mono-application
• Accès aux données
via services
• Applications composites
• APS
Faible
Moyenne
Approche du développement
incrémental
Complexité
Figure 7:
Forte
Nirvana SOA
Phase
Phase 1
Phase 2
Phase 3
17
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Le développement progressif de l’infrastructure SOA, des livraisons et du catalogue de services conduit à une
plus grande présence des modules partagés et à l’essor de nouveaux projets dans le temps.
La figure 8 indique comment les services peuvent être collectés dans différents projets et partagés et comment
l’infrastructure cible est développée en adoptant l’approche recommandée de développement incrémental.
Les blocs de construction - identifiés d’après les applications, les projets et l’organisation cible - sont
regroupés dans les couches de l’architecture de référence, et leur implémentation est planifiée en fonction du
calendrier de livraison des applications et projets, de la stratégie générale et de la charge d’implémentation.
BEA recommande d’adopter une approche incrémentale de conception de l’architecture cible et des blocs de
construction associés pour bénéficier d’un retour sur investissement immédiat – et non après deux ou trois ans
de déploiement d’une infrastructure SOA complète.
La planification de l’implémentation des blocs de construction dépend des besoins du projet et des charges de
conception, de développement et de test de chacun d’entre eux. Le guide d’estimation de projet SOA conçu
par BEA peut être utilisé pour estimer les efforts nécessaires au développement de chaque bloc de
construction et de chaque application. Les estimations des blocs de construction définissent les phases et les
modalités d’accélération de la création de valeur des investissements d’infrastructure sous-tendant la SOA ;
associées aux besoins métiers et non-fonctionnels, elles peuvent être utilisées pour planifier le développement
d’architectures cibles orientées SOA.
Applications composites
Approche incrémentale de collecte
1
Plan d’infrastructure — Exemple
Objectif : plan de développement à
plusieurs années séquencé par :
• les principales initiatives métier ;
• les projets de développement en cours ;
• les capacités organisationnelles ;
• les financements disponibles ;
• la nature des applications.
3
1
Services métiers partagés
2
3
1
1
2
3
3
2
1
2 2 1
Services d’information et d'accès
2
1
3
1
18
2
Services de présentation 1 2 3
2
- Projet 1
3
3
2
3
- Projet 2
3
- Projet 3
2
1
1
1
1
2
2
2
3
3
3
Couche d’infrastructure
de service
3
Services communs
3
Bus de services
2
1
Gestion des services
1
Figure 8:
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Eléments de base
Les éléments réutilisables - développés de la première à la dernière application d’un programme SOA
pluriannuel - et les infrastructures dans lesquelles ils sont déployés, pilotés et administrés constituent les blocs
de construction SOA. Ils peuvent être logiciels (code, modèles de données normatifs, processus, services,
applications, composants) ou organisationnels (pratiques d’excellence, standards, outils de développement, de
déploiement, d’opération, d’administration, etc.). Les applications sont construites à partir d’un ensemble de
blocs de construction constituant l’infrastructure d’entreprise. Comme pour l’architecture cible, BEA
recommande de développer progressivement ces blocs de construction et de les optimiser par itération.
Les services constituent le composant essentiel des blocs de construction logiciels. Un service peut être défini
comme un moyen d’assembler des blocs de construction logiciels pour fournir une fonctionnalité à des
utilisateurs ou à d’autres services – qui sont alors qualifiés de « consommateurs » pour les distinguer des
utilisateurs.
Un service est composé de trois éléments : une implémentation, une interface et un contrat. Les services
représentent une fonctionnalité requise par un ensemble d’utilisateurs ou de consommateurs ; cette fonctionnalité
est l’implémentation du service. Pour accéder à l’implémentation, les utilisateurs ou consommateurs passent par
l’interface et manipulent sa fonctionnalité conformément aux principes de son contrat.
Implémentation de service : La partie implémentation du service est constituée du code, de l’interface de
l’application ou d’autres actifs technologiques contenant la fonctionnalité requise. Elle peut être accomplie par
n’importe quelle technologie. Les premières implémentations représentent généralement une fonctionnalité
préexistante.
Interface de service : L’interface donne aux utilisateurs un moyen d’accès à la fonctionnalité conformément
aux principes du contrat de service. Un service donné peut proposer plusieurs interfaces permettant de
l’utiliser de différentes façons. Par exemple : une interface fournissant un accès synchrone à une fonctionnalité
interactive et une interface asynchrone pour d’autres utilisations.
Contrat de service : Le contrat indique l’objectif, la fonctionnalité, les contraintes et les principes d’utilisation du
service ; il est défini par des utilisateurs fonctionnels dans leur propre vocabulaire. Par exemple : un contrat peut
limiter l’utilisation d’une fonctionnalité offerte par une interface en fonction du rôle de l’utilisateur ou de sa
provenance (interne/externe). L’infrastructure SOA doit assurer la définition et l’application des contrats. Des outils
– tels que les plates-formes d’administration de services Web et les bus de services d’entreprise – permettre de
répondre à ces besoins.
19
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Caractéristiques
Les principales caractéristiques fonctionnelles d’un service sont son mode d’appel (synchrone ou asynchrone),
ses principes d’échange (unidirectionnel ou bidirectionnel) et sa complexité (fonction de sa granularité).
La granularité se réfère au niveau d’abstraction du service. Un service à forte granularité propose une
fonctionnalité élémentaire : par exemple, une méthode normalisée d’appel à une API (service d’accès) ou un
mode opératoire vis-à-vis d’une entité d’entreprise comme un collaborateur (service d’information).
Les services métiers partagés sont généralement aussi des services à forte granularité assurant des opérations
élémentaires (calculs financiers, etc.) Les services à faible granularité proposent des mécanismes pour accéder
à des fonctionnalités complexes - telles que la procédure d’embauche d’un collaborateur ou le traitement
d’une commande. Les services à faible granularité ont souvent une longue durée de vie exigeant de
coordonner l’exécution de services à plus forte granularité ; leur implémentation est naturellement plus
complexe.
Les caractéristiques non-fonctionnelles du service intègrent des facteurs tels que les besoins volumétriques, la
qualité de service, la durée d’exécution, etc. qui sont intégrés à son contrat. Les caractéristiques et fonctionnalités
des services permettent de les classer dans différentes couches architecturales. Même si ces dernières sont
déployées selon des principes physiques différents, cette catégorisation permet de prendre des décisions
informées sur l’utilité et les priorités de développement. Les premiers blocs de construction sont les services
d’infrastructure (journalisation, audit, gestion des erreurs, etc.). Ces composants à vocation étendue partagent
souvent les mêmes implémentations (au moins au niveau de la forme du code) et fournissent les infrastructures
communes nécessaires à tous les services qui seront développés ultérieurement. Les services d’information et
d’accès sont également parmi les premiers développés compte tenu de leur utilité générale.
Les disciplines informatiques nécessaires pour réussir l’implémentation SOA doivent également être considérées
comme des blocs de construction (stratégies de gestion des versions, de packaging, de déploiement des services,
de test, etc.). Ces méthodes peuvent varier selon les divisions (voire au sein de la même ligne d’activité) ou être
applicables à l’ensemble de l’entreprise (et faiblement utilisées). En matière de SOA, la réactivité de livraison des
services à leurs utilisateurs ou consommateurs dans toute l’entreprise exige de respecter des principes normalisés
dont la création et l’application sont du ressort de la gouvernance SOA.
Infrastructures communes
Les infrastructures communes prennent en charge les premiers blocs de construction et intègrent différents
composants et notamment un référentiel de services permettant aux consommateurs potentiels de rechercher les
servies disponibles et aux producteurs de services de faire connaître leur disponibilité. Cette capacité à localiser et
utiliser rapidement une fonctionnalité obéissant à un contrat d’utilisation est un des avantages clés des SOA.
Le référentiel de services simplifie la consommation des services dès que les premiers blocs de construction sont
disponibles - et devient rapidement indispensable avec l’augmentation du nombre de services. Les composants
d’infrastructure suivants – impliqués dans le développement et le déploiement des services – doivent également
être considérés comme des blocs de construction SOA par nature :
• Infrastructures de sécurité (gestion des identités, frameworks de sécurité d’entreprise, etc.)
• Infrastructures de routage, transformation et traduction dynamique (généralement un bus de service
d’entreprise)
• Gestion des configurations des composants déployés, du matériel et des services d’exécution.
• Technologie de portail (livraison multicanal, fédération des contenus Web, infrastructures de présentation,
etc.)
20
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
La maturité des SOA nécessite également une plate-forme de monitoring des activités (BAM) pour quantifier les
performances de la SOA par rapport aux contrats.
La plate-forme sur laquelle les services sont déployés et ses modalités d’intégration aux infrastructures nécessitent
également un examen attentif. Un grand nombre de technologies et de plates-formes peuvent être mises en œuvre
pour fournir ces composants de l’infrastructure SOA. Néanmoins, l’impératif de standardisation permet de ne
retenir que des solutions au meilleur état de l’art et de nombreux facteurs jouent en faveur de l’adoption d’une
plate-forme intégrant toutes les fonctionnalités requises dans un environnement unique de développement et de
déploiement pour simplifier tous les aspects opérationnels et la standardisation des méthodes.
Ces infrastructures SOA peuvent être déployées lors de la livraison des services qui les utilisent afin de minimiser les
risques et les coûts en intégrant graduellement les blocs de construction et des infrastructures.
Organisation et Gouvernance
À ce jour, les tentatives de transformation des systèmes d’information par maximisation du réemploi ont connu
un succès limité en raison de faiblesses dans la définition des fonctionnalités, le suivi du changement, la
conception, la gestion de projet ou dans les outils disponibles. Cependant, dans la plupart des cas, et quels
que soient les progrès accomplis dans chaque discipline, l’absence de structures et de principes forts de
gouvernance et d’organisation joue un rôle central, voire décisif dans ces échecs. Tout projet de transformation
des modes de fourniture des technologies de l’information doit adopter une approche stratégique, impliquant
toute l’entreprise et s’appuyant dès l’initialisation sur des pratiques d’excellence et des structures de
gouvernance. Les SOA ne font bien entendu pas exception à la règle.
La gouvernance et le développement d’une organisation pour la prendre en charge sont les fondations du
modèle de domaine. Le programme de gouvernance SOA doit contrôler tous les éléments suivants :
• Conformité aux standards : Le succès des SOA exige que les services et l’architecture soient développés
à partir de standards clairs et applicables à toute l’entreprise.
• Stratégie de service : Contrôle global de la définition, du développement et du déploiement des services au cas par cas lors de la mise en production - pour concevoir un portefeuille complet de services
interopérables.
• Gestion du changement : Les évolutions et changements incessants des besoins métiers et leurs
conséquences sur les systèmes centraux peuvent avoir d’importants effets induits qui sont largement
diminués à travers une utilisation optimale de l’architecture de référence et un processus rigoureux de
gestion du changement.
21
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
• Stratégie de réemploi : Le coût des technologies de l’information est souvent surévalué en raison de la
duplication des fonctionnalités ou de l’incapacité à partager celles qui existent déjà. À travers ses
standards et sa stratégie, la gouvernance assure le suivi des fonctionnalités d’entreprise et met en œuvre
des politiques pour maximiser le réemploi et simplifier le processus de gestion du changement.
• Structure organisationnelle : Les SOA nécessitent d’adopter une nouvelle organisation des équipes afin
de garantir le respect des normes, des principes de réemploi et de la stratégie de service. Les structures
organisationnelles SOA permettent de mettre en œuvre de multiples modèles (de « totalement centralisé »
à « totalement fédéré ») pour s’adapter aux besoins spécifiques de chaque entreprise.
• Changement culturel : La stratégie de gouvernance doit promouvoir un changement culturel, notamment
dans les modes de collaboration et de partage des informations, besoins et fonctionnalités entre les
départements informatiques et les directions fonctionnelles. La gouvernance doit également combattre la
tendance naturelle à « réinventer la roue ».
• Développement des compétences et pratiques d’excellence : Les fonctions d’organisation et de
gouvernance proposent une vue globale des compétences techniques et non-techniques requises par
l’entreprise et s’attachent à collecter et partager les pratiques d’excellence pour optimiser la productivité
des collaborateurs, diffuser les compétences dans l’organisation et garantir leur portabilité d’un projet à
l’autre.
• Modèle de financement et comptabilisation : Les services et l’architecture de référence institutionnalisent
un suivi et un reporting à forte granularité des coûts et des bénéfices des technologies de l’information et
permettent d’optimiser les décisions d’investissement. Cette approche est essentielle pour démontrer la
valeur créée et développer les cas d’utilisation ultérieurs – et plus particulièrement des services
d’infrastructure de niveau entreprise.
Le programme de gouvernance SOA doit être déployé en plusieurs phases dont les activités sont détaillées
dans le tableau qui suit.
Figure 9:
Phases d’organisation
et de gouvernance
Phase I. Définition
• Principes SOA généraux
• Architecture SOA
• Principes, politiques et standards
(conception, développement,
opérations, outils, etc.)
• Processus et procédures SOA
(opérations, gestion du
changement, etc.)
• Organisation SOA (concepts,
compétences, fonctions et
responsabilités)
22
Phase II. Administration
• Communication (interne, externe)
• Respect des standards SOA et
conformité des services
• Architecture SOA Processus
d’exception
Phase III. Support / Contrôle
• Monitorat d’entreprise
• Définition et administration du
catalogue de services métiers
• Pilotage des processus
• Architecture SOA Processus
d’inspection et d’adaptation
• Financement
• Processus de gestion du
changement
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Modèles de gouvernance
La réalisation d’une infrastructure de services partagés exige d’adopter un modèle de gouvernance approprié –
c’est-à-dire : prédéfini, général et standardisé - pour satisfaire simultanément les exigences des départements
informatiques et fonctionnels. Le modèle de gouvernance prend en charge les enjeux informatiques suivants :
• Responsabilités et modalités de définition des services partagés et réemployables.
• Modalités de construction des services, intervenants et approche de l’ingénierie logicielle.
• Habilitation des utilisateurs, modalités d’utilisation des services.
• Principes des activités associées de déploiement et de fonctionnement opérationnel des services.
• Responsabilité de la coordination des quatre activités ci-dessus et principes généraux de réussite.
En termes métiers, le modèle de gouvernance gère les aspects suivants :
• Modalités de quantification et niveau de granularité (par application composite ou service par service) de
l’efficacité de mise sur le marché et du retour sur investissement afin de sécuriser la rentabilité de l’initiative
SOA et de mener une étude permanente du rapport coûts/avantages du programme.
• Méthode d’orchestration des groupes de services en solutions métiers (ou applications composites) et de
gestion du cycle de vie afin que l’intégrité de la solution métier soit assurée tout au long de son cycle de
vie – quels que soient les services qui la composent.
• Principes d’ingénierie domaine à plus long terme pour poursuivre l’optimisation des processus représentés
dans le système d’information à travers le référentiel de services.
Les modèles mis en œuvre varient considérablement d’une entreprise à l’autre mais il est toujours préférable
d’anticiper le besoin d’un modèle multiniveau dans la mesure où chaque service transversal intègre ses propres
challenges de gouvernance. Les modèles multiniveaux aident les entreprises à faire face au volume et à la
variété des enjeux qui se posent dans ce domaine.
Généralement un modèle de gouvernance multiniveau en comporte trois : un pour chaque catégorie de
service. Le modèle de gouvernance regroupe les services en fonction de leur potentiel de réutilisation et affecte
différents degrés de contrôle centralisé et un contrôle métier direct à chaque niveau.
Moins universel – Plus spécifique
Modèle orienté métier
• Financement : Direct par les activités
• Architecture : Architectes applicatifs sponsorisés
Figure 10:
Applications composites
par une direction fonctionnelle et sous
la responsabilité d’un Architecte en chef
Exemples de modèles de gouvernance
multiniveaux
• Développement : Equipes métiers
Services de présentation
Modèle orienté métier- Administré SI
• Financement/définition : Conseil métier
Services métiers partagés
• Architecture/Développement : DI
Modèle central/partagé
Services d’information et d'accès
• Financement : Central/partagé, négocié avec
les directions fonctionnelles
Services d'infrastructure
• Architecture : Architectes centraux sous
la responsabilité d’un Architecte en chef
• Développement : Groupe de développement central
Plus universel et générique
23
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
La gouvernance n’est pas une activité ponctuelle ; elle exige des efforts constants pour garantir le respect par
les nouveaux projets des principes architecturaux SOA et l’application des principes de conformité SOA.
Conformité SOA
Les entreprises ne peuvent pas s’appuyer uniquement sur des collaborateurs compétents et des canaux de
communication efficaces pour garantir la conformité architecturale - qui relève autant d’un changement culturel
que de la stricte application des principes de conformité. Dans les phases initiales des projets SOA, les
objectifs de gouvernance sont généralement plus interventionnistes et diffèrent de ce qu’ils deviendront dans
une architecture plus mûre ou la SOA est « institutionnalisée ».
Les entreprises doivent également s’assurer que les standards architecturaux et les meilleures pratiques sont
respectés en définissant un processus formel de revue de conformité SOA. Ce dernier peut être mené par un
intervenant extérieur, comprenant les principes fondamentaux de la SOA et capable de fournir une vue
stratégique des services métiers partagés.
L’incapacité à appliquer les principes de conformité SOA génère les inconvénients suivants :
• Alignement défectueux des services SOA avec l’architecture de référence – ou utilisation inappropriée
des standards.
• Mauvaise prise en charge des objectifs métiers – dans la mesure où les services ne représentent plus
directement des processus métiers.
• Dilution voire disparition de la couche d’infrastructure de service – provoquant la perte d’une source
majeure d’améliorations.
Organisation
La réussite d’un programme SOA exige de rénover la façon dont les technologies de l’information sont
organisées et utilisées ce qui peut avoir un impact très différent en fonction du type d’entreprise. Certaines sont
organisées en divisions avec leurs propres départements et ressources informatiques ce qui génère une grande
complexité et conduit souvent à la divergence des portefeuilles applicatifs et des méthodes d’interaction avec
les systèmes d’information.
Pour réaliser les bénéfices des SOA, une mise en conformité de plus haut niveau est nécessaire qui exige un
changement culturel, une évolution des compétences, la redéfinition de certains rôles et responsabilités et la
mise en œuvre d’un modèle commun de financement des services. Par ailleurs, il est également important que
les principes du modèle de gouvernance soient appliqués uniformément à toute l’entreprise ce qui nécessite un
équilibre entre le contrôle local et la coordination centrale. Cette dernière peut être réalisée par un groupe d’architecture SOA ayant des responsabilités transversales tant organisationnelles que fonctionnelles.
Le groupe d’architecture SOA prend en charge la gestion centralisée du programme, l’architecture, la
planification, les services d’infrastructure et la gestion des versions. Son organisation exacte dépend des
structures sous-jacentes et des facteurs suivants :
• Alignement métier et soutien des décideurs seniors.
• Dimension de l’organisation et structure géographique.
• Modèle de gouvernance SOA multiniveau.
• Niveau de maturité SOA de l’organisation.
Le groupe d’architecture doit s’appuyer sur une structure évolutive avec la maturité SOA. Dans un contexte de forte
24
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
répartition géographique, il est généralement préférable de débuter par l’une des structures organisationnelles
décrite ci-dessous (figure 11). La structure centralisée peut être implémentée dans un premier temps pour laisser la
place à une autre lorsque de nouveaux besoins apparaissent.
La meilleure approche à long terme que recherchent toutes les entreprises déployant des SOA favorise une
gouvernance multiniveau et une organisation hiérarchisée pour des raisons de performance et d’évolutivité.
Centralisé
Figure 11:
Structure des groupes d'architecture
SOA
Fédéré
Equipe
de gouvernance
fédérée
(Région A)
Equipe
de gouvernance
centralisée
(Entreprise)
Hiérarchique
Equipe
de gouvernance
fédérée
(Région B)
Partiellement fédéré
Equipe de
gouvernance
Equipe
de gouvernance
hiérarchique
(Région A)
Equipe
de gouvernance
hiérarchique
(Région A)
Gouvern. Gouvern.
locale
locale
(UK)
(DE)
Gouvern. Gouvern.
locale
locale
(US)
(CAN)
Equipe
de gouvernance
fédérée
(Région A)
Equipe
de gouvernance
partiellement
fédérée
(Région B)
Equipe
de gouvernance
partiellement
fédérée
(Région C)
Les structures des groupes du
diagramme sont détaillées dans le tableau suivant :
Centralisé
Hiérarchisé
Au début du cycle d’adoption d’une SOA, une structure centralisée
est privilégiée pour gérer le programme dans de bonnes conditions
de cohérence et d’homogénéité.
Avec la maturité des fonctionnalités SOA, l’entreprise exige
des structures plus avancées et évolutives pour prendre en charge
la SOA. Certaines décisions sont prises centralement et d’autres
sont déléguées à des groupes locaux au sein de la hiérarchie.
Fédéré
Partiellement fédéré
Lorsque des régions distantes additionnelles ont des besoins
de gouvernance SOA, la structure fédérée est utilisable.
Ces organisations de service fédérées sont des répliques exactes
des structures centralisées en termes de conformité SOA et de support
– cependant, la gouvernance générale demeure un organe central.
Lorsque des régions distantes additionnelles ont des besoins de
conformité et de support avec des ressources limitées,
une structure partiellement fédérée est envisageable.
En raison de l’augmentation des lignes de communication
there are limits to the scalability of this structure and it tends to
au-delà de 3 régions. Si d’autres régions doivent rejoindre
l’environnement l’entreprise doit envisager de migrer vers une structure
hiérarchisée.
25
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
Ressources additionnelles
Pour d’autres informations sur les solutions et services de BEA, consultez le centre de ressources SOA :
www.bea.com/soa.
Ce site rassemble de nombreux documents, présentations et études et propose une plate-forme
d’« auto-évaluation SOA » développée d’après le modèle de domaine BEA pour fournir une première approche
de vos niveaux actuels de maturité dans les six domaines clés des SOA. À l’issue de cette évaluation, vous
recevrez un rapport personnalisé de 9 pages intégrant des suggestions pragmatiques pour améliorer votre
préparation aux SOA.
A propos de BEA
BEA Systems, Inc. (NASDAQ : BEAS), leader mondial des logiciels d’infrastructure, fournit des plates-formes
standardisées et sécurisées pour accélérer et fluidifier la circulation des informations et services. Ses lignes de
produits WebLogic®, Tuxedo® et la nouvelle gamme d’infrastructures de service AquaLogic™ aident les entreprises à
réduire la complexité de leurs systèmes d’information et à déployer des architectures SOA pour améliorer leur
réactivité et leur efficacité opérationnelles. Le siège de BEA est implanté dans la Silicon Valley et l’entreprise réalise
un chiffre d’affaires annuel de plus d’un milliard de dollars avec plus de 15 000 clients dans le monde et
76 implantations dans 36 pays.
Pour plus d’informations, consultez fr. bea.com.
Contributeurs
John Allen, Senior Principal Business Consultant
John Allen est un expert du développement logiciel ayant plus de 18 années d’expérience de terrain en tant
qu’architecte d’entreprise, chef de projet et ingénieur logiciel. Au cours de 7 années passées chez BEA, l’expertise
architecturale de John a aidé de nombreux clients à atteindre leurs objectifs de robustesse et d’agilité. Au cours
des 18 derniers mois, il a joué un rôle clé dans la définition et l’exécution de la stratégie SOA de BEA.
Ian Barnes, Chief Advocate of Technology in EMEA
Fort de 19 années d’expérience, Ian Barnes est un expert de la formation des décideurs aux avantages des
approches technologiques et architecturales – et plus spécifiquement dans l’univers des SOA. En tant consultant
auprès des décideurs stratégiques des clients de BEA, Ian Barnes participe à la définition de solutions de grande
ampleur. Il est également responsable de la communication horizontale auprès des architectes et des ingénieurs de
développement des technologies d’infrastructure de BEA. Ian Barnes intervient comme expert lors des projets
majeurs d’implémentation SOA pour fournir son expertise du domaine à BEA et aux principaux architectes clients.
Stephen Bennett, Senior Principal Business Consultant
Steve Bennett a 20 années d’expérience du développement logiciel, des pratiques d’excellence d’agilité et des
architectures d’entreprise. Il a conseillé de nombreux clients de BEA pour définir leur architecture. Membre de
la division Worldwide Consulting de BEA, Steve est actuellement spécialisé en SOA ; pendant les douze
années précédentes, il était responsable de systèmes d’information stratégiques dans l’industrie bancaire.
26
Livre Blanc BEA – M é t h o d o l o g i e S O A e n 6 D o m a i n e s
David Groves, Director Worldwide Consulting
David Groves a 11 années d’expérience des stratégies de système d’information, du consulting d’entreprise, de la
direction de programme et des méthodologies de livraison. Il a conseillé de nombreux clients de BEA dans les
secteurs des finances, des télécommunications et des administrations pour définir leurs stratégies de livraison.
Directeur de la division Worldwide Consulting de BEA, David est actuellement chargé du développement des
offres de service plus particulièrement dans le domaine des SOA et des stratégies d’information. Avant de se
consacrer aux technologies de l’information, David avait des responsabilités d’analyse et de stratégie dans
l’industrie électrique.
Rag Ramanathan, Consulting Technical Manager
Rag Ramanathan a 13 années d’expérience en tant que consultant et ingénieur logiciel en R&D. Rag a aidé
plusieurs clients de BEA à architecturer leurs systèmes d’information et à réussir leurs implémentations
logicielles. Il est expert du développement, des architectures et de l’intégration des solutions d’entreprise.
En tant qu’Architecte de la division Worldwide Consulting de BEA, Rag est responsable du développement des
pratiques d'excellence SOA des clients et partenaires BEA et des évaluations de maturité SOA.
Dale Slaughenhaupt,VP of IT & Deputy CIO
Dale Slaughenhaupt supervise le développement de toutes les solutions e-business du département informatique
de BEA : architecture d’entreprise, infrastructures de service, gestion des versions et configurations, programmes
bureautiques MyBEA, etc. Dale a plus de 11 années d’expérience de la direction de programmes techniques et
du développement d'applications et logiciels. Dale a fait partager à de nombreux clients de BEA son expertise et
les pratiques d’excellence formalisées par ses équipes SOA au cours des quatre dernières années.
Nous remercions également Phil Aston, Jeff Block, Daniel Healy, David Miller, Yogish Pai et Nathan Romney
pour leur assistance dans ce projet.
27
BEA SYSTEMS, SAS
Immeuble Triangle de l’Arche
8, cours du Triangle
92397 Paris La Défense 12 cedex
fr.bea.com
CWP0965E0705-1A

Documents pareils

Système d`Information

Système d`Information Aris Business Architect, Win’Design Business Process, MEGA, OSSAD, …

Plus en détail