Master 2ieme année
Filière -- Informatique 2010 - 2011
Java Enterprise Edition
1er semestre 2010
Cours 1 -- Introduction a Java EE
Auteur Gautier Loyaute
Introduction a Java EE

Ce premier cours va presenter les grands principes de la programmation d'application. L'apport des patrons de conception, de l'injection de dependances, de l'inversion de controle et de la programmation par aspect dans le developpement d'application pour les entreprises. Dans un second temps, ce cours presente l'architecture JEE ainsi que les contraintes d'entreprise motivant l'apparition des conteneurs legers tels que Spring.

Projet 1 -- Mise en place des objets metiers et outils de qualimetrie
Auteur Gautier Loyauté Deadline : 22 octobre 2010 18 Octobre 2010
Mise en place des objets metiers et outils de qualimetrie

Durant ce TD, nous allons mettre en place les objets metiers qui seront utilises dans la suite des TD. Dans un second temps, nous allons nous interesser a des outils de qualimetrie de code (PMD, Checkstyle, Findbugs, JavaNCSS). Nous verrons ensuite le principe d'integration continue, les test unitaires et le principe de "continuous performance testing".

Ce TD va faire l'objet d'un rendu sous forme d'une archive zip contenant d'une part un rapport au format pdf et d'autre part d'un jar non executable contenant le code source.

Cours 2 -- Persistance des donnees
Auteur Gautier Loyaute
Persistance des donnees

Ce cours sur deux seances va presenter la persistance des donnees en Java. Ainsi, dans un premier temps, nous verrons JDBC (Java Data Base Connector) qui permet de dialoguer avec une base de donnees et de recuperer des donnees. Cependant, le mapping relationnel-objet et fait a la main. Nous verrons ensuite JPA (Java Persistence API) qui repond a la problematique de mapping relationnel-objet. La norme JPA a plusieurs implantations dont Hibernate que nous presenterons dans ce cours. Nous verrons a la fin de ce cours l'integration d'Hibernate dans une application spring.

Projet 2 -- En attendant le printemps... Mavenisation et Hibernation
Auteur Gautier Loyaute Deadline : 29 octobre et 5 novembre 2010 a 18h 25 octobre 2010 et 2 novembre 2010
En attendant le printemps... Mavenisation et Hibernation

Durant ce TD nous allons "Maveniser" notre projet commence durant le TD precedent. Maven est un outil logiciel permettant de gerer et d'automatiser la production de logiciels Java. L'idee est de produire un logiciels a partir de ses sources en optimisant les taches realisees a cette fin et en garantissant le bon ordre d'execution de ces taches.

Dans un second temps, nous allons persister les donnees de notre petit projet. La persistance correspond au mecanisme responsable de la sauvegarde et la restauration des donnees d'un programme pour que celui-ci puisse se terminer sans que ses donnees ne soient perdues. Pour se faire nous allons utiliser la norme JPA et Hibernate, une implantation de JPA fournie par la communaute JBoss.

Ce TD va lui aussi faire l'objet d'un rendu sous forme d'une archive zip contenant d'une part un rapport au format pdf et d'autre part d'un jar non executable contenant le code source.

Cours 3 -- JSF et RichFaces
Auteur Gautier Loyaute
JSF et RichFaces

Dans ce cours nous allons presenter la couche presentation via JSF-RichFaces. JSF-RichFaces permet d'utiliser des composants "sur etagere" et d'en developper en propre pour les incorporer dans diverses applications.

Projet 3 -- Java Server Faces et Richfaces
Auteur Gautier Loyaute Deadline : 15 novembre 2010 a 18h 8 novembre 2010
Java Server Faces et Richfaces

Durant ce TD nous allons realiser un certain nombre de vues de nos objets metiers Auteurs et Livres. Ainsi, nous afficherons tout d'abord la liste de tout les auteurs et tout les livres presents en base. Puis nous realiserons les vues unitaires de ces objets. Enfin, nous afficherons l'ensemble des livres d'un auteur et l'ensemble des auteurs d'un livre. Les ecrans permettant de rajouter un auteur et un livre seront realises comme travail preparatoire de la seance prochaine. Comme indique dans le titre, les vues seront realisees a l'aide de JSF et RichFaces.

Ce TD comme ses predecesseurs fait l'objet d'un rendu sous forme d'une archive zip contenant d'une part un rapport au format pdf et d'autre part d'un jar contenant le code source de l'application.

Cours 4 -- Spring WebFlow
Auteur Gautier Loyaute
Spring WebFlow

Dans ce cours nous allons presenter Spring WebFlow

Projet 4 -- Spring Webflow
Auteur Gautier Loyaute Deadline : 22 novembre 2010 15 novembre 2010
Spring Webflow

Durant ce TD nous allons realiser les actions sur les vues que nous avons creer durant le TD precedent. Ces actions vont etre des operations de creation, suppression et modification sur nos objets metiers livres et auteurs. Les operations cotes serveur vont etre implantees dans des services via des methodes transactionnelles. Les operations de gestion de controle de navigation et le lien vers nos services vont etre fournis par SpringWebflow.

Ce TD comme ses predecesseurs fait l'objet d'un rendu sous forme d'une archive zip contenant, d'une part, un rapport au format pdf et, d'autre part, un jar contenant le code source de l'application.

Projet 1 -- Projet JEE - Portail Etudiant
Auteur Gautier Loyaute Deadline : fevrier 2011 22 novembre 2010
Projet JEE - Portail Etudiant

Le projet de JEE sera realise par groupe de 4 a 5 personnes. Il sera base sur un socle technique commun pour l'ensemble des equipes. Ce socle comprend le contenur de servlet Tomcat 6.0.20, Birt pour l'edition PDF de document, log4j pour logger l'application, PostgreSQL ou MySQL pour la base de donnees, etc.

Les groupes auront differents choix technologiques a respecter tant pour la technique de persistance (JDBC ou Hibernate) que pour la partie presentation / controleur (GWT, webflow, struts2).

Une etude prealable sera a rendre le 29 novembre a 18h.

Le projet portera sur la realisation d'un "portail" pour les etudiants contenant aussi bien des cours, que le suivi de leur option, leurs notes, etc. Il y aura ainsi des acteurs administratifs, des professeurs et des etudiants qui auront acces a ce "portail".

Exemples de code -- Collection d'HyperLien ayant trait a JEE
Collection d'HyperLien ayant trait a JEE