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

 > 

SOA : Définition, Utilisation dans le monde de la banque et méthodologie de test

( Télécharger le fichier original )
par Cédric MORA
IFIPS - Maison de l'ingénieur - Spécialité informatique 2008
  

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

QU'EST-CE QUE SOA ?

LA THEORIE SOA

Depuis le début, le terme SOA est évoqué mais la traduction de cet acronyme « Service-Oriented Architecture » par Architecture Orientée Service ne permet pas de comprendre exactement ce qu'il signifie. Une définition simple pourrait être la notion d'intégrer et de manipuler les différents composants d'un système informatique en tant qu'ensembles fonctionnels appelés services.

Cette architecture à la mode répond aux problèmes de réutilisation d'outils (ou produits) des entreprises. Pour mieux comprendre sa définition, il faut voir cette architecture comme une philosophie. C'est une approche permettant de réutiliser et d'organiser des ressources existantes, dans une solution autorisant une interopérabilité entre plateformes et environnements, une évolutivité des modules applicatifs et une flexibilité autorisant l'utilisation dynamique d'applications. Cette solution permet donc d'intégrer divers systèmes : chaque ressource peut être accessible en tant que service possédant une interface. L'implémentation du fournisseur de service est donc libre de changer sans qu'il y ait un impact sur son utilisation. On peut voir ce service comme une boîte noire : on sait qu'elle va rendre le service voulu sans savoir comment est faite la boite noire. On peut choisir de la remplacer par un autre service implémenté différemment mais répondant aussi à la même fonctionnalité.

Un exemple concret est le service qui a été créé par la SNCF : réserver une place de train. Une architecture SOA a été implémentée et l'un des services offre la possibilité de réserver une place de train : que l'on y accède de leur site internet ou d'un guichet, le service est le même. La personne qui fait la réservation utilise un client pour se connecter : un consommateur de service.

Cependant, l'interaction entre consommateur et fournisseur n'est pas directe mais faite par le biais d'un médiateur responsable de la mise en relation des composants.

Un consommateur de Service X (resp. Y) passe par un médiateur pour accéder au bon fournisseur de Service X (resp. Y).

Consommateur de Service X

Consommateur de Service Y

Fournisseur de Service Y

Fournisseur de Service X

Médiateur (« Middle-Tier »)

Pour mieux voir comment fonctionne une architecture SOA, il est important de savoir ce qu'est un service. Il assure une fonction bien définie et est autonome, ne dépendant d'aucun contexte ou service externe. On retrouve dans un service les caractéristiques suivantes :

· Couplage faible : les services sont exposés via des standards qui assurent la réduction des dépendances. Le terme « loosely-coupled » est souvent utilisé.

· Grande Maille : les opérations proposées par un service encapsulent plusieurs fonctions et opèrent sur un périmètre de données large. Un service contient des objets, des composants qu'il utilise pour répondre à sa fonction. Le terme récurrent est « coarse-grained ».

· Interface : le contrat d'utilisation du service.

· Synchrone ou asynchrone : attente de réponse après l'utilisation d'un service ou non.

· Activable à distance et interopérable.

Une architecture orientée service consiste donc en une collection de services, indépendants les uns des autres, qui interagissent et communiquent entre eux.

Il est intéressant de comparer l'architecture SOA à une autre architecture qui met en avant des différences importantes. Cette architecture est l'architecture orientée objet. Dans cette architecture, les données manipulées sont directement associées au mode de traitement qui leur est appliqué. La programmation orientée objet (POO) implique deux choses : liaison forte à un modèle spécifique et un nombre d'appels important entre les deux couches de présentation et métier (contenant les objets métiers).

Architecture Orientée Objets

Au contraire, l'architecture SOA permet à la couche de présentation de passer par des services pour manipuler les objets métier sans avoir besoin de les connaître explicitement. Les services agissent ainsi en tant que boites noires faisant abstraction de la complexité du modèle objet.

Architecture Orientée Services

Pour mettre en pratique cette théorie, une implémentation s'est vite imposée : les Web Services. Même si ce n'est pas l'unique choix d'implémentation, elle est souvent associée à SOA.

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








"Il faudrait pour le bonheur des états que les philosophes fussent roi ou que les rois fussent philosophes"   Platon