projet jee approfondi stripes / toplink yann gonzalez, amaury languillat, vincent laronde, anys...

22
PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez , Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Upload: auguste-de-sousa

Post on 03-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

PROJET JEE APPROFONDISTRIPES / TOPLINK

Yann Gonzalez , Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher

19 / 05 / 2010

Page 2: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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

Page 3: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Présentation du Projet

Les frameworks choisis :- MVC : Stripes- Persistence : TopLink

But du projet : apprendre à utiliser des frameworks par nous-mêmes

Page 4: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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

Page 5: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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

Page 6: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Le Framework MVC : Stripes

Page 7: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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-with-stripes.html.

IPPON TECHNOLOGIES. Le blog des experts J2EE : http://blog.ippon.fr/2008/02/08/oui-aux-rayures.

Page 8: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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.

Page 9: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Le Framework MVC : Stripes

Posséder Eclipse (version > 3.4.2)

Posséder Apache (version > 6.0.18)

Télécharger Stripes ICI !

Ajout des 3 fichiers en .jar Stripes.jar

commons-loggins.jarcos.jar

Les pré-requis Ajout des bibliothèques

Configuration dépendante de chaque projet

Dans notre cas, faire un copier/coller de stripes.xml

Mise en place des ActionBeans(Modèle – Contrôleur)

Mise en place des JSP(Vu)

Création des ActionBean et JSP

Configuration du web.xml

Page 10: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Le Framework MVC : Stripes

Pour l'affichage des pages. Elles permettent de concevoir les pages plus rapidement, avec une prise en main facile et intuitive.

Ces objets reçoivent les données d'un formulaire, et contiennent les actions de celui-ci.

JSP ActionBeans

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.

Page 11: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Framework de Persistence : TopLink

Page 12: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Le Framework de Persistence : TopLink

Posséder un IDE Posséder un SGBD Connaissances Java, SQL et

XML

Pour TopLink :toplink-essentials.jartoplink-essentials-agent

Pour la connexion à la BDD MySQL :mysql-connector-java-5.*-bin.jar

Les pré-requis Ajout des bibliothèques

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

Fichier de mapping Permet de créer des alias

aux requêtes SQL

Configuration du orm.xmlConfiguration du persistence.xml

Page 13: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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

Page 14: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Comparaison avec les concurrents

Page 15: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Comparaison avec les autres Frameworks

Java Server Faces Spring Struts 2 Tapestry

Hibernate JAXB

Framework MVC Framework Persistance

Page 16: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Comparaison avec les autres Frameworks

+ 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

+ Facilité d’intégrer d’autres frameworks et bibliothèques

- Configuration complexe

- Aucune prise en charge intégrée d’Ajax

TapestryStruts 2

SpringJava Server Faces

+ Architecture simple

+ Customisation du rendu des tags

- Documentation mal organisée

- Pas d’alerte sur les propriétés manquantes ou non valides

+ 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

Page 17: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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

Page 18: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Comparaison avec les autres Frameworks

+ Mise en place facile et rapide

+ Hibernate génère le code SQL

+ Portabilité du code

- Nécessite d'apprendre à l'utiliser

+ Pouvoir lire et écrire dans une vaste gamme de type d'entrée/sortie

+ Facilité d’utilisation

- Utilisation d'annotations, altérations des classes d’origines

Toplink

JAXBHibernate

+ Génère le code SQL

+ Puissant

- Configuration laborieuse

- Très peu de documentations

Page 19: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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

Page 20: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Etude de cas : le Forum

Page 21: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

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

Page 22: PROJET JEE APPROFONDI STRIPES / TOPLINK Yann Gonzalez, Amaury Languillat, Vincent Laronde, Anys Mechkar, Arnaud Recher 19 / 05 / 2010

Questions