Formation Architecture d'entreprise Java EE
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 transactionnelLes 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ésLa notion de conteneurs, leurs rôles, leurs servicesLe rôle particulier des web servicesLe packaging d'application, structure d'une archive .earTechnologies 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 & 8Configuration 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 tailleLes WebSockets: pour une interactivité accrueLes services Web RESTful et JSON: facilité de mise en œuvreJMS 2.0: JMS simplifiéBatch 1.0: pour les traitements de masseConcurrency Utilities: exécution asynchrone de tâches concurrentesjCache: cache distribué
Injection de dépendances avec CDI
Introduction à l'injection de dépendancesCDI et l'injection de dépendances dans les différents tiers Java EELes méthodes call-backConfiguration via beans.xmlProducteurs et destructeursModèle évènementielIntercepteurs, 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 à jourConfiguration d'une application : mapping des URLs, paramètres d'initialisation, mapping des erreurs, déclaration des ressourcesConnections aux ressources, présentation de JNDI, JDBC, notion de DataSource et de pool de connectionsJPA 2 et les outils d'ORM
Les servlets
Architecture d'une servlet 3.xCycle de vie d'une servlet, gestion des évènements, des erreursPartage 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éponseLes filtres de requête ou de réponses, propagation de requête, délégationGestion de session utilisateur, avec ou sans cookies
Les WebSockets (nouveauté Java EE 8)
WebSockets et HTML5: principe, communications bidirectionnellesClasses EndPoint, annotations, messagesEncodeurs/décodeurs
Java Server Page et JSF
Pourquoi JSP ? Définition et exemple d'une page JSPCycle de vie d'une page JSPEléments de syntaxe, notion de scriptletDé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 apportsLa spécification JSF, ses apportsTechnologie de présentation : JSP ou faceletsLes frameworks Ajax
Les EJBs
Les différents types d'EJBs et leur cycle de vie: session ou message-drivenServices techniques du conteneur : transactions et sécuritéNouveauté Java EE 8: EJB LiteEJBs session stateless ou stateful, accès distant ou localPersistance d'objets métiers avec JPA 2.1Service TimerJMS 2.0 et EJB Message drivenModèle PTP ou Pub/Sub, synchrone ou asynchrone
Les Services Web
Services web SOAP et RESTful: principe, comparaison, domaines d'applicationsLe protocole SOAP, le standard WSDLServices Web SOAP avec les API JAX-WS 2.2Clients des services Web SOAPServices web RESTful avec les API JAX-RS 2.0Echange de données aux formats HTML, XML, JSONClients des services Web RESTful
La sécurité dans JAVA EE 8
Modèle déclaratif de la sécuritéAuthentification pluggable et API JAASChiffrement, Cryptographie et SignatureLe support pour SSL, les certificatsLa sécurité dans les différents tiers d'une application web