Source pour créer SOA
Source pour Service web
Bonjour Tout le monde, Aujourd'hui, je voudrais vous parler du service web qui est très très répandu dans l'ère informatique.
Voici le sommaire du chapitre:
1. Service web
2. Architecture web
- 2.1. UDDI
- 2.2. WSDL
- 2.3. SOAP
3. SOAP
- 3.1. Avantage
- 3.2. Comment l'appliquer
4.QR pour entretien
1. Service web
Les services Web sont basés sur le modèle SOA .
Définition:un service Web est tout simplement un programme accessible au moyen d'Internet, qui utilise un système de messagerie standard XML, et n'est lié à aucun système d'exploitation ou langage de programmation !
Problématique:
la diversité des plates-formes utilisées dans les organisations, problème de passage à travers des pare-feu d'où la lenteur, voire l'absence de réponses sur ce réseau.
l'intérêt du service web?
Les services Web fournissent un lien entre applications. Ainsi, des applications utilisant des technologies différentes peuvent envoyer et recevoir des données au travers de protocoles compréhensibles par tout le monde.
Les services Web sont normalisés car ils utilisent les standards XML et HTTP pour transférer des données et ils sont compatibles avec de nombreux autres environnements de développement. Ils sont donc indépendants des plates-formes. C'est dans ce contexte qu'un intérêt très particulier a été attribué à la conception des services Web puisqu'ils permettent aux entreprises d'offrir des applications accessibles à distance par d'autres entreprises. Cela s'explique par le fait que les services Web n'imposent pas de modèles de programmation spécifiques.
Caractéristiques:
- il est accessible via le réseau
- Ses descriptions sont stockées dans un annuaire.
- Il communique en utilisant des messages XML, ces messages sont transportés par des protocoles Internet(HTTP,FTP etc).
- L'intégration d'application en implémentant des services Web produit des systèmes faiblement couplés, le demandeur du service ne connaît pas forcément le fournisseur.
2. Architecture web
Le fonctionnement du service web illustrés par le schéma suivant:
Les trois acteurs s'interagissent les étapes suivants:
- La publication du service : le fournisseur diffuse les descriptions de ses services Web dans l'annuaire.
- La recherche du service : le client cherche un service particulier, il s'adresse à un annuaire qui va lui fournir les descriptions et les URL des services demandés afin de lui permettre de les invoquer.
- L'invocation du service : une fois que le client récupère l'URL et la description du service, il les utilise pour l'invoquer auprès du fournisseur de services.
Scénarios:
Les entreprises publient les descriptions de leurs services Web en UDDI, sous la forme de fichiers WSDL. Ainsi, les clients peuvent plus facilement rechercher les services Web dont ils ont besoin en interrogeant le registre UDDI.
Lorsqu'un client trouve une description de service Web qui lui convient, il télécharge son fichier WSDL depuis le registre UDDI. Ensuite, à partir des informations inscrites dans le fichier WSDL, notamment la référence vers le service Web, le client peut invoquer le service Web et lui demande d'exécuter certaines de ses fonctionnalités.
- 2.2. WSDL
Il indique comment utiliser le service web et interagir avec lui.
WSDL est basé sur XML, et permet de décrire de façon précise les détails concernant le service Web tels que les protocoles, les ports utilisés, les opérations pouvant être effectuées, les formats des messages d'entrée et de sortie et les exceptions pouvant être envoyées.
WSDL document peut être divisé par deux parties:
une parties précis pour utilisateur:
<wsdl:service>
<wsdl:port>
<wsdl:binding>
une autre partie abstrait sont orienté vers la capacité du service web.
<wsdl:types>
<wsdl:message>
<wsdl:operation>
<wsdl:portType>
- 2.3. UDDI
Il fournit l'infrastructure de base pour la publication et la découverte des services Web. UDDI permet aux fournisseurs de présenter leurs services Web aux clients.
notes: trois pages, page blanche, page jaune, page verte appartiennent UDDI(universal, description, discovery, integration)
3. SOAP
Le protocole de communication SOAP.
SOAP est un protocole d'invocation sur des services distants, basé sur XML, pour principal objectif d'assurer la communication entre Machines.
Définition:
une spécification pour une omniprésence, basée sur XML et sur des infrastructures distribuées.
Structure du message SOAP
un message SOAP est composé de deux parties, une partie obligatoire: L'enveloppe SOAP, et le corps SOAP; une partie optionnel: L'en-tête SOAP.
L'Enveloppe SOAP:namespace et codage
L'en-tête SOAP:(facultatif)
il est à la disposition des clients et des services pour leur propre usage. Cet usage typique serait de communiquer des informations authentifiant l'émetteur ou bien encore le contexte d'une transaction dont le message SOAP doit passer par plusieurs intermédiaires SOAP pour arriver au destinataire final
Un intermédiaire SOAP est toute entité capable de recevoir et transmettre des messages SOAP.
Trois attributes associés à l'en-tête peuvent être utilisés:
soap:mustUnderstand:
valeur 1:le récepteur doit reconnaître l'en-tête et son traitement est obligatoire.
valeur 0:l'en-tête peut être ignoré.
soap:actor(indiquer pour qui):Sert à indiquer le destinataire SOAP auquel un bloc d'en-tête SOAP particulier est destiné.
Le Corps SOAP:
méthodes et paramètres à exécuter pour destinataire finale.
Le corps (body) doit fournir le nom de la méthode invoquée par une requête ainsi que les paramètres associés a celle-ci.
- Méthode:checkAccountBalance
- Paramètre:1234567890
- Type:int
<soap:Body>
<checkAccountBalance>
<accountNumber xsi: type="xsd:int">1234567890</accountNumber>
</checkAccountBalance>
</soap:Body>
L'erreur-SOAP:**(facultatif)reporter les erreurs.
Figurez uniquement dans le message de réponse;
Apparaît qu'une seule fois.
Moment:Cette balise est utilisée pour communiquer un problème qui a eu lieu dans la tentative de réalisation de la demande adressée au service Web
<soap:Body>
<soap:Fault>
<!-- Identifiant de l'erreur, 4 code soap:Server; soap:Client; soap:VersionMismatch; soap:mustUnderstand)-->
<faultcode>soap:Server</faultcode>
<!-- Description brève du message-->
<faultstring>Impossible de router le message.</faultstring>
<!--Composant qui a généré l'erreur (URL). -->
<faultactor>http://www.monsite.com/messageDispatcher
</faultactor>
<!--Message spécifique à l'application-->
<detail>
<m:error xmlns:m="http://www.monsite.com/errors"> E_NO_ROUTE </m:error>
</detail>
</soap:Fault>
</soap:Body>