Architecture soa (architecture orientée services)( Télécharger le fichier original )par Virginie ELIAS CNAM Nantes - Pays de la Loire - Ingénieur en Informatique 2009 |
1.4.4.2 GénéralitésLe Référentiel et le Registre de services (UDDI) : Le coeur de l'ESBL'UDDI51(*), spécification OASIS52(*), constitue un registre XML de services Web qui permet de localiser le service recherché. C'est une des clefs de voûte de la sécurité WS-*53(*) car c'est par lui que sont gérées les autorisations d'accès des utilisateurs aux services. Souvent associé à une solution Intégrée (IDE54(*)), le référentiel via un framework permet de gérer au mieux et de déployer les services. Aussi les outils permettant de gérer le versioning ainsi que le travail collaboratif sont autant de facteurs à ne pas négliger au moment du choix d'un ESB.
Illustration 13 : Articulation Référentiel / UDDI (http://www.bull.com/fr/bulldirect/N7/expert.html) Illustration 14 : Diagramme de séquence d'exécution d'un service Le consommateur et le fournisseur sont ici des objets UML composites. Le consommateur écoute les messages venant de l'extérieur et initie les échanges JBI à partir de ces derniers. De plus, il s'adresse au serveur proxy qui traite la requête. Une fois la réponse reçue, le serveur met en cache la réponse et la retourne au consommateur. Le fournisseur peut quant à lui fournir un service de transformation mais aussi un service d'agrégation faisant appel à N services unitaires. L'utilisation d'un UDDI n'est pas obligatoire. Mais dans ce cas, le client (appelé « Consommateur ») doit connaître l'emplacement physique des services, qu'il s'apprête à invoquer. Cela rend l'architecture rigide, en termes d'utilisation car elle ne profite pas de l'UDDI, réel médiateur d'invocation des services. Le Routeur de messageUn Routeur de Message Normalisé (NMR) établit la communication entre les composants du JBI. Il est constitué de trois éléments :
Illustration 15 : Diagramme de séquences d'un échange In Out se terminant normalement (Source : http://blog.xebia.fr/2008/08/01/servicemix-32x-introduction-a-jbi/#more-537) Illustration 16 : Diagramme de séquences d'un échange In Out se terminant en erreur (Source : http://blog.xebia.fr/2008/08/01/servicemix-32x-introduction-a-jbi/#more-537) Ces concepts sont communs à tous les ESB, mais pour autant, s'ils sont construits autour de standards dont les performances ne sont pas toutes équivalentes. Les capacités de sécurité, de tolérance vis à vis des pannes, les kits de développement (IDE libres comme Eclipse55(*) ou Netbeans56(*)), les modules de monitoring ainsi que « la scalabilité »57(*) sont autant de points qu'il est important d'étudier lorsque l'on doit faire le choix d'un ESB. Au-delà même de la mise en place technique, force est de constater que l'industrialisation du développement est une condition majeure de réussite d'un projet global. La gestion de la qualité (phases de test, identification des modifications, traçabilité des versions), le respect des procédures internes (processus de validation), mais aussi la capacité à capitaliser par la réutilisation des composants et le référentiel (règles de transformation et de routage) sont incontournables pour la réussite d'une telle mise en place. Illustration 17 : ESB + BPM + BAM + IDE : les Clefs de l'agilité ? * 51 UDDI (Universal Discovery, Description and Integration) : spécification d'accès, en XML, à un catalogue de services offerts par des fournisseurs, permettant à un consommateur de services de localiser et d'obtenir les caractéristiques de services, dont il a besoin, afin de pouvoir les invoquer. * 52 OASIS : consortium mondial qui travaille pour la normalisation et la standardisation de formats de fichiers ouverts basés notamment sur XML. Créé en 1993, il compte 3500 membres faisant partie de 600 organisations dans 100 pays. OASIS est structuré en groupes de travail appelés les Technical Committees. * 53 WS-* : spécifications principalement du W3C, associées aux services Web. * 54 IDE (Environnement Intégré de Développement) : Outils se présentant comme un ensemble de consoles intégrées qui permet la gestion complète du cycle de vie des composants techniques et fonctionnels entrant dans la composition d'un système d'information conforme à une architecture SOA. * 55 Eclipse : IDE libre d'IBM, fonctionnant à partir de plugin spécifiques. * 56 Netbeans : IDE libre en java édité par SUN et open source depuis 2000. * 57 Scalabilité : capacité d'un composant à être utilisé sur des plates-formes beaucoup plus petites et plus grosses. |
|