Formation Java EE 7 et 8

Objectifs de la formation Java EE 7 et 8

Cette formation Java EE 7 et 8 fournit une présentation concise mais exhaustive des plateformes Java EE 7 et 8. Elle commence par expliciter les concepts fondateurs de cette spécification afin de clairement appréhender ses finalités. Ensuite, les technologies principales sont présentées en insistant sur les problématiques résolues, les cas d'utilisation et le panorama des offres du marché. À l'issue de ces 2 journées de cours, les participants seront capables de se repérer dans cette nébuleuse de standards et d'acronymes.

Contenu du cours Java EE 7 et 8

Introduction

JAVA EE 8: une spécification des implémentations, domaines d'application, l'aspect distribué et transactionnel
Les finalités et les apports de JAVA EE, évolutivité des applications, portabilité, montée en charge, sûreté de fonctionnement, indépendance vis-à-vis des éditeurs, ...
Les architectures 3-tiers et N-tiers, description des différents tiers et des composants associés
La notion de conteneurs, leurs rôles, leurs services
Le rôle particulier des web services
Le packaging d'application, structure d'une archive .ear
Technologies et APIs disponibles : Servlet, JSP, JSF, EJB, JPA, JMS, CDI, JAX-WS, JAX-RS, JNDI, JAAS, JTA ...
Panorama des serveurs d'applications compatibles Java EE 7 & 8
Configuration des serveurs: mise en cluster

Principales nouveautés de Java EE 8

CDI 1.1 (Context and Dependency Injection)
Servlet 3.1 NIO: traitement asynchrone de requêtes HTTP de grande taille
Les WebSockets: pour une interactivité accrue
Les services Web RESTful et JSON: facilité de mise en œuvre
JMS 2.0: JMS simplifié
Batch 1.0: pour les traitements de masse
Concurrency Utilities: exécution asynchrone de tâches concurrentes
jCache: cache distribué

Injection de dépendances avec CDI

Introduction à l'injection de dépendances
CDI et l'injection de dépendances dans les différents tiers Java EE
Les méthodes call-back
Configuration via beans.xml
Producteurs et destructeurs
Modèle évènementiel
Intercepteurs, décorateurs et stéréotypes

Les applications Web

Classification des applications : orientées présentation ou service, Modèle requête/réponse, rappels sur le protocole HTTP, cycle de vie d'une application web
Définition d'un module web, packaging, déploiement, mise à jour
Configuration d'une application : mapping des URLs, paramètres d'initialisation, mapping des erreurs, déclaration des ressources
Connections aux ressources, présentation de JNDI, JDBC, notion de DataSource et de pool de connections
JPA 2 et les outils d'ORM

Les servlets

Architecture d'une servlet 3.x
Cycle de vie d'une servlet, gestion des évènements, des erreurs
Partage d'information et notion de périmètre (requête, session, etc.)
Implémenter les services du servlet, récupération de paramètre, construction de réponse
Les filtres de requête ou de réponses, propagation de requête, délégation
Gestion de session utilisateur, avec ou sans cookies

Les WebSockets (nouveauté Java EE 8)

WebSockets et HTML5: principe, communications bidirectionnelles
Classes EndPoint, annotations, messages
Encodeurs/décodeurs

Java Server Page et JSF

Pourquoi JSP ? Définition et exemple d'une page JSP
Cycle de vie d'une page JSP
Eléments de syntaxe, notion de scriptlet
Définition d'un JavaBean, utilisation par une page JSP
Utilisation de librairies de balises, les librairies les plus communes (Struts, JSTL)
Documents JSP: définition et apports
La spécification JSF, ses apports
Technologie de présentation : JSP ou facelets
Les frameworks Ajax

Les EJBs

Les différents types d'EJBs et leur cycle de vie: session ou message-driven
Services techniques du conteneur : transactions et sécurité
Nouveauté Java EE 8: EJB Lite
EJBs session stateless ou stateful, accès distant ou local
Persistance d'objets métiers avec JPA 2.1
Service Timer
JMS 2.0 et EJB Message driven
Modèle PTP ou Pub/Sub, synchrone ou asynchrone

Les Services Web

Services web SOAP et RESTful: principe, comparaison, domaines d'applications
Le protocole SOAP, le standard WSDL
Services Web SOAP avec les API JAX-WS 2.2
Clients des services Web SOAP
Services web RESTful avec les API JAX-RS 2.0
Echange de données aux formats HTML, XML, JSON
Clients des services Web RESTful

La sécurité dans JAVA EE 8

Modèle déclaratif de la sécurité
Authentification pluggable et API JAAS
Chiffrement, Cryptographie et Signature
Le support pour SSL, les certificats
La sécurité dans les différents tiers d'une application web