Pésentation : les services web sont une forme de client/serveur en architecture distribuée qui s’affranchissent des langages et des plateformes. Ils sont l’un des éléments-clés de SOA (Service Oriented Architecture)
Public concerné : développeurs, chefs de projet, architectes
Objectifs : comprendre les concepts de base des services web SOAP et REST, créer et déployer des services web en Java, utiliser Axis2 ainsi que les API JAX-WS et JAX-RS de Java EE
Durée : 4 jours
Pré-requis : posséder de bonnes connaissances en Java, XML, internet
Travaux pratiques : 50 % du temps en utilisant un outil de développement Open source comme Eclipse et les serveurs d’applications Tomcat et JBoss
Contenu de formation
Principe des services web :
- première approche
- technologies fondatrices : SOAP, WSDL, UDDI
- interoperabilité WS-I
- comparaison avec CORBA, RMI, EJB
- services web et SOA
Les API Java :
- JAX-RPC et JAX-WS
- JAXP, JAXB, SAAJ
- JAXM, JAXR
Les standards WS-* :
- WS-Adressing, WS-Policy, WS-ReliableMessaging
- WS-Transaction, WS-Security
Le langage WSDL (Web Service Description Language) :
- structure d’un document WSDL
- définition des types de données
- identification des opérations et des messages
- identification des ports et des liaisons
Le protocole SOAP (Simple Object Access Protocol) :
- structure d’un message : entête, corps
- rôle de l’entête : exemples
- contenu du corps : exemples
- gestion d’erreurs : SOAP faults
- sérialisation des objets Java en XML
Développement de services web avec Axis2 :
- présentation d’Axis2, installation
- approches bottom up et top down
- développement d’une classe de service web
- déploiement
- analyse du document WSDL
- gestion des pièces jointes
Développement de clients avec Axis2 :
- génération automatique des souches
- exploitation des classes générées
- gestion des types XML simples
- gestion des types XML complexes
- encodage de données binaires dans les requêtes et réponses
Développement de services web avec JAX-WS :
- annotations
- le rôle de JAXB
- développement d’un service web avec JAX-WS
- approches bottom up et top down
- gestion des sessions
- déploiement
Développement de clients avec JAX-WS :
- génération automatique des souches
- exploitation des classes générées
- clients synchrones et asynchrones
- modèles de programmation statique et dynamique
- échange de données binaires avec MTOM
Interrogation d’annuaires UDDI :
- services proposés par un annuaire UDDI
- les Api JAXR et leur utilisation
- recherche d’entreprises ou services
Services web RESTful :
- principe, intérêt
- architectures orientées ressources
- clients de services RESTful
- API JAX-RS
- implémentations : Restlet, RestEasy, Jersey
Stratégies de sécurité :
- authentification
- sécurité programmée
- signatures numériques et chiffrement