Java - Développement de Services Web en Java

Référence : LAN-JAV-SV-AUT

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 RAD) et un autre serveur d'applications (JBoss, GlassFish, WebSphere, WebLogic).

Infos pratiques

  • Durée : 4 jours soit 28 heures
  • Population visée : Ouvrier – Employé – Employé qualifié – Cadre – Cadre supérieur
  • Public concerné : Développeurs Java SE et /ou Java EE

Programme

Objectifs pédagogiques

A l’issue de cette formation, l’apprenant sera capable de :

  • 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 " XML et technologies associées (DTD/XSD, XPath, XSLT, …) ", ou posséder les connaissances équivalentes ;
  • Avoir impérativement suivi les cours " Programmation Java (Java SE) - Niveau 1 " et " Développement Web Java EE ", ou posséder les connaissances équivalentes.

Objectifs opérationnels et contenu de la formation

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.
  • Les implémentations JAX-RS
         - Présentation du projet Jersey.
         - 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 de Jersey
         - Une alternative : la bibliothèque Commons HTTP Client

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

Méthodes et moyens

  • Explications théoriques suivies de pratiques guidées puis mises en autonomie
  • 1 vidéoprojecteur par salle
  • 1 ordinateur par stagiaire
  • Stage disponible en mode « In Class » : 2 téléviseurs et 1 caméra HD par salle
  • Concepteur : ENI SERVICE - Diffuseur : Groupe ARKESYS

Méthodes d’évaluation des acquis

  • Exercices de synthèse et d’évaluation
  • Evaluation de fin de stage

Profil formateur

Nos formateurs bénéficient d'un suivi de compétences aussi bien au niveau technique que pédagogique.

Support stagiaire

  • Support papier ou électronique (dématérialisé)
  • Les exercices d’accompagnement peuvent être récupérés sur clef USB