Organisme de Formation aux technologies et métiers de L'informatique
java

Formation Développer des Web Services en Java - avancé

Informations générales

DSJ
5 jours (35h)
2 950 €HT
repas inclus

Objectifs

Après ce cours, vous serez capable de :

  • Découvrir les principales technologies des Web Services (REST, SOAP, WSDL, UDDI)
  • Manipuler des données XML via les API SAX, DOM et JAXB
  • Développer des services Web en SOAP via l'API JAX-WS
  • Développer des services Web REST via l'API JAX-RS
  • Sécuriser des services Web

Public

Ce cours s'adresse avant tout aux personnes suivantes :

  • Développeurs et chefs de projets amenés à mettre en place des Web Services au moyen du langage Java.

Prérequis

Pour suivre ce cours, vous devez déjà posséder les connaissances suivantes :

  • Bonnes connaissances du langage Java.
  • Connaissances de base en XML.
  • Expérience requise en développement Java.

Programme de la formation

Ce cours vous permettra de comprendre l'intérêt et les enjeux des Web Services pour l'intégration d'applications (EAI). Il met l'accent sur les mécanismes de communication XML, SOAP et REST. Il présente les concepts de base et montre comment créer, déployer, mettre à disposition et utiliser des Services Web par l'emploi de JAX-WS (SOAP) et JAX-RS (REST). De nombreux exemples mettent en avant l'utilité des Services Web dans des contextes aussi variés que le Web, le B2C, le A2A et le B2B.

Introduction aux Web Services

  • Définir le rôle des Web Services et l'intérêt de leur utilisation.
  • Rappel sur le contexte des architectures n-tiers, applications et composants distribués.
  • Approche Web Services, qu'est-ce qu'un Web Service ? Objectif, principe.
  • Web Services et EAI, A2A, B2C, B2B.
  • Principales technologies des Web Services (REST, SOAP, WSDL, UDDI).
  • Architecture orientée service (SOA).
  • Le rôle de XML et de la plate-forme Java.
  • Exemples mettant en oeuvre des Web Services.
  • Exercice : Exemples d'applications, comment invoquer un Web Service.

Rappel sur XML et les API Java

  • Place du XML par rapport aux Web Services.
  • Les langages à balises, domaines d'application de XML, le concept de document, objectifs.
  • Echange de données, XML et SOAP.
  • Besoins pour la création de requêtes SOAP et la manipulation des réponses.
  • Les modèles de données : XML Schema.
  • Les parseurs XML (API SAX et DOM) et autres API.
  • Travaux pratiques : Manipuler des données XML via les API SAX, DOM et JAXB. Traiter les informations XML échangées via le protocole SOAP.

Web Services SOAP/WSDL et REST

  • Description du protocole SOAP.
  • De XML à SOAP, anatomie d'un message SOAP, enveloppe SOAP.
  • Gestion des erreurs avec SOAP Fault.
  • Transmission de contenus binaires MTOM.
  • Le langage de description des Web Services, WSDL (Web Services Description Language).
  • Référencement de Web Services, les solutions : UDDI, WS-Inspection, solutions de gouvernance OSS (Mule Galaxy)...
  • Utilisation, architecture, rôle pour les services Web, publication et localisation, sécurité.
  • Principes de REST, comment les mettre en oeuvre.
  • Travaux pratiques : Envoi de requêtes SOAP. Interprétation des réponses. Déploiement d'un Web Service.

Le langage de description des Web Services

  • Comprendre comment décrire un Web Service en XML.
  • Introduction à WSDL. Anatomie d'un document WSDL.
  • WSDL et Java.
  • Travaux pratiques : Créer un fichier WSDL décrivant un Web Service.

Mise en place des Web Services avec SOAP/WSDL et REST

  • Les outils de programmation pour la création et l'utilisation de Web Services.
  • Construire des Web Services et des clients avec JAX-WS. Types supportés par JAX-WS et JAX-RS.
  • Outils wsgen.
  • Projet Open Source SOAP du groupe Apache.
  • Utilisation de SOAP dans des contextes RPC.
  • Les Web Services depuis des terminaux mobiles. Possibilités et restrictions.
  • Travaux pratiques : Programmation de Web Services de type échange SOAP/WSDL et REST. Utilisation des API Java JAX-WS et JAX-RS.

Publication et recherche de Web Services

  • Le rôle des annuaires dans les applications mettant en oeuvre des Web Services. Rôle et limites d'UDDI.
  • La différence entre annuaires runtime et annuaires design-time.
  • Mettre à disposition des Web Services via des annuaires UDDI.
  • Programmation UDDI, structure de données UDDI.
  • Vue d'ensemble et architecture de JAXR.
  • Création et exécution d'un client JAXR, accès au registre, interrogation, gestion des données.
  • Utilisation de descriptions WSDL avec UDDI.
  • Travaux pratiques : Publication d'un fichier d'un Web Service sur un annuaire UDDI. Recherche de Web Services.

Projets CXF, JAX-WS RI et Axis

  • Les mécanismes des principales boîtes à outils de nouvelle génération SOAP.
  • Architecture et composants des projets, CXF, JAX-WS RI et Axis.
  • Installation, configuration, déploiement de services SOAP/WSDL.
  • Consommer et publier des Web Services, correspondance données XML/Java.
  • Utilisation des annotations spécifiques à JAX-WS (JSR 224) et des annotations pour le mapping Java/XML.
  • Au moyen de Java : obtention du WSDL d'un service déployé et construction d'un WSDL.
  • Outils : TCPMon, SOAP Monitor, SOAP UI version OSS.
  • Travaux pratiques : Mise en place d'une solution complète de communication entre applications avec SOAP/WSDL grâce à une de ces implémentations.

Projet Jersey pour les services REST

  • Les mécanismes de mapping entre Java et le monde REST.
  • Architecture et composants du projet Jersey.
  • Installation, configuration, déploiement de services REST.
  • Consommer et publier des Web Services REST.
  • Utilisation des annotations spécifiques à JAX-RS (JSR 311) et des annotations pour le mapping Java/XML.
  • Comment utiliser JAX-RS et Jersey pour publier des Services REST. Implémentations alternatives à Jersey (Restlet...).
  • Outils : TCPMon, SOAP Monitor, SOAP UI version OSS.
  • Travaux pratiques : Mise en place d'une solution complète de communication entre applications avec une philosophie REST grâce à Jersey.

Sécurisation des services Web

  • Authentification, autorisation, cryptage.
  • Signatures digitales XML, cryptage XML des informations, toolkit Java, gestion des clés.
  • Authentification personnalisée : les en-têtes SOAP.
  • Extension de sécurité SOAP.
  • Web Services Security Specifications (WS-Security).
  • Travaux pratiques : Sécurisation de l'application globale.
plus d'infos

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.

Mis à jour le 08/11/2023