Stripes + - gardeux

Download Report

Transcript Stripes + - gardeux

PROJET JEE APPROFONDI
STRIPES / TOPLINK
19 / 05 / 2010
Yann Gonzalez , Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher
Sommaire







Présentation du Projet
Organisation du Projet
Le Framework MVC : Stripes
Le Framework de Persistence : TopLink
Comparaison avec les autres Frameworks
Etude de cas : le Forum
Conclusion
Présentation du Projet


Les frameworks choisis :
- MVC : Stripes
- Persistence : TopLink
But du projet : apprendre à utiliser des frameworks
par nous-mêmes
Organisation du Projet






Recherche générale
> Commune
Installation de TopLink
> Amaury
Installation de Stripes
> Vincent
Installation des 2 frameworks
> Yann et Amaury
Rédaction des guides d’installation
> Vincent et Amaury
Présentation PowerPoint
> Commune
Organisation du Projet





Base de données et intégration
> Amaury
Gestion du forum
> Arnaud
Gestion des créations (comptes, sujets)
> Yann
Gestion des modifications (comptes, sujets)
> Vincent
Design, gestion des posts
> Anys
Le Framework MVC : Stripes
Le FrameWork MVC : Stripes




STRIPES FRAMEWORKS. Site officiel :
http://www.stripesframework.org/pages/viewpage.action?pageId=2229 (Version
Française) http://www.stripesframework.org/display/stripes/Quick+Start+Guide
(Version Anglaise)
WIKIPEDIA. Stripes – Wikipédia : http://fr.wikipedia.org/wiki/Stripes.
MARK EAGLE. Java Web Development with Stripes :
http://www.onjava.com/pub/a/onjava/2007/01/24/java-web-development-withstripes.html.
IPPON TECHNOLOGIES. Le blog des experts J2EE :
http://blog.ippon.fr/2008/02/08/oui-aux-rayures.
Le Framework MVC : Stripes

STRIPES est un framework de type MVC (Modèle Vue Contrôleur),
utilisant les dernières technologies Java, permettant de développer des
applications Web.

Le principal objectif qui a prévalu à la conception de ce nouveau
framework est de rendre facile l'extension de Stripes, sans requérir une
configuration trop détaillée, et externe.
Ce qui fait de Stripes un outil facilitant le développement, fournissant des
solutions simples et puissantes aux problèmes ordinaires, tout en gardant
un temps d’apprentissage inférieur à 30 minutes.
Le Framework MVC : Stripes
Les pré-requis
Ajout des bibliothèques

Posséder Eclipse (version > 3.4.2)


Posséder Apache (version > 6.0.18)


Télécharger Stripes ICI !
Configuration du web.xml


Configuration dépendante de
chaque projet
Dans notre cas, faire un copier/coller
de stripes.xml
Ajout des 3 fichiers en .jar
Stripes.jar
commons-loggins.jar
cos.jar
Création des ActionBean et JSP


Mise en place des ActionBeans
(Modèle – Contrôleur)
Mise en place des JSP
(Vu)
Le Framework MVC : Stripes
L’un des plus grand point fort de Stripes est l’utilisation des JSP et des ActionBeans,
simplifiant et rendant intuitive le développement en Java.
JSP
Pour l'affichage des pages. Elles
permettent de concevoir les pages
plus rapidement, avec une prise en
main facile et intuitive.
ActionBeans
Ces objets reçoivent les données d'un
formulaire, et contiennent les actions
de celui-ci.
Framework de Persistence : TopLink
Le Framework de Persistence : TopLink
Les pré-requis

Posséder un IDE

Posséder un SGBD

Connaissances Java, SQL et XML
Ajout des bibliothèques


Configuration du persistence.xml



Sensiblement la même pour tous les
projets
A mettre dans les sources du projet
dans un dossier META-INF
Gère la génération de .sql
Pour TopLink :
toplink-essentials.jar
toplink-essentials-agent
Pour la connexion à la BDD MySQL :
mysql-connector-java-5.*-bin.jar
Configuration du orm.xml


Fichier de mapping
Permet de créer des alias aux
requêtes SQL
Le Framework de Persistence : TopLink

TopLink fournit une plateforme puissante et flexible permettant de stocker des
objets Java dans une base de données relationnelle et/ou de les convertir en
documents XML.

TopLink Essentials est la version open source du produit d'Oracle.

TopLink remplacé par EclipseLink depuis mars 2008

Fonctionne avec :
- n’importe quelle application serveur
- n’importe quel outil de développement
- n’importe quelle architecture JEE
Comparaison avec les concurrents
Comparaison avec les autres Frameworks
Framework Persistance
Framework MVC




Java Server Faces
Spring
Struts 2
Tapestry


Hibernate
JAXB
Comparaison avec les autres Frameworks
Java Server Faces
Spring
+ Le standard Java EE
+ Développement rapide
+ Beaucoup de bibliothèques de
composants
- Validation moins fournie
- Moins de documentation
+ L’inversion de contrôle facilite les tests
Struts 2
Tapestry
+ Architecture simple
+ Productivité accrue une fois pris en main
+ Séparation des pages HTML du Java, un
plus pour les designers
- Documentation très conceptuelle, plutôt
que pragmatique
- Beaucoup de conventions
+ Customisation du rendu des tags
- Documentation mal organisée
- Pas d’alerte sur les propriétés
manquantes ou non valides
+ Facilité d’intégrer d’autres frameworks
et bibliothèques
- Configuration complexe
- Aucune prise en charge intégrée d’Ajax
Comparaison avec les autres Frameworks
Stripes
+
Facilité de configuration
Bonne documentation, apprentissage facilité
Communauté enthousiaste
Petite communauté
Pas aussi activement développé que d'autres projets
Comparaison avec les autres Frameworks
Hibernate
JAXB
+ Mise en place facile et rapide
+ Hibernate génère le code SQL
+ Pouvoir lire et écrire dans une vaste
gamme de type d'entrée/sortie
+ Portabilité du code
+ Facilité d’utilisation
- Nécessite d'apprendre à l'utiliser
- Utilisation d'annotations, altérations
des classes d’origines
Toplink
+ Génère le code SQL
+ Puissant
- Configuration laborieuse
- Très peu de documentations
Difficultés rencontrées



Configuration du « Build Path » pour charger
correctement toutes les bibliothèques
TopLink :
- configuration du persistence.xml (tables dropées …)
- impossibilité de créer le contexte de persistance sans
le déclarer comme singleton (avec static)
Stripes :
- gestion des scopes pour garder la connexion de
l’utilisateur sur toutes les pages
- affichage des données de la base dans les jsp
Etude de cas : le Forum
Conclusion




Facilité à trouver des informations sur Stripes
Très peu de documentations sur TopLink qui est
moins facile à prendre en main que Hibernate
Stripes : Léger mais compliqué à utiliser
TopLink : Puissant pour la persistance mais dur à
configurer par manque de documents
Questions