Rappels UML
- Principes essentiels d'UML.
- Le formalisme des diagrammes de cas d'utilisation, la notion de scénarios.
- La notion de paquetage.
- Les diagrammes de séquences, d'états-transitions et concepts du diagramme de classes.
Eléments techniques
- La plateforme JavaEE et les notions de confinement et de services techniques.
- Le niveau Présentation avec les servlets et pages JSP. Le framework JSF.
- Le Web 2.0 et Ajax.
- Le niveau métier avec les composants EJB.
- La couche d'intégration et les services techniques.
- Les services Web.
- Les principes d'une architecture SOA et le concept d'orchestration. Présentation de BPEL.
- La spécification JBI (Java Business Integration).
La définition de l'architecture
- Les différents types d'architectures JavaEE.
Le niveau Présentation
- La modélisation des aspects statiques et dynamiques des servlets et JSP.
- La modélisation de l'automate de navigation à l'aide du diagramme états/transitions.
- La représentation UML des patterns ?Blueprints' spécifiques au niveau présentation.
- Les particularités liées à l'emploi d'un framework de type Struts ou JSF.
- Les patterns ?Blueprints' pour l'emploi d'Ajax.
Le niveau Métier
- La modélisation des aspects statiques et dynamiques des composants EJB et Javabeans.
- La représentation UML des patterns ?Blueprint' spécifiques au niveau métier : ValueObject, ServiceLocator, AgregateEntity, SessionFacade...
La couche d'intégration et l'existant
- Les diagrammes adaptés à ce niveau.
- La représentation d'une base de données ou d'une application externe.
- La représentation UML des patterns ?Blueprint' spécifiques : DataAccessObject...
- Les patterns liés à l'usage de Java Persistence API.
Les Web Services
- La représentation d'un Web Service avec UML.
Travaux pratiques
Etude de cas qui permettra d'effectuer une synthèse des différents concepts. Elle comprendra un niveau présentation JSF, un niveau métier comportant des POJO ou des EJB3, une couche de persistance de type JPA ainsi que des web services. Les exercices sont réalisés avec différents plug-ins Eclipse ainsi que des frameworks et serveurs d'applications Open Source.