Cours 2 : Les Web Services Concepts Généraux

Slides:



Advertisements
Présentations similaires
Les Web Services Schéma Directeur des Espaces numériques de Travail
Advertisements

SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
La plateforme.NET 2.0 vue par le développeur Pascal Belaud Microsoft France SAGA.NET
« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Nouveautés pour les développeurs Office System Scott Burmester Responsable des programmes PSPS.
1 SDET – Groupe de travail interopérabilité – 24 Novembre 2003 Thierry CAZENAVE Concepts dorigine et évolutions Le 24 Novembre.
Xavier Blanc Web Services Xavier Blanc
Introduction aux environnements répartis
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Architectures Orientées Services
Julien HERON.
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Stéphanie CLAPIÉ Antoine RENARD
Les webservices Samira Silhadi-Hacid Malika Tarafi.
Object Management Architecture (OMA)
L’architecture .net et ASP.net
Cours 6 : Les Web Services et UDDI Mars Version 1.0 -
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
1 Les technologies XML Cours 3 : Les Web Services – Implémentation – JAX-WS Février Version 1.0 -
Les Web Services.
Introduction Concepts fondamentaux Éléments d’architecture

CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Génie Documentiel Delacrétaz Jean-Marc
Introduction aux services WEB
Les Enterprise Service Bus
Etude des Technologies du Web services
Serveurs d’application
XML-Family Web Services Description Language W.S.D.L.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Sommaire Objectif de Peakup Principes de fonctionnement
7 - EAI Les EAI : Enterprise Application Integration Marché
ECF 5 PRESENTATION « BULLE APPLICATIVE »
Programmation Approche composants Ing5 SI
Interopérabilité JOnAS - CORBA
Gestion des bases de données
22 Intéropérabilité Silverlight & PHP Le 8 février 2010 GIACOPINO Cyril Directeur pôle technologie TEQUILARAPIDO.
Soutenance de stage de fin d’études
Microsoft .NET.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
CORBA (Common Request Broker Architecture)
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
SGBD orientés Objet Standards : OMG et ODMG.
Présentation de CORBA et de IIOP
CENTRALISATION DES CANDIDATS LOCATAIRES
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
CORBA Un concept de l ’OMG Mathieu Estival Biomédical, 3°Année.
L’identité numérique : outil de bonne gouvernance
E-Technology lab Plateformes, Technologies et Architectures pour les systèmes eGouvernement Par: Dr Mamadou Koné Université Laval, Québec, Canada et Houda.
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Introduction à la plateforme .NET
Les plateformes de développent des web services
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
Rapport de Stage : Les Web Services ou la communication
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.
Introduction aux technologies des web services en Java EE
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Cours 7 : Les Web Services Concepts Généraux
Transcription de la présentation:

Cours 2 : Les Web Services Concepts Généraux Les technologies XML Cours 2 : Les Web Services Concepts Généraux Février 2011 - Version 1.0 -

