Formations à l'informatique
Découvrez la différence ENI

Lien accueil

Nouveau calendrier des formations

à Nantes (44), Rennes (35) et  Paris (75)

Juin à décembre 2012
Rechercher une formation
 

Développement de Services Web en Java

La formation s'appuie par défaut sur l'IDE Eclipse et le serveur d'applications Tomcat.
La formation peut être réalisée avec un autre IDE (NetBeans, IBM WSAD/RAD) et un autre serveur d'applications (JBoss, GlassFish, WebSphere, WebLogic).

Public :

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

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.

Pré-requis :

  • Avoir impérativement suivi le cours " T449-010 - XML et technologies associées (DTD/XSD, XPath, XSLT, …) ", ou connaissances équivalentes.
  • Avoir impérativement suivi les cours " T443-010 - Programmation Java (Java SE) - Niveau 1 " et " T443-020 - Développement Web Java EE ", ou avoir les connaissances équivalentes.

Contenu pédagogique

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, ATOM…

Développement de Services Web SOAP en Java

  • Java et le langage XML
    • API d'analyse et de transformation : JAXP, DOM, SAX
    • Structure des programmes Java utilisant XML
  • Java et les Services Web
    • JAX-RPC, JAX-WS, la norme JSR-109
  • Les variations du développement en fonction du type de conteneur Java EE
    • Moteur SOAP intégré ou moteur SOAP autonome
    • Panorama des moteurs SOAP (Axis, CXF) et leur configuration
  • Services Web JAX-RPC (J2EE 1.4) et JAX-WS (Java EE 5)
    • Différence dans le processus de développement
  • É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
    • Utilisation d'outils pour la génération WSDL/Java et Java/WSDL
  • Anatomie des messages SOAP
  • Gestion des erreurs Java (Exceptions) avec SOAP Fault
  • Fonctionnalités avancées
    • Développement de Services SOAP asynchrones
    • Gestion des pièces jointes dans les messages SOAP
  • Publication de Services Web dans les services UDDI
    • Notion de Services Web dynamiques et statiques

É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éploiement de Services Web SOAP

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

Développement de Services REST en Java

  • Présentation de JAX-RS
    • Présentation de la spécification JAX-RS.
    • Les annotations JAX-RS.
  • Implémentation de référence de JAX-RS : Jersey
    • Présentation du projet Jersey.
  • Développement d'une classe ressource.
    • Configuration de Jersey
    • 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
    • Emission de requêtes HTTP
    • L'API cliente de Jersey
    • Une alternative : la bibliothèque Commons HTTP Client

Déploiement d'un service REST basé sur Jersey.

  • 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