Très répandu car précurseur des langages multi plates-formes, le langage Java est encore très souvent choisi pour sa portabilité sur les différents systèmes. Pour développer des applications d’entreprise en Java, plusieurs approches sont possibles : opter pour les Enterprise Java Beans (EJB) qui permettent aux développeurs de se concentrer sur les problématiques “métier” plutôt que d’avoir à se préoccuper de questions techniques ou pour le duo formé par Spring et Hibernate qui offre l’avantage de bien séparer la couche présentation de l’accès aux données. Les participants à cette formation de 4 jours seront amenés à évaluer les avantages et inconvénients de chacune des 2 solutions en les mettant en oeuvre dans un même projet de développement.
Cette formation prépare à la certification .
Les objectifs de la formation
- Maîtriser le développement Java avec l’IDE Eclipse
- Comprendre comment utiliser les principaux Frameworks Java
- Disposer des connaissances nécessaires au développement d’une application Java
- Savoir tester, debugger et optimiser ses applications
A qui s’adresse cette formation ?
Pour qui
- Développeurs
- Chargés de développement d’applications informatiques
Prérequis
- Avoir suivi la formation “Les fondamentaux de la programmation Java” (OB300) ou maîtriser la programmation orientée objet Java
- Connaissance des concepts de bases de données relationnelles et du langage SQL
Le programme
1 – Présentation de l’écosystème JEE
- Le standard JEE et ses composantes (EJB, JSP/Servlet et JSF)
- Les frameworks JEE Spring et Hibernate
- Comparaison détaillée entre les deux solutions (EJB Vs. Spring Hibernate)
2 – Mise en place de la couche présentation de l’application Web
- Rappel sur le patron de conception MVC
- Introduction aux JSP/Servlet
- Mise en oeuvre de la partie présentation et contrôle (réutilisée dans la partie deuxième solution voir ci-dessous)
3 – 1ÈRE APPROCHE : Architecture d’une application JEE avec les EJB 3.2
4 – Présentation des EJB 3.2
- La spécification EJB 3.2 : architecture et principes du conteneur lourd
- La triade des EJB : session, entité et message-driven beans
- Packaging et déploiement des EJB 3
- Localisation des EJB 3 avec JNDI
- Injection de dépendances
- Comment créer un client “standalone” et un client Web
5 – Les EJB Entity et mapping Objet-Relationnel avec JPA
- Présentation des EJBs Entity
- Introduction à JPA (Java Persistance API)
- Mapping objet-relationnel, rôle de la clé primaire, mapping des associations (one-to-many, many-to-one etc.)
- L’héritage
- EQL, le langage de requête orienté-objet
6 – 2ÈME APPROCHE : Architecture d’une application JEE avec Spring et Hibernate
- Notion de conteneur léger
- Instanciation des objets par le conteneur Spring (constructeur et par setters)
- L’injection de dépendance et inversion de contrôle
- Programmation Orientée Aspect avec Spring AOP
- Access aux données : présentation du JDBC Template
- Hibernate : présentation et architecture
- Installation et configuration
- Persistance XML des classes et des attributs, associations et héritage
9 – Hibernate, options avancées
- Optimisation avec l’utilisation du cache de second niveau
- Traitements en mode BatchVersioning, transactions et accès concurrents
- Les requêtes avec HQL, Criteria, By The Example, Detached Criteria
- Couplage avec Spring (Hibernate Template) pour une solution ORM plus transparente
- Revue des points clés des deux approches
- Les plus et moins de chaque approche