Développement de Services Web en Java

Partager par email

×

Code Titre Durée Prix HT
JAVAWS Développement de Services Web en Java 5 jours Nous consulter

Objectifs

  • Comprendre les principes de développement des Services en Java.
  • Développer des applications Java mettant en œuvre et/ou consommant des Services Web SOAP et des Services REST.
  • Déployer les Services sur un serveur d'applications.

Public

  • Développeurs Java SE et/ou Java EE.

Pré-requis

  • Avoir impérativement suivi le cours "XML et technologies associées (DTD/XSD, XPath, XSLT, …) ", ou posséder les connaissances équivalentes.
  • Avoir impérativement suivi les cours "Les fondamentaux de la programmation Java " et "Développement Web Java EE ", ou posséder les connaissances équivalentes.

Post-Formation

Méthodes

80% Pratique et 20% Théorie

Programme

Rappels fondamentaux sur XML

  • Concepts de document
    • Document bien formé et document valide
  • Les applications d'XML
    • Analyse, transformation (XSLT), formatage (XSL-FO)
  • Les modèles de données : XML Schema.
  • Validation de données : DTD, XML Schema

Introduction aux Services Web SOAP

  • Rappels sur les architectures n-tiers et les composants distribués
  • Inconvénients et limites du développement à base de composants distribués
  • Principes et objectifs des Services Web SOAP
    • Avantages et limitations
  • Les technologies des Services Web SOAP
    • SOAP, WSDL, UDDI
  • Vers une architecture orientée service (SOA)
  • Le standard WS-I et les extensions WS-*

Introduction aux architectures REST

  • Les concepts fondamentaux de REST (REpresentational State Transfer)
  • Utilisation de REST dans une architecture informatique.
  • Architecture client/serveur HTTP.
    • Structure d'une requête et d'une réponse HTTP.
  • L'identification des ressources par URI.
  • SOAP vs. REST
  • Les formats de données utilisables
    • XML, HTML, JSON …

Développement de Services Web SOAP en Java

  • Java et le langage XML
    • API d'analyse et de transformation : JAXB, DOM, SAX
  • Java et les Services Web
    • L'API JAX-WS
    • Les annotations
  • Notion de moteur SOAP
    • Panorama des moteurs SOAP et leur configuration
    • Le cas Apache CXF
  • Écriture de composants Java destinés à être invoqués en tant que Services Web
    • Contraintes de développement
    • Choix des types de composants Java (JavaBeans, EJB, …)
    • Génération des contrats WSDL pour les composants Java
    • Structure et principe des documents WSDL
  • Anatomie des messages SOAP
  • Gestion des erreurs Java (Exceptions) avec SOAP Fault
  • Fonctionnalités avancées
    • Développement de Services SOAP asynchrones
    • Tests de Services SOAP

Déploiement de Services Web SOAP

  • La sécurisation des Services Web
    • Authentification, autorisation, cryptage
  • Packaging des applications Services Web
  • Publication de Services Web sur un serveur d'applications

Écriture de clients de Services Web SOAP

  • Génération de classes de proxy à partir des contrats WSDL
  • Utilisation du proxy pour le développement du client

Développement de Services REST en Java

  • Présentation de JAX-RS
    • Présentation de la spécification JAX-RS.
    • Les annotations JAX-RS.
  • Les implémentations JAX-RS
    • Présentation d'Apache CXF
  • Développement d'une classe ressource.
    • Configuration d'une implémentation JAX-RS
    • Mise en œuvre des annotations JAX-RS
    • Utilisation des formats de données (XML, Text, JSON, …)

Les clients REST

  • Le client le plus simple : le navigateur Web
  • Une application Java cliente
    • L'API cliente d'Apache CXF
    • Une alternative : la bibliothèque Commons HTTP Client ou le projet Jersey

Déploiement d'un service REST

  • Les problématiques liées à la sécurité des services.
  • Sécurisation des services REST avec les API de sécurité Java EE
  • Publication d'un service REST

Environnement

La formation s'appuie par défaut sur l'IDE Eclipse et le serveur d'applications Tomcat.

Mot-clés

CXF, DOM, JAX-RS, JAX-WS, JAXB, JSON, REST, SAX, SOA, SOAP, UDDI, WS-*, WS-I , WSDL, XML, XSD

Commander