Java - Avancé et accès aux Bases de données
Développement
Objectifs
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.
À l'issue de la formation, le stagiaire sera capable de :
- 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
Methodes et outils pédagogiques
- Alternance exposés théoriques et exercices pratiques (80% pratique)
- Support de cours adapté au logiciel étudié et au niveau suivi
- Assistance téléphonique gratuite et illimitée
Modalité d'évaluation
- Evaluation formative au travers de nombreux exercices tout au long de la formation permettant de valider les compétences acquises.
Attestation de stage. - Emargement quotidien d’une feuille de présence
- Possibilité de passage de la certification Tosa en fin de formation
Accessibilité aux personnes handicapées
Pour tout besoin d’adaptation, retrouver le contact de notre référent handicap et les modalités d’accueil sur la page : Infos pratiques/Situation de Handicap
Public concerné
Développeur / Chef de projet / Chargé de développement d'applications informatiques
Pré-requis
Avoir suivi la formation "JAVA-Les fondamentaux » ou maîtriser la programmation orientée objet Java / Connaissance des concepts de bases de données relationnelles et du langage SQL.
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)
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)
1ÈRE APPROCHE : Architecture d'une application JEE avec les EJB 3.2
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
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
2ÈME APPROCHE : Architecture d'une application JEE avec Spring et Hibernate
Spring
- 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
- Hibernate : présentation et architecture
- Installation et configuration
- Persistance XML des classes et des attributs, associations et héritage
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
Conclusion
- Revue des points clés des deux approches
- Les plus et moins de chaque approche
Travaux pratiques
- Pour chaque point du programme abordé :
Présentation et démonstration par le formateur, mise en pratique sur les fonctionnalités abordées par le stagiaire avec l’appui du formateur et du groupe, feedbacks du formateur tout au long de l’activité.