La présentation de ce site est conforme aux standards actuels ; sa présentation est optimale avec un navigateur récent.

Architecture d'applications d'entreprise (In3ArchAppEntr)

uk English version 

Professeurs : Donatien Grolaux; Emmeline Leconte; Michel Debacker;

Nombre d'heures : 66

Période :Semestre 1

Type de cours : cours magistral

Objectifs :

Objets Distribués : EJB

Présenter les techniques objets haut niveau de programmation d'applications entreprise distribuées (EJB 3) et permettre aux étudiants de pratiquer ces techniques.

Patterns d'Analyse et de Design

Apprendre comment organiser les classes d'une application orientée Objet par la présentation de solutions types (patterns) à des problèmes récurrents. Réorganiser les classes lors d'une modification faite à l'application en utilisant des techniques de refactoring. Apprendre comment découvrir quel pattern peut être une solution au problème rencontré.

Projet d'architecture d'applications entreprises

Réaliser l'analyse, le design, l'implémentation et le déploiement d'une application entreprise distribuée. Cette application sera implémentée en utilisant des techniques d'objets distribués ou de Web dynamique (JSP, Web services, EJB)

Compétences :


Prérequis :

Objets Distribués : EJB

La connaissance du langage Java et des principes de la programmation orientée objets est nécessaire. Il faut également connaître les bases de données et le langage SQL.

Patterns d'Analyse et de Design

La connaissance d'un ou plusieurs langages de programmation orientée objets tels que Java et C++ est un atout majeur.

Projet d'architecture d'applications entreprises

Outre la connaissance du Java  y compris l'accès aux bases de données en JDBC et le multithreading , les techniques d'objets distribués et de JSP/servlets sont indispensables.

Comme il s'agit d'un projet mené en groupe, une expérience de l'analyse objet et en particulier de l'UML est fondamentale.

Contenu du cours :

Objets Distribués : EJB

Le cours étudie les EJB 3.0 et la Java Persitence API 1.0

1. Introduction aux EJB 3.0 et à Java EE 5 - Notions d'AOP et de IOC

2. Une première application - usage de JBoss IDE

3. O/R Mapping

    3.1 EntityManager

    3.2 O/R Mapping d'une entité

    3.3 Relations entre entités

    3.4 Héritage d'entités

4. JPQL et queries natifs

5. Callbacks dans les entités

6. Session beans, Message driven beans et Web services

7. Services de timers

8. Transactions

9. Interceptors

10. Injections

11. Sécurité

12. Exceptions

Patterns d'Analyse et de Design

Une brève présentation des patterns classique (GoF) sera suivie de la discussion de quelques uns d'entre eux. Sur base d'une étude de cas, une présentation des techniques de refactoring montrera comment réorganiser un code de structure obsolète pour le rendre plus flexible et maintenable en y introduisant divers patterns.

Le cours est accompagné d'exercices permettant de mettre en oeuvre les notions vues.

Projet d'architecture d'applications entreprises

Ce cours consiste en la réalisation d'un projet selon les techniques de la programmation extrême. Le projet consiste en une application entreprise distribuée. Cette application devra utiliser des techniques Web (JSP/servlets) et des techniques objets distribués (EJB)

Méthode d'enseignement :

Objets Distribués : EJB

Le cours théorique est accompagné d'exercices. La théorie est présentée rapidement, afin d'encourager les étudiants à apprendre par eux-mêmes.

Patterns d'Analyse et de Design

La théorie est parcourue rapidement afin de donner une idée globale des patterns et des techniques de refactoring. Une étude de cas permet de montrer la mise en oeuvre de plusieurs patterns à travers une série de refactoring. Des exercices viennent compléter le cours, durant lesquels les étudiants sont priés de se rapporter au syllabus ou à la bibliographie pour approfondir l'étude des patterns qui leur sont demandés d'implémenter.

Projet d'architecture d'applications entreprises

La méthode utilisée est basée sur les patterns d'enseignement bien connus : Lazy Professor et Active Student. La technique utilisée repose sur les fondements de l'extreme programming. Les étudiants forment des groupes de 4 à 6 et organisent leur travail en se répartissant les tâches.

Lectures recommandées :

Objets Distribués : EJB

  • Burke, Bill et Monson-Haefel, Richard, Enterprise JavaBeans 3.0 (fifth edition), O'Reilly 2006
  • Keith Mike et Schincariol, Merrick, Pro EJB 3 Java Persistence API, Apress 2006
  • Kodali, Raghu R. et Wetherbee, Jonathan with Zadrozny, Peter, Beginning EJB 3 Application Development From Novice to Professional, Apress 2006
  • Patel Sriganesh, Rima, Brose, Gerald et Silverman, Micah, Mastering Enterprise JavaBeans 3.0, Wiley 2006
  • Panda, Debu, Rahman, Reza et Lane, Derek, EJB 3 in Action, Manning 2007

Patterns d'Analyse et de Design

Le livre de référence est le livre du Gang of Four (GoF) :

  • Gamma, Helm, Johnson & Vlissides, Design Patterns, Addison Wesley, 1995.
  • D'autres lectures suggérées:
  • Cooper, Java Design Patterns  A Tutorial, Addison Wesley 2000.
  • Freeman E, Freeman E, Sierra K et Bates B, Head Fisrt Design Patterns, O'Reilly, 2004

Projet d'architecture d'applications entreprises

  • Kent Beck, Extreme Programming Explained, Embrace Change, Addison Wesley, 2000.
  • Voir aussi la bibliographie des cours d'Objets distribués, de Patterns de Design et de Web dynamique

Méthode d'évaluation :

Objets Distribués : EJB

  • Un travail devra être réalisé sur les matières vues au cours. Ces travaux servent d'évaluation continue.
  • Un examen à livres ouverts est organisé en session .

Patterns d'Analyse et de Design

Le cours est évalué de 2 façons :

  • évaluation continue
  • examen

Projet d'architecture d'applications entreprises

Le projet se terminera par la remise d'un dossier qui sera coté. Une présentation orale servira également d'évaluation. Elle tiendra compte de la qualité et de l'état d'avancement du travail mais aussi de la capacité du groupe à avoir pu se coordonner.