Programmation Java EE GIN4203
Enseignant:
Email:
Durée totale du cours: 45 H
Option concernée : Ingénierie logicielle
Semestre : 4
Nombre de crédits : 2
| Modules
spécialisés |
Modules de
base |
Sciences et techniques de
l’ingénierie |
Préparation à la carrière professionnelle |
| X |
| Nombre d’heures | Activités hors classe | ||
| 22.5 | 18 | ||
| cours | TD | TP | |
| 45 | |||
Code : GIN4203 Programmation Java EE
Volume Horaire : 3h Travaux pratiques (par semaine)
Objectifs d’apprentissage et compétences visées
A l’issu de ce module, l’étudiant sera capable de concevoir et réaliser une application web en utilisant la plateforme Standard de développement Java Entreprise Edition (Java EE).
- Ce cours permet aux étudiants d’avoir une vision d’ensemble sur l’architecture d’une application Java EE mais également une compréhension claire des technologies prenant part à chaque niveau d’une telle
- Pendant de ce cours l’étudiant sera appelé à :
- Implémenter la logique métier de l’application moyennant la spécification
- Réaliser la persistance des données de l’application en utilisant la spécification
- Développer les interfaces utilisateurs en se servant de la puissance du Framework
Contenu du cours
- Présentation de Java EE (définition, architecture, spécifications, serveurs d’applications et
conteneurs, CDI)
- Les Composants web :
- Servlet HTTP (définition, syntaxe et implémentation, les objets requêtes et réponses, les contextes de partage session et application)
- Les pages JSP (définition, scriptlet, redirection de requête)
- L’accès aux données selon MVC en utilisant JDBC
- Les Expressions Language EL et la librairie JSTL
- Apports des EL
- La librairie Core de JSTL
- Les Entreprises Java Bean : (EJB3)
- Logique métier d’une application
- Types des composants
- Le conteneur EJB : (présentation et services rendus)
- EJB sans état (Stateless), EJB avec état (Statefull), EJB singleton
- Les clients des EJB (locaux et distants)
- La persistance des données en Java
- Présentation, avantages, fournisseurs de persistance et annotations
- Les entités, Object Relationnal Mapping (ORM)
- Le gestionnaire d’entités et contexte de persistance
- Les EJB et persistance
- Java Server Faces
- Présentation du Framework basé sur les composants
- Les Facelets, Les composants graphiques des vues
- Validation et conversion, Les Beans gérés, Ajax et JSF
- Composants personnalisés
Méthodes d’enseignement et d’apprentissage
Enseignement frontal (magistral) avec des exemples à résoudre en commun.
Travaux pratiques (laboratoire)
Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)
Connaissances et compétences pré-requises
- Programmation Orientée Objet (Java)
- Développement Web
Références bibliographiques
- Un polycopié (Notes du cours) de l’enseignant sera
- Antonio Goncalves, « Java EE6 et GlassFish 3 », Pearson, 2010. 554p. ISBN : 978-2744024238.
- Antonio Goncalves, « Beginning Java E.E. 7 », APress, 2013. 608p. ISBN : 978-1430246268.
- The Java EE 6 Tutorial (http://docs.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf).
- François-Xavier Sennesal, « JSF 2 avec Eclipse Développement d’applications web avec Java Server Faces », ENI, 2014. 341p. ISBN : 978-2746091146.
- Autres références sous forme de tutoriaux, manuels ou documents à télécharger
Modalité d’évaluation
- 100% Travaux pratiques (mini-projet avec présentation orale, examen TP, compte-rendu, …)
Résultats d’apprentissage
A l’issue de ce cours, l’étudiant sera capable de :
- Compréhension des principes fondamentaux de la programmation orientée objet.
- Maîtrise des concepts de base de JAVA, tels que les classes, les objets, les méthodes, l’héritage et les interfaces.
- Capacité à concevoir et à développer des applications JAVA robustes et évolutives.
- Connaissance de la bibliothèque standard de JAVA et des frameworks populaires pour le développement d’applications.
- Compétences en résolution de problèmes liés à la programmation JAVA.
- Utilisation de JAVA pour créer des applications web, des applications de bureau ou des applications mobiles.
- Compréhension des pratiques de codage sécurisé et des considérations de performance en JAVA.
- Connaissance des outils de développement et d’intégration continue utilisés dans l’écosystème JAVA.
- Capacité à travailler en équipe sur des projets de développement logiciel en utilisant JAVA.
- Connaissance des principaux concepts d’ingénierie logicielle et des méthodologies de développement agiles