Web Services - Définition Un service Web est : une « unité logique applicative » accessible en utilisant les protocoles standard d’ Internet Un «composant» fournissant des données et des services à d’autres applications. Les WebServices combinent les meilleurs aspects du développement à base de composants et du Web. Ils s’appuient sur un ensemble de standards (WSDL, SOAP, XML-RPC et UDDI) Définition (http://encyclopedie.journaldunet.com) Web Services : Application web pouvant interagir dynamiquement avec d'autres programmes en utilisant des protocoles d'échanges basé sur XML comme SOAP, XML-RPC ou XMLP. Des procédures de description et de recherche de ces services ont pour nom ebXML (electronic business XML), UDDI (Universal Discovery, Description and Integration) et WSDL (Web Services Description Language). Le but est de permettre à une application de trouver automatiquement sur Internet le service dont elle a besoin et d'échanger des données avec lui. Si le service est payant, la procédure de règlement sera comprise dans la description du service.

Web Services - Définition A Web service is a software application identified by a URI, whose interfaces and binding(1) are capable of being defined, described and discovered by XML artefacts and supports direct interactions with other software applications using XML based messages via Internet-based protocols. (W3C definition) Un service Web est une application logicielle identifiée par une URI dont les interfaces et les liaisons sont définies, décrites et découvertes en XML. Il supporte une interaction directe avec les autres applications logicielles en utilisant des messages XML via un protocole Internet.

Web Services - Objectifs Système ouvert et performant capable d'inter-opérer avec les applications existantes capable d'inter-opérer avec le monde extérieur : Extranet (B2B) capable d'inter-opérer avec le monde intérieur : Intranet (B2C) indépendant des technologies implémentées offrant un accès rapide, intégré et généralisé à l’information pertinente offrant des outils de travail, de communication, … Système réduisant les coûts développement rapide d’applications (RAD) utilisation de composants distribués et de ressources distantes réduction des coûts de développement Système fournissant une administration simplifiée depuis le Web avec des outils d'assistance

Web Services - Objectifs Les Web Services sont une des solutions utilisables dans une architecture orientée service (SOA). Ils facilitent l’interopérabilité entre des applications développées pour des plates-formes et dans des langages différents. Ils permettent « d’ouvrir » des applications existantes sur le monde Internet

Web Services - Pourquoi Évolution des solutions Middleware RPC : Remote Procedure Call MOM : Message Oriented Middleware (MQ Series, JMS) Objet Distribué (COM, DCOM, CORBA, RMI, EJB) Base de Données Orientées Middleware

Web Services - Pourquoi Historique des protocoles d’interopérabilité Ces protocoles ne s’intègrent pas facilement avec le monde internet.

Web Services - Pourquoi Remote Procedure Call (RPC) Principe d’appel de procédure type client/serveur s’exécutant sur une machine distante dans un environnement d’applications distribuées. Un des plus vieux middlewares Fonctionne de manière synchrone Facile à comprendre et à coder Nécessite beaucoup de ressources Complexe à administrer Pas de standards / Implémentation spécifique à un vendeur Ne supporte pas la POO

Web Services - Pourquoi Message Oriented Middleware – Utilisation de messages asynchrones pour faire communiquer les applications Les avantages – Faible couplage – Garantie de livraison – Mécanisme de persistance Les inconvénients – Risque de surcharge du système – Implémentation propriétaire ( msg + architecture) – Plus le système est grand et hétérogène, plus l’administration est difficile – Peu portable et peu interopérable

Web Services - Pourquoi Les objets distribués CORBA : Common Object Request Broker Architecture Norme de communication utilisée pour l'échange entre objets logiciels hétérogènes. Un langage, IDL (Interface Definition Language) décrit les traitements effectués et les formats de données en entrée et en sortie. Un bus applicatif, ORB (Object Request Broker) constitue le coeur de CORBA par lequel les requêtes sur les objets transitent.

Web Services - Pourquoi Les avantages: Indépendant du système d’exploitation et du langage de programmation. Permet l’intégration des systèmes propriétaires grâce à l’IDL CORBA standardisé par l’OMG CORBA intègre les aspects métiers. La version 2.3 interopère avec RMI Les inconvénients Incompatibilité entre les implémentations CORBA complexe à appréhender et à mettre en place. Problème de pare-feu Sécurité et administration Pas aussi simple qu’on pense, nécessite des changements dans les applications…

Web Services - Pourquoi RMI : Remote Method Invocation Le but de RMI est de permettre l'appel, l'exécution et le renvoi du résultat d'une méthode exécutée dans une machine virtuelle différente de celle de l'objet l'appelant

Web Services - Pourquoi Avantages Plus simple que le développement des sockets JAVA Supporte la POO Rend Transparent les communications entre objets Permet une gestion distribuée des ressources Inconvénients Limité à la plate-forme JAVA Architecture fortement couplée Pas de gestion de session

Web Services - Pourquoi COM/DCOM : Component Object Model Modèle de Microsoft pour le développement de composants logiciels réutilisables, orientés objet et indépendants du langage de programmation. DCOM est le successeur de COM et intègre le multi-machine.

Web Services - Pourquoi Les avantages Simple d’utilisation. Portabilité binaire Les inconvénients Spécifique à Microsoft Problème de gestion des états et de sessions Pas de portabilité du code

Web Services - Intérêt Ils utilisent XML pour l’échange des données et messages. Ils permettent l’intégration de plates-formes hétérogènes via le protocole HTTP L’utilisation du protocole HTTP facilite le passage des pare-feux Les développeurs ont l’embarras du choix en matière de langage de programmation : Java, C, C++, Perl, Python, Ruby, C#, et/ou Visual Basic, Ils nécessitent peu ou pas de modification des applications existantes Ils permettent un couplage faible, les composants sont simples mais peuvent résoudre des problèmes complexes

Il n’existe pas de client propriétaire Web Services - Intérêt Ils peuvent être créer facilement une fois l’application terminée pour exposer un service sur le net Il n’existe pas de client propriétaire Des outils de développement et de déploiement sont fournis par les principales plateformes J2EE et Microsoft .NET La localisation et l’invocation dynamique d’autres services est possible à partir de registres privés ou publics

Web Services : technologies utilisées XML (eXtensible Markup Language) Échange de messages XML entre client et serveur Lisible, structuré HTTP, SMTP… Réutilisation des standards usuels d’Internet SOAP (Simple Object Access Protocol) Protocole définissant les échanges XML entre entités WSDL (Web Services Description Language) Langage de description technique des services web proposés UDDI (Universal Description Discovery and Integration) Annuaire des services web disponibles et des fournisseurs de ces services

Web Services : Les Acteurs Service Provider (Fournisseur de service) Application s'exécutant sur un serveur et comportant un module logiciel accessible par le Web en XML Service Registry (Annuaires de service) Annuaire des services publiés par les providers (UDDI) Géré sur un serveur niveau application, entreprise ou mondial Service Requester (Demandeur de service) Application cliente se liant à un service et invoquant ses fonctions par des messages XML (SOAP)

Web Services : Mécanismes 1/3 Annuaire UDDI WebServices référencés 1°) Publication d’un service Fournisseur de Web Services Description WSDL Description WSDL Description WSDL Back Office Et Système d’ entreprise Serveur web d’application Business Object Description WSDL Web Service 2 1

Web Services : Mécanismes 2/3 Annuaire UDDI 2°) Recherche d’un service WebServices référencés Fournisseur de Web Services Back Office Et Système d’ entreprise Serveur web d’application Business Object Web Service 2 1 Description WSDL Description WSDL Description WSDL Description WSDL Client du Web Service Business Object Description WSDL

Web Services : Mécanismes 3/3 Annuaire UDDI 3°) Invocation d’un service WebServices référencés Fournisseur de Web Services Back Office Et Système d’ entreprise Serveur web d’application Business Object Web Service 2 1 Description WSDL Description WSDL Description WSDL Requête SOAP Client du Web Service Business Object Description WSDL

Web Services : .NET et J2EE .Net (Microsoft) .net Framework SDK (//msdn.microsoft.com/webservices) Support depuis Visual Studio .Net Développement en tout langage (VB, C++, C#) Deux composants essentiels Common Language Runtime (MSIL) .net class Libraries (GUI, DB, ASP, …) J2EE (Sun) API spécialisée pour Java-XML (JAX) Java API for XML Processing (JAXP) Java Architecture for XML Binding (JAXB) Java API for XML Messaging (JAXM) Java API for XML-based RPC (JAX-RPC) Java API for XML Registries (JAXR) Java API for XML Web Services (JAX-WS)

Web Services : Produits Apache SOAP (Apache project) Servlet permet de déployer les services Appel servlet depuis SOAP Web Services Toolkit (IBM, alphaWorks) Générateur WSDL à partir de classe Java ou EJB Générateur de Proxy client Java Metro Implémentation de référence (jax-ws) Autres BEA (Oracle), Broadvision, etc.

Web Services : Synthèse Invocation dynamique de services WEB décrits en WSDL Intégrité et typage des données (schémas XML) Possibilité de découvrir dynamiquement les services (UDDI) Lisibilité et sécurité renforcée (filtrage dans les pare-feu) Indépendance des constructeurs (W3C) Intégration des transactions, des workflows et de la sécurité en cours SOAP : protocole d'invocation de services Web sur HTTP Lisible et extensible Intégré à HTTP Passant les firewalls Description en WSDL Pousser par Microsoft, IBM, Ariba

Web Services : Les Inconvénients Sécurité faible Entête SOAP n’implémente pas nativement la sécurité Attaques par DOS (Deny Of Service) Problèmes liés à HTTP / Internet Absence de qualité de service Temps de transmission variable Pas d’accusé de réception Blocage d’application SOAP inadapté à l’approche synchrone Temps d’exécution variable Latence du réseau Pas d’information d’avancement Pas d’information de « panne »