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

LES WEB SERVICES

Les Web Services représentent l'implémentation la plus utilisée pour appliquer l'architecture SOA. Le concept de Web Service regroupe un ensemble de technologies basées sur XML, permettant de créer des composants logiciels distribués, de décrire leurs interfaces et de les utiliser en mettant en oeuvre des standards tels que SOAP, XSD, WSDL et UDDI. Les Web Services respectent donc des protocoles et des normes informatiques utilisés pour échanger des données entre les applications : ils ont été définis, pour la plus grande part, par le W3C (World Wide Web Consortium), qui a été fondé pour promouvoir la compatibilité des technologies du Web et émet des recommandations à valeur de standards industriels.

Un Web Service peut, dans un exemple simple, laisser un client communiquer avec lui en utilisant des messages XML qui répondent au standard SOAP (Simple Object ou Service Oriented Architecture Protocol). Il représente donc le format d'échange de données dont les protocoles primaires sont HTTP et HTTPS. On y trouve un en-tête et un corps. Dans l'en-tête, on peut faire référence à un fichier XSD (XML Schema Definition), permettant de définir les types des différentes données échangées. Dans le corps, les données indiquant la méthode utilisée et les bons paramètres sont présents. Prenons un Web service donnant, pour un identifiant client particulier et un identifiant produit, le prix du produit désiré. Un message SOAP contenant les bonnes informations et un champ prix vide pourra être envoyé au service. En retour, sera renvoyé le message avec le prix du produit renseigné.

Un fichier WSDL (Web Services Description Language) décrit un web service : c'est la fameuse interface évoquée précédemment dans la description d'un service. Pour faire un rapprochement, on peut voir ce fichier comme une interface en langage JAVA : on connaît les méthodes mais par leur implémentation. Elle contient aussi d'autres informations comme le fichier XSD (si jamais il y a des types complexes) mais surtout les informations permettant d'accéder au service (protocole, port et "EndPoint" - l'endroit où se trouve le service).

Un registre UDDI Universal Decription Discovery and Integration) est un annuaire basé sur XML qui permet de publier des services et facilite leur découverte par d'autres services en définissant comment ils interagissent. Un scénario d'utilisation possible est donc la publication d'un fournisseur de service (donc de son WSDL) auprès d'un registre en créant tout d'abord une entreprise et une catégorie de service. Un client demande ensuite à un registre UDDI la localisation d'un service qui correspond au service venant d'être ajouté à l'annuaire. Le WSDL du service demandé est alors reçu par le client qui peut communiquer avec le fournisseur de services en SOAP.

1 - Service fournit le WSDL

2 - Le Client veut un service et reçoit son WSDL

3 - Le Client peut communiquer avec le service

Schéma volontairement simplifié au niveau du middleware qui, ici, offre la possibilité d'accéder à un registre UDDI..

Derrière l'acronyme BPEL (Business Process Execution Language), se cache la notion d'orchestration qui est de plus en plus utilisée et qui, comme son nom l'indique, fait jouer les web services comme un chef d'orchestre. Cette couche, permettant de gérer le lien entre plusieurs services, pourrait offrir, par exemple, de mélanger un service d'envoi de SMS, un service donnant la température et un service donnant des conseils pour s'habiller selon la température. BPEL appelle un premier service pour connaître la température cet après-midi, utilise ce résultat pour interroger le service indiquant comment s'habiller et envoie la réponse avec le service envoyant des SMS. Un client, faisant appel à un BPEL, pourrait savoir qu'il doit emporter un pull car il va faire froid en fin de journée.

Derrière cet exemple très simple, on comprend que BPEL est lui-même un web service : il possède son propre WSDL. Mais son WSDL est particulier car il contient des informations supplémentaires : entre autres, les WSDL des services qu'il va invoquer pendant son exécution.

SOA est une théorie et on ne doit pas oublier que l'on peut faire une architecture SOA sans Web Services et inversement car, réaliser des web services, ne veut pas dire mettre en place une architecture SOA. « Une façon de concevoir et d'implémenter les applications de l'entreprise qui possèdent un couplage faible, sont à grandes mailles et sont des services réutilisables, accessibles par des interfaces bien définies et indépendantes de toute plateforme. »

Cette définition n'inclut donc pas de protocole de communication obligatoire et il n'y a aucune restriction évoquée : pas d'obligation d'envoyer des messages SOAP en HTTP. SOA est beaucoup plus que seulement des Web Services et sa vraie force intervient réellement quand il n'y a plus ces restrictions et autorise les services à être invoqués par une multitude de protocoles. L'ESB permet justement de mettre en oeuvre un environnement ne se limitant pas aux limites évoquées.

précédent sommaire suivant