Evolution MM

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

Lien accueil

ENI Service est partenaire du DevFest Nantes 2019.

Rendez-vous les 21 et 22 octobre prochains pour un festival très rock !

Rechercher
Rechercher une formation
 

Développer des Services Web REST en Java (action collective FAFIEC "Développer avec les langages .NET, Java et C++" réf. 28055)

ENI Service a été retenue par le FAFIEC dans le cadre de l'action collective de formation "Développer avec les langages .NET, Java et C++". Si vous êtes salarié d'une entreprise cotisant au FAFIEC, vous pouvez bénéficier d'une prise en charge à 100% du coût de cette formation dans la limite des fonds disponibles.

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.

Public :

  • Développeurs, analystes programmeurs, chefs de projets.

Objectifs :

  • Comprendre les principes de développement des Services Web en Java ;
  • Développer des applications Java mettant en œuvre des Services REST ;
  • Gérer les formats d'échange entre le client et le serveur ;
  • Sécuriser les appels à vos Services REST en intégrant un mécanisme d'authentification ;
  • Déployer les Services sur un serveur d'applications.

Pré-requis :

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

Contenu pédagogique

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

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, …)
  • 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, …)

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


Modalité et moyens pédagogiques, techniques et d'encadrement

  • Formation avec un formateur, dans une salle dédiée à la formation, équipée d'un vidéoprojecteur, d'un tableau blanc et d'une solution de visio-conférence dans le cas des formations suivies en in-classTM (présentiel à distance). Le nombre de stagiaires peut varier de 1 à 12 personnes (5 à 6 personnes en moyenne), ce qui facilite le suivi permanent et la proximité avec chaque stagiaire.
  • Chaque stagiaire dispose d'un poste de travail adapté aux besoins de la formation, d'un support de cours et/ou un manuel de référence au format numérique ou papier (pour les sessions inter-entreprises, dans le cas où le support de cours officiel est en anglais, nous offrons en complément, s'il existe, un ouvrage de référence des Editions ENI au format numérique rédigé en français).
  • Pour une meilleure assimilation, le formateur alterne tout au long de la journée les exposés théoriques, les démonstrations et la mise en pratique au travers d'exercices et de cas concrets réalisés seul ou en groupe. La répartition du temps entre la théorie et la pratique est mentionnée dans le plan de cours.

Modalités d'évaluation des acquis

  • L'évaluation des acquis se fait tout au long de la formation au travers des différents travaux dirigés et travaux pratiques réalisés par le stagiaire.
  • En complément, pour les stagiaires qui le souhaitent, certaines formations peuvent être validées officiellement par un examen de certification. Pour les formations concernées, l'examen est mentionné dans la zone " Commentaire " du programme de formation. Les candidats doivent produire un travail personnel important en vue de se présenter au passage de l'examen, le seul suivi de la formation ne constituant pas un élément suffisant pour garantir un bon résultat et/ou l'obtention de la certification.

Moyens de suivi d'exécution et appréciation des résultats

  • Feuille de présence, émargée par demi-journée par chaque stagiaire et le formateur ;
  • Evaluation qualitative de fin de formation, qui est ensuite analysée par notre équipe pédagogique ;
  • Attestation de fin de formation, remise au stagiaire en main propre ou par courrier électronique.

Qualification du formateur

  • 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.