Services Web From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley 2005.

Slides:



Advertisements
Présentations similaires
La programmation orientée objet avec Java L3-MIAGE Plan
Advertisements

Xavier Blanc Web Services Xavier Blanc
Introduction aux environnements répartis
Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Retour sur RMI.
1 Plan de lenseignement Cours Introduction au réseau via les objets distants (Application à RMI) Ce que cache RMI : programmation socket – mode connecté
Des sockets à RMI Programmation réseau versus programmation objet
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Des sockets à RMI. Pourquoi ? Maturation de la technologie orientée objet –ADA, Modula –Smalltalk, C++, Java Maturation des communications Client- Serveur.
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Introduction aux applications réparties
Julien HERON.
Object Management Architecture (OMA)
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Reference Model of Open Distributed Processing
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
1 Les technologies XML Cours 3 : Les Web Services – Implémentation – JAX-WS Février Version 1.0 -
Cours 2 : Les Web Services Concepts Généraux
Les Web Services.
Génie Documentiel Delacrétaz Jean-Marc
Introduction aux services WEB
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Les Services Web Avec.NET version 1.1. Un service Web en bref… Méthodes ou objets accessible à distance via SOAP (Simple Object Access Protocol ); SOAP.
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
SERVLETS PRESENTATION
Architecture SOA et service WCF
Communication entre processus - TCP From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Chapitre.
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
Web Services HTTP UDDI SOAP WSDL Besnik SELJIMI, Novembre 2003
COURS DE PROGRAMMATION ORIENTEE OBJET :
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Enseignant de cours : M. Bouzguenda Lotfi
CENTRALISATION DES CANDIDATS LOCATAIRES
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Communication entre processus From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Chapitre.
Communication entre processus From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 3, © Addison-Wesley 2001 Chapitre.
Services Web : Sécurité From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley 2005.
Systèmes distribués Plusieurs technologies existent : Les sockets
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Universal Plug and Play. Idée Connecter tout: PCs, appareils intelligents, et appareils domestiques Computer partout: Universal Plug and Play connectivité.
Les sockets.
Schéma de conception Factory Method Exemple Sylvain Giroux.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Iterator Design Pattern Alessandro Soro Sylvain Giroux.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Les Servlets Présentation Cycle de vie Principe de fonctionnement
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Representational State Transfer - REST
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services 17/01/2009.
Architecture Client/Serveur
Introduction aux technologies des web services en Java EE
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
Modèle à objets et sérialisation Olivier ChamlaFrançois Chastanet.
Transcription de la présentation:

Services Web From Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, © Addison-Wesley 2005

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Services Web zModèle client-serveur yUn client spécifique pour l’application yUn service accessible via Internet xUne interface spécialisée définit les fonctions accessibles zService web yUne infrastructure pour maintenir une forme d’interactions entre des clients et des serveurs xInteractions plus riches et mieux structurées que pour un fouineur Web xUne application client dans une organisation peut interagir avec une application serveur dans une autre organisation sans supervision humaine xConstruire des applications complexes où des services intègrent plusieurs autres services

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Service web =/= serveur web zServeur web yFournit un service http zService web yUn logiciel conçu pour supporter des interactions « machine to machine » interopérables à travers un réseau yFournit un service sur la base des opérations définies dans son interface xOpérations : programmes, objets, bases de données yReprésentation externe des données et marshalling des messages échangés en XML yPeut être géré par xun serveur web et des pages web xUn service complètement séparé

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure 19.1 Web services infrastructure and components Security Service descriptions (in WSDL) Applications Directory service Web Services XML Choreography SOAP URIs (URLs or URNs)HTTP, SMTP or other transport

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Infrastructure de services web I zCouche 1 yUn service Web est identifié par un URI xURL : adresse directe xURN : indépendante de la localisation de la ressource Besoin d’un service de découverte (lookup) pour obtenir une URL à partir de l’URN yEncodage des messages en XML yTransmission des messages encodés en XML via HTTP ou un autre protocole, e.g. TCP ou SMTP zCouche 2 yLe protocole SOAP xSpécifie les règles d’encodage et d’utilisation des messages en XML Par exemple pour supporter un protocole requête-réponse

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Infrastructure de services web II zCouche 3 yWSDL (Web Services Description Language) xDescription des services : interfaces, URL, etc. zCouche 4 yLes applications et services web sont construits au- dessus d’autres services, en particulier xservice de répertoire: pour trouver les services web xSécurité XML : règle de signature et d’encryption des documents XML xChorégraphie de services web : coordination des opérations Permettre à un service web d’utiliser des patrons prédéfinis d’accès lorsqu’il utilise d’autres services web

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure 19.2 The ‘travel agent service’ combines other web services hotel booking a Travel Agent flight booking a hire car booking a Service Client flight booking b hotel booking b hire car booking b

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Exemples de services Web zLes serveurs web commerciaux Amazon, Yahoo, Google, et eBay offrent des interfaces à des services web qui permettent aux clients de manipuler leurs ressources zPermet à des applications tierces de construire des services à valeur ajoutée à partir de leurs services yAmazon x système de contrôle d’inventaire couplé avec un système automatique de commandes et de suivi des commandes placées chez Amazon yEnchères eBay xPlacer une mise dans les dernières secondes d’une enchère Les humains ne peuvent pas être aussi rapides qu’un programme

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Amazon Associates

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Communication zSynchrone zAsynchrone zPar événements zSOAP yMessage simple unidirectionnel yProtocole requête-réponse xUtiliser des paires de messages xSpécifier comment représenter les opérations, leurs arguments et les résultats

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Caractéristiques des services web zModèle de programmation yIndépendant des langages de programmation yPas possible d’instancier des objets à distance xPas de ramasse-miettes réparti xPas de références remote zReprésentation des messages yTextuelle xDemande par contre plus d’espace et plus de temps de calcul zRéférence à un service web yVia URI : URL ou URN zActivation des services yLe service peut s’exécuter tout le temps ou à la demande yLe service peut s’exécuter sur l’ordinateur pointé par l’URL ou ailleurs zTransparence de lieu yProxy : qui s’exécute chez le client yInvocation dynamique : xopération générique (doOperation), le client doit spécifier le nom de l’opération et les arguments et xConversion à SOAP et XML

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Exemple zTableau blanc partagé yImplémentation utilisant SOAP

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure 19.7 Java web service interface ShapeList import java.rmi.*; public interface ShapeList extends Remote { int newShape(GraphicalObject g) throws RemoteException; int numberOfShapes()throws RemoteException; int getVersion() throws RemoteException; int getGOVersion(int i)throws RemoteException; GraphicalObject getAllState(int i) throws RemoteException; }

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure 19.8 Java implementation of the ShapeList server import java.util.Vector; public class ShapeListImpl implements ShapeList { private Vector theList = new Vector(); private int version = 0; private Vector theVersions = new Vector(); public int newShape(GraphicalObject g) throws RemoteException{ version++; theList.addElement(g); theVersions.addElement(new Integer(version)); return theList.size(); } public int numberOfShapes(){} public int getVersion() {} public int getGOVersion(int i){ } public GraphicalObject getAllState(int i) {} }

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure 19.9 Java implementation of the ShapeList client package staticstub; import javax.xml.rpc.Stub; public class ShapeListClient { public static void main(String[] args) { /* pass URL of service */ try { Stub proxy = createProxy(); proxy._setProperty (javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, args[0]); ShapeList aShapeList = (ShapeList)proxy; GraphicalObject g = aShapeList.getAllState(0); } catch (Exception ex) { ex.printStackTrace(); } } private static Stub createProxy() { return (Stub) (new MyShapeListService_Impl().getShapeListPort()); }

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 WSDL zDescription d’un service yDéfinition de l’interface xType de messages transmis ---- échange de documents xméthodes fournies --- interactions de type requête – réponse En WSDL, une opération, est une construction qui permet de relier les messages de requête et de réponse –Pour chaque opération, il faut spécifier le patron d’échange des messages (Fig ) Élément XML interface = collections d’opérations yMode de transmission du message, e.g. SOAP sur HTTP xDécidé par le fournisseur de services yURI du service xPour éviter d’avoir recours à un service de noms comme le fait RMI zGénéralement utilisée pour générer un stub chez le client

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure The main elements in a WSDL description abstract concrete howwhere definitions types target namespace interfacebindings services message document stylerequest-reply style

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure WSDL request and reply messages for the newShape operation message name = " ShapeList_newShape " type = " ns:GraphicalObject " part name="GraphicalObject_1" tns ミ target namespace xsd ミ XML schema definitions message name = " ShapeList_newShapeResponse " part name= " result " type = " xsd:int " public interface ShapeList extends Remote { int newShape(GraphicalObject g) throws RemoteException;

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure Message exchange patterns for WSDL operations Name In-Out In-Only Robust In-Only Out-In Out-Only Robust Out-Only ClientServerDelivery Fault message RequestReply may replaceReply Request no fault message Requestguaranteed may be sent ReplyRequest may replaceReply Request no fault message Requestguaranteed may send fault Messages sent by

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure WSDL operation newShape operation name = " newShape " input message = " tns:ShapeList_newShape " output message ="tns:ShapeList_newShapeResponse" pattern = In-Out tns – target namespacexsd – XML schema definitions The namesoperation, pattern,input andoutput are defined in the XML schema for WSDL public interface ShapeList extends Remote { int newShape(GraphicalObject g) throws RemoteException;

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005 Figure SOAP binding and service definitions soap:binding transport = URI binding style= " rpc " endpoint service name = binding = " tns:ShapeListBinding " soap:address location = service URI name = " MyShapeListService " name = " ShapeListPort " for schemas for soap/http the service URI is: operation soap:operation soapAction " ShapeListBinding " " tns:ShapeList " type = name= " newShape " input soap:body encoding, namespace soap:body encoding, namespace output “ jaxrpc/ShapeList”

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 4 © Addison-Wesley Publishers 2005