Introduction aux services WEB Master Miage SID Université NANCY2
Problématique Hôte n°2 Hôte n°1 Methode1() Methode1() Methode2() objet Methode1() Methode2() objet SERVEUR CLIENT
Historique CORBA RMI DCOM Common Object Request Broker Architecture OMG IDL / Protocoles d'échanges "Usine à gaz", top-down… RMI Remote Method Invocation Simple Java DCOM Distributed Component Object Model Microsoft Port/Firewall
Mécanisme invocation Serveur (Web service) Client sérialisation objet méthode +
Mécanisme Serveur (Web service) Client réponse sérialisation Exécution de la méthode (RPC) objet
Concrètement SOAP/XML Serveur (Web service) Client SOAP/XML Contenu des messages ASCII
Concrètement HTTP Serveur (Web service) Client HTTP Transport des messages PB de FIREWALL
Intérêt Bottom-up Procède par évolution (révolution) S'appuie sur des technologies bien ancrées: XML, HTTP Procède par évolution (révolution) SOAP, RPC,… Rassemblement des plus grands acteurs pour définir les standards et offrir les outils: IBM, ORACLE, MICROSOFT, BEA, SUN,… WSI (Web Services Interoperability Organization)
Cadre général Systèmes patrimoniaux Urbanisation des systèmes Legacy system Protection de l’investissement logicielle dans le temps Approche sous forme de composants (brique) Cohabitation des composants (agrégation applicative) Urbanisation des systèmes Communication avec les systèmes d’information des partenaires (clients, fournisseurs, sous-traitants,…) B-to-B Interopérabilité (indépendant des langages et des plateformes)
Architecture répartie Application = assemblage de services Combinaison de services Internes Ou externes Tout interne : EAI (Intégration d'applications d'entreprise) Tout externe : Portail d'entreprise
Exemple "Comparateur de prix" Distributeur (n) Distributeur (1) prix/produits Comparateur Client
Exemple "Agence de voyage" Réservation transport Réservation hôtel prix/disponibilités Agence Client
Architecture typique Fournisseur Fournisseur (2) (1) Serveur Annuaire Invocation d'un service Serveur Enregistrement Interrogation de service Annuaire Client
Définition Web service : Middleware Internet qui permet de connecter les applications des entreprises à celles de leurs clients et partenaires Ensemble de spécifications de composants permettant l’interopérabilité des applications
Technologies JAX-RPC XML XSLT SAX DOM SOAP JAXR JAXB HTTP BEANS TOMCAT RMI SERVLET WSDL JAVA JSP UDDI ANT
Plates-formes Visual Studio NetBean Eclipse … JAX-WS AXIS XFIRE .NET Framework J2EE .NET SOAP/ XML HTTP
Un mot sur .NET
ColdFusion (Macromedia) Un mot sur J2EE GlassFish WEBLOGIC (BEA) WEBSPHERE (IBM) ColdFusion (Macromedia) XFIRE (CodeHaus) AXIS (Apache) JAX-WS J2EE JAX-RPC SOAP/ XML HTTP
Architecture applicative Client (Java/Swing) Serveur (Web service)
Architecture applicative Client (Perl|Python|C#) Serveur (Web service)
Architecture applicative Navigateur Conteneur Web (Tomcat, JSP|Servlet) Serveur (Web service)
Architecture applicative Client- WAP (J2ME) Serveur (Web service)
Cadre conceptuel Service Oriented Architecture (SOA) Client / Prestataire Contrat CLIENT PRESTATAIRE contrat implémentation interface
Références Services Web avec J2EE et .NET, conception et implémentation. L. Maesano et al… Eyrolles The Java Web Services Tutorial. E. Amstrong et al.. (http://java.sun.com/webservices/) JAVA et SOAP. R. Englander. O’Reilly Java Web Services For Experienced Programmers. H. M. Deitel et al… Prentice Hall