Formation Java

Java : développer des services Web REST

à distance

Dans cette formation, vous apprendrez les notions et les domaines d’utilisation des services Web. Après une présentation des technologies associées ainsi que de la plateforme Java EE, le développement des services REST sera abordé. Vous apprendrez ensuite comment développer des applications clientes pour ces services et à les sécuriser.

icon Contenu

Architecture de la plate-forme Java EE

  • De l’architecture client/serveur à l’architecture Web
    • Les composantes d’une architecture Web
  • Rappels sur les mécanismes d’interaction HTTP
    • Le modèle requête/réponse
    • Structure d’une requête : Entête, corps
    • Structure d’une réponse : Entête, corps, code de réponse
  • Le modèle de composants Java EE
    • Servlet, JavaServer Pages (JSP), Enterprise JavaBeans (EJB)
  • La plate-forme de services Java EE
    • Accès aux ressources et intégration dans le système d’information
    • JDBC, JNDI, JTA, JCA, JavaMail, etc.
  • Structure des modules et applications Java EE
    • Packaging et déploiement
  • Les serveurs d’applications Java EE
    • Rôles et principes de fonctionnements
    • Les conteneurs du serveur
    • L’offre du marché

Introduction aux services Web

  • Rappels sur les architectures n-tiers et les composants distribués
  • Inconvénients et limites du développement à base de composants distribués
  • Les besoins de Services distants pour la mobilité
  • Approches et technologies pour les services Web
    • Présentation de SOAP
    • SOAP vs. REST

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
  • Les formats de données utilisables
    • XML, HTML, JSON, etc.

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 de Jersey, implémentation de référence
    • 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, Texte, JSON, etc.)
  • Gestion des erreurs dans les classes de ressource
    • Techniques de transformation des exceptions Java en messages
  • Travaux pratiques :
    • Concevoir des services REST Java s’appuyant sur un modèle de données fourni
    • Tester les services avec un outil de test logiciel dédié (SoapUI, Postman, etc.)

Les clients REST

  • Le client le plus simple : le navigateur Web
  • Consommer un service REST depuis une application Java
    • L’API cliente d’Apache CXF
    • L’API cliente de Jersey
  • Consommer un service REST depuis une page HTML en JavaScript
  • Travaux pratiques :
    • Développement d’un client Java simple pour consommer les services réalisés précédemment
    • Développement d’un client JavaScript simple pour consommer les services réalisés précédemment depuis une page HTML

Création de Services bidirectionnels avec les WebSockets

  • Principes de fonctionnement des WebSockets
    • Support de la technologie
    • Fonctionnement de la communication bidirectionnelle
  • Le support des WebSockets en Java
    • Les classes d’implémentation
    • Les annotations
  • L’encodage et le décodage des données échangées

Sécurisation et déploiement d’un service REST

  • Authentification et autorisation
    • Rappels sur les concepts HTTP
    • La sécurité des ressources dans une applications Java EE
    • La notion de rôle applicatif
  • Déclaration des contraintes de sécurité pour un Service REST
    • Par configuration XML
    • Par annotation
  • Configuration du serveur d’application
    • Liaison au référentiel d’authentification
    • Définition et association aux rôles applicatifs
  • Services REST et HTTPS
    • Mise en œuvre au niveau du serveur d’application
    • Impact sur les Services développés
  • Travaux pratiques :
    • Restreindre l’accès aux fonctionnalités d’un Service par authentification utilisateur
    • Mise en œuvre de HTTPS

icon Compétences visées

  • Décrire les principes de fonctionnement des architectures REST et de développement des Services Web
  • Mettre en place l’API JAX-RS dans une application
  • Implémenter des classes de Services REST avec JAX-RS
  • Manipuler les différents formats d’échange de données entre le client et le serveur
  • Invoquer des services REST à partir d’une application Java
  • Mettre en place une communication bidirectionnelle grâce aux Web Sockets
  • Sécuriser les appels à vos Services REST en intégrant un mécanisme d’authentification
  • Déployer les Services sur un serveur d’applications

icon Méthodologie

Depuis votre domicile ou votre entreprise. Vous rejoignez un environnement de formation en ligne, à l’aide de votre ordinateur, tout en étant éloigné physiquement du formateur et des autres participants. Vous êtes en totale immersion avec le groupe et participez à la formation dans les mêmes conditions que le présentiel.

En début et en fin de formation, les stagiaires réalisent une auto-évaluation de leurs connaissances et compétences en lien avec les objectifs de la formation. L’écart entre les deux évaluations permet ainsi de mesurer leurs acquis.

icon Public & Prérequis

Cette formation s’adresse aux concepteur-trice-s/développeur-trice-s, chef-fe-s de projets, architectes techniques.

Prérequis : Idéalement, avoir suivi les formations Les fondamentaux de la programmation Java (Java SE) et Gérer la persistance des données avec les frameworks Hibernates/JPA et Spring, ou posséder les connaissances et compétences équivalentes.

icon Titre obtenu

Vous recevez une attestation de suivi de cours CPI Formations à la fin de cette formation.

Intervenant

Formateur informatique

Intervenant de la formation

Professionnel de l'informatique et de la pédagogie
Formateur informatique

Intervenant de la formation

Professionnel de l'informatique et de la pédagogie

La formation est animée par un professionnel de l’informatique et de la pédagogie, dont les compétences techniques, professionnelles et pédagogiques ont été validées par des certifications et/ou testées et approuvées par les éditeurs et/ou notre équipe pédagogique. Il est en veille technologique permanente et possède plusieurs années d’expérience sur les produits, technologies et méthodes enseignés. Il est présent auprès des stagiaires pendant toute la durée de la formation.

Prochaine session

icon Dates

icon Prix

icon Lieu

Dates
25/10/2021 – 27/10/2021
inscriptions ouvertes
21 périodes de 60 minutes (3 jours de formation)

⌚ Horaire : 9h00 – 17h30

Prix
CHF 2'390
Lieu
À distance
Détails

icon Planifiez votre propre session.

Vous êtes une entreprise ? Vous êtes un particulier ? Nous nous tenons à votre disposition pour étudier la mise en place d'une formation sur mesure adaptée à vos besoins.

Plus d'informations link icon

Java : développer des services Web REST

Questions et pré-inscription

Claudia vous conseille et répond à vos questions sur ce cours

026 305 27 64 link icon
claudia.magne@cpi.ch link icon