WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

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
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

1.4.4.2 Généralités

Le Référentiel et le Registre de services (UDDI) : Le coeur de l'ESB

L'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 message

Un Routeur de Message Normalisé (NMR) établit la communication entre les composants du JBI. Il est constitué de trois éléments :

q Le Normalized Message, qui est la structure standard des messages d'entrée, de sortie et d'erreur ainsi que les éventuelles propriétés et attachements,

q Le Message Exchange qui représente l'échange (message d'entrée et de sortie, le statut, l'émetteur, le destinataire),

q Le Delivery Channel car chaque composant est affecté à un canal de communication propre.

Les échanges entre les composants peuvent être de quatre types :

q In-Only (Aller Simple) : Envoi du message au destinataire sans être sûr qu'il arrivera,

q Robust In-Only (Aller Simple) : Envoi du message au destinataire avec un A/R ,

q In-Out (Aller et Retour) : Envoi d'un message au destinataire, demandant une réponse,

q

In Optional-Out (Aller et peut être Retour) : Envoi d'un message au destinataire qui peut retourner une réponse.

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.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry