A compléter
Schémas et fonctionnement en modules
Sommaire :
Ce que permet (ou permettra) esup-commons
... des applications web
Type d'application |
Spring-MVC |
JSF 1.2 |
JSF 2.0 |
---|---|---|---|
Servlet desktop |
x |
x |
|
Mixte (Mobile Portlet WAI Servlet) |
|
|
|
Servlet Mobile |
x |
x |
|
WAI |
|
? |
|
Quel module pour quel type de projet :
- Une application portail :
- Un projet qui ne doit figurer que dans le portail : *petits projets* -> mixte JSF ou Spring MVC
- Un projet que l'on souhaite pouvoir déployer en portlet et en servlet de manière identique : *petits et moyen projet* -> Mixte JSF 1.2
- Un projet que l'on souhaite pouvoir déployer en portlet et en servlet de manière différente (ex: Une petite application d'accroche dans le portail qui redirige ensuite l'utilisateur vers une application hors portail) : *moyen et gros projet* ->
- Une application hors portail :
- Un site web complètement externe au portail -> Serlvet uniquement => car JSF 2.0 pour des application lourdes qui nécéssiterait de l'ajax etc. car portlet bridge uPortal ne fonctionne qu'avec JSF 1.2
Les notions de blank et example
Dans sa deuxième version, esup-commons adopte un méthodologie complètement différente de la première.
Auparavant, le développement d'un projet passait par le checkout SVN d'un projet "blank" qui devait dépendre du projet esup-commons, lui-même récupéré par un checkout SVN. Voir (03 Méthodologie de développement)
Désormais, un projet esup-commons se base sur Maven et la notion d'archetype.
Pour démarrer un nouveau projet, on partira sur la base d'un archétype blank qui, grâce au mécanisme de dépendance Maven, intégrera esup-commons sous forme de jar.
Mettre un ecran structure vide
La notion de projet d'exemple (example) existe toujours. Cette application a pour but de présenter une implémentation simple d'un projet esup-commons et quelques fonctionnalités incontournables d'une application. Cette dernière sera récupérée par un checkout SVN.
Attention : les projets esup-commons et esup-blank disponibles sur le SVN ne sont utilisés que par les contributeurs du projet esup-commons
Le fonctionnement en modules
Un projet esup-common se décompose en sous-projets à part entière appelés "modules" au sens Maven et dépendants les uns des autres .
Au packaging, chaque module sera proposé sous forme soit d'un fichier jar pour les couches basses, soit d'un fichier war pour la présentation.
- WEB-JSF-SERVLET war
- WEB-JSF-PORTLET war
- WEB-JSF-MOBILE war
- WEB-JSF-SHARED jar => Controllers
- DOMAIN-SERVICES jar => Les services métiers (authenticator, accès au WS, exposition de WS)
- DOMAIN-BEANS jar => Les objets métiers
- DAO jar => Accès aux données
- UTILS jar => Utilitaires transverses à toute l'application