Comprendre les web services : standards, APIs

////Comprendre les web services : standards, APIs

Comprenez le contexte d’apparition des services web ainsi que leurs architecture. Comprenez le role des standards WSDL, SOAP, UDDI dans la cinématique des échanges entre un client de service web et le service web. Identifiez également les problématiques d’interopérabilité et de gouvernance. Découvrez les stratégies offertes par l’API JAX-WS pour créer ou utiliser un service web. Identifiez enfin quelques implémentations de cette API.

Liens utiles

 + de 100 tutoriaux java/jee Objis

 Tutoriel et formation Web Services

 Objis, spécialiste formation java depuis 2005

 Catalogue formations Objis

 (PDF) brochure Objis 2010

 Liste spécifications Web Services

Formation Architecture Java

Soyez prêt pour des projets ambitieux : formation architecture Java Objis

programme-detaille-formation-architecture-java-objis

Programme

 Partie 1 : architecture

 Partie 2 : standards ouverts

 Partie 3 : interopérabilité

 Partie 4 : gouvernance

 Partie 5 : API Java d’accès à un service web

 Partie 6 : implémentations

Contexte d’apparition

Besoins

 Communiquer entre applications distribuées

 Tenir compte des plateformes hétérogènes (matériel, logiciel, OS)

 Limiter l’ouverture de ports dans le système d’information

 Utiliser des standards ouverts et non solutions propriétaires des éditeurs

Solution web service

 XML au dessus de HTTP !

Partie 1 : Architecture

tutoriel-web-services-comprendre-web-services-architecture-1

 Un service web est une collection de endpoints.

 WSDL est le format XML décrivant le endpoint.

 UDDI est un annuaire de publication des services web.

 SOAP permet un échange de données (requête/réponse) entre un client de web service et un web service.

 Grâce aux standards, les langages utilisés par l’application cliente ou le web services sont transparents.

Partie 2 : standards ouverts

tutoriel-web-services-comprendre-web-services-architecture-2

INFO : le standard UDDI permettant d’avoir un annuaire ‘mondial’ de web service n’a pas fonctionné (malgré tentatives de SAP, Microsoft). UDDI est aujourd’hui plus utilisé en interne dans certains Systèmes d’information de l’entreprise via des implémentations comme jUDDI.

Partie 3 : interopérabilité

Connaître le WS-I

Créée en 2000 par des acteurs majeurs de l’industrie informatique (IBM, Microsoft, BEA, HP, Intel…), le consortium WS-I (Web Servise Interoperability Organization ) a été initié pour la promotion de l’interopérabilité entre plate formes (ex .NET/J2EE) . Et ce à travers la rédaction de spécifications WS-*

ws-i-organisation

Respect des profils du WS-I

Tout nouveau service web gagnerait à respecter un ensemble de ‘profils’ / formats afin de contribuer à son utilisation sur des plateformes hétérogènes :

— WS-I Basic Profile (transport HTTP/HTTPS, invocation dynamique XML/SOAP…)

— WS-I Basic Security Profile / SAML

— Simple Soap Binding Profile

ws-i-profiles-matrix

INFO : le respect des profils ne garantit pas l’interopérabilité mais y contribue fortement.

ws-i-profiles-matrix-exemple-soap11

Outils test conformité web services

le WS-I vous fournit aux développeurs de service web plusieurs outils vérifier que leurs web service respecte ces profils.

ws-i-profiles-outil-test-web-services

En particulier :

— Moniteur permettant d’intercepter en temps réel les messages SOAP

— Analyseur destiné à vérifier la conformité du WSDL

Partie 4 : gouvernance

Développer et déployer un service web, c’est bien. Mais…:

— l’accès à votre service web est’il sécurisé ?

— assurez vous une bonne intégrité transactionnelle ?

— assurez-vous une bonne qualité de service ? votre service web est t’il fiable ?

— est’il possible de monitorer votre web service ?

Dans un contexte professionnel, vous devez fournir un ensemble de services additionnels contribuant à une bonne ‘gouvernance’. Vous devez ‘décorer’ votre service web avec des services techniques à forte valeur ajoutée.

C’est pour assurer cette gouvernance que d’autres spécifications sont apparus :

— WS-Addressing : rendre transparent le protocole de transport utilisé

— WS-Reliability : fiabiliser le service

— WS-Security : sécuriser le service

— WS-Management : monitorer

— WS-Policy : gérer les métadonnées

— WS-Coordination et WS-Atomic transactions

— …

Ces standards sont soumis et accompagnés par l’OASIS et le W3C.

Partie 5 : API JAVA accès service web

l’API JAX-WS (Java API for XML WebServices) offre 3 possibilités pour se connecter à un service web :

1) Invocation dynamique

2) Proxy

3) SAAJ

Les deux premières stratégies masquent la complexité de manipuler le XML en arrière plan.

La dernière (SAAJ, api de bas niveau) vous fournit un accès total à l’enveloppe SOAP, ainsi que différentes stratégies pour contrôler l’invocation de requêtes SOAP.

Partie 6 : Spécifications

 JSR 181 : Web Services Metadata for the Java Platform (annotations)

 JSR 224 : Java API for XML-based web services (JAX-WS 2.1). Remplace JAX-RPC. Opère au dessus de SAAJ

 JSR 109 : Web services for JAva EE. Modèle de programmation

 JSR 67 : SOAP with Attachments API for JAVA (SAAJ)

Partie 7 : implémentations

Interopérabilité J2EE/.NET : WSIT et le projet Tango

En 2005, Sun et Microsoft ont démarré une collaboration afin que les services web J2EE et .NET soient interopérables (WSIT pour Wen Service interoperable technologies)

 Implémentation Sun/Java : Metro (inclus dans serveur JEE6 Glassfish)

 Implémentation Microsoft : WCF (Windows Communication Framework )

En Metro, vous avec la garantie de :

— mettre en œuvre une implémentation de JAX-WS interopérabilité avec .NET 3.5+

— pouvoir ‘décorer’ votre service web avec les services non fontionnels suivants :

— > Transport (HTTP, SOAP/TCP, MTOM/XOP)

— > Sécurité

— > Transaction

— > Fiabilité

Implémentation JAX-WS

 Glassfish Metro

 Apache CXF

 Apache AXIS2

 JBoss WS

 …

Formation Architecture Java

Soyez prêt pour des projets ambitieux : formation architecture Java Objis

programme-detaille-formation-architecture-java-objis

2018-01-30T14:31:21+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java