JEE Approfondi Frameworks : Maverick (MVC) JiBX (Persistance XML)

Slides:



Advertisements
Présentations similaires
Master SIR (M2) Année Développement en environnement J2EE de Web services pour l'interopérabilité du projet CASTORE ce stage de fin d’étude a.
Advertisements

JEE 5 - JSF F.Pfister 2 institut eerie Les technologies du web Servlets JSP MVC Model 1 : servlets + JSP MVC Model.
Le struts validator – framework de validation
Java EE – Frameworks Cas d’étude
JEE Approfondi Frameworks Hibernate & Stripes
CASTEL Dennis SARZEAUD Floriane TAKAHASHI Atsushi.
Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.
Suivi des compétences en classe de seconde
Dimensions et Java : Plug-in, Build et EAR Elisabeth BAUDOIN STIME CLUB UTILISATEURS ALMA DU 23 NOVEMBRE 2010.
L’architecture .net et ASP.net
Premiers pas avec Apache Ant Par Guillaume BITAUDEAU Le 16/10/2003.
Approfondissement du langage
(Classes prédéfinies – API Java)
Projet Webase. I. La définition du projet 1. Lexistant : Webase 4 2. Cahier des charges 3. La répartition des données 4. Le modèle de données 5. Le choix.
version Beta Marie Calberg Ninni Louhelainen SLFN7
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
JAV - TD 6 Structures de données JAVA
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Design Pattern MVC En PHP5.
Projet J2EE Maverick XMLBeans Garcel Jean-Baptiste – Le Loc Martin – Muller Thibaut.
Présentation des frameworks pour Java EE
Présentation JAXB et STRUTS²
Projet JEE approfondi Stripes / Toplink
J2EE : Framework Wicket et JibX
PROJET HANDICAPS Certificat de Qualification Professionnelle
Outils de tests, logs et documentation Frédéric Moalannée 2010/2011 POO.
Forum JEE: framework STRUTS 1 et iBATIS
Présentation Installation Fonctionnement
Présentation Struts1-JaxB
Tapestry - Eclipse Link
Projet JAVA EE Approfondi
Groupe : Marc BENSILHE, Guillaume GOURMENT et Paul FLYE SAINTE MARIE
VI. Analyse des solutions techniques
Création d'un projet Web avec Netbeans
Installation des programmes
Clients riches RIA (Rich Internet Application) / RDA
PROJET DE GENIE LOGICIEL 2005
Architecture dun site de vente au détail1 Modèle d'un site simple de vente Lexemple du livre Ruby on Rails Partie II Java Adventure Builder Demo Réalisé.
Le portail web netUniversité
COURS DE PROGRAMMATION ORIENTEE OBJET :
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
DataBinding avancé Mitsuru FURUTA, relations techniques développeurs –
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Les assertions en Java.
‘‘Open Data base Connectivity‘‘
BOUSQUET Alexis - GUILLEMIN Vincent - PETIT Cédric
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
1 PLAN I. Eclipse Modeling Framework  Présentation  Le modèle Ecore  Code généré  Utilisation de template II.Graphical Modeling Framework  Présentation.
19 Mai 2009 CADOT, ROMON, NOEL, GUILLOUET, MONGENET-LAMAISON.
Module I-C3 : Applications Web IUT R&T 2e année
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Découverte des Framework : SPRING & JAXB
& J2EE Approfondi Hibernate Struts 2 & Hibernate
Master 1 ère année Sécurité des Systèmes Informatique 1 Gestion de modules  Un module est un morceau de code qui peut être chargé à la volée dans le noyau.
Quattor : Opérations Courantes - G. Philippon/M. Jouvin4-5/2/2009Quattor : Opérations Courantes - G. Philippon Opérations courantes.
La notion de « package » pour un cours en ligne Illustration avec la spécification Content Packaging (IMS-CP) Université Bordeaux 3 Cours MASTER 2 MULTIMEDIA.
Réflexion et types génériques en Java
IFT313 – Introduction aux langages formels Eric Beaudry Département d’informatique Université de Sherbrooke Laboratoire sur JFLEX Été 2010.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Richard KRITTER Flavien LAURENT Université de Paris-Est Marne La Vallée (UPEMLV), Ingénieur.
Struts v1 – Xstream  BENARD Thomas  CAROFF Brice  LETEL Quentin  NORET Nicolas  ROCHER Christian.
Développement Méthode adoptée Outil de développement Les grandes étapes La documentation.
Généricité.
Subversion.
Eclipse Tools for Silverlight Eclipse Tools for Silverlight.
Plugin Scheme pour Eclipse Etudiants Simeon KOSTOV Matthieu IZOULET Agostino SEMERIA Responsable Erick GALLESIO Maîtrise Informatique , UNSA.
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
Présentation Maverick / CookXML
Transcription de la présentation:

JEE Approfondi Frameworks : Maverick (MVC) JiBX (Persistance XML) Boutin Benoit, Jean Simon, Luit Dimitri

Maverick Avantages : Simple à utiliser (1 seul fichier xml pour gérer les vues et les commandes) Permet d'utiliser des technologies de transformation

Maverick Inconvénients : Abandonné depuis plusieurs années par les développeurs Peu de ressources sur Internet Pas de « vrai » tutorial Pas de gestion complexe des vues et des controleurs Compatibilité

Mise en place de Maverick Fichier web.xml : <servlet> <display-name>Maverick Dispatcher</display-name> <servlet-name>dispatcher</servlet-name> <servlet-lass> org.infohazard.maverick.Dispatcher </servlet-class> <init-param> <!-- Optionnel --> <param-name>reloadCommand</param-name> <param-value>reload</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <url-pattern>*.m</url-pattern> </servlet-mapping>

Mise en place de Maverick Fichier maverick.xml : <?xml version="1.0" encoding="UTF-8"?> <maverick version="2.0" default-view-type="document" default-transform-type="document"> <views> <view id="test" path="test.jsp" /> <view id="test2" path="test2.jsp" /> </views> <commands> <command name="identifier"> <controller class="controller.IdentificationController" /> <view name="utilisateur" path="accueil.jsp"> <transform path="generalInterieur.jsp" /> </view> <view name="administrateur" path="accueilAdmin.jsp"> <transform path="adminInterieur.jsp" /> <view name="error" path="erreur.jsp"> <transform path="generalExterieur.jsp" /> </command> </commands>

Mise en place de Maverick Ajouter maverick.jar dans lib de WEB-INF. Ajouter jdom.jar dans lib de WEB-INF. Ajouter commons-logging-1.0.3 dans lib de WEB-INF. Ajouter maverick.xml dans WEB-INF.

Avant d'utiliser Maverick L'objet Dispatcher gère les appels aux commandes Pour utiliser une commande, il faut la suffixer avec .m Pour les transformations de jsp. Si l'on utilise la directive : <c:out value="${wrapped}" escapeXml="false" />. Modifier la valeur de version dans web.xml à la valeur 2.3. Sinon erreur du fichier tld. Selon les utilisations, il peut être necessaire d'utiliser les jar suivants : commons-logging-1.0.3.jar, jdom.jar commons-beanutils.jar, commons-collections.jar.

JiBX Avantages Permet de passer du java au xml et inversement facilement une fois installé Performant Documentation suffisante

JiBX Inconvénients Difficultés d'installation Modification des classes implique de refaire le binding.

JiBX Fonctionnement en 2 phases : Binding : Runtime : Génération des fichiers .java et du fichier binding.xml à partir d'un schéma xml. Runtime : Instanciation des objets Java à partir d'un fichier xml. Création d'un fichier xml à partir des informations des objets Java.

Mise en place de JiBX Plugin Eclipse (difficulté à comprendre l'utilisation) Utilisation de JiBX depuis le zip téléchargé

Mise en place de JiBX Créer un fichier xsd. Commande java -cp jibx-tools.jar org.jibx.schema.codegen.CodeGen fichier.xsd crée les classes Java et binding.xml javac *.java compile les classes générées. java -jar jibx-bind.jar binding.xml crée les .class nécessaire au fonctionnement de JiBX en Runtime. On peut maintenant utiliser le Runtime.

Mise en place de JiBX public class Customer { public Person person; public String street; public String city; public String state; public Integer zip; public String phone; } public class Person { public int customerNumber; public String firstName; public String lastName; }

Mise en place de JiBX Binding.xml : <?xml version="1.0" encoding="UTF-8"?> <binding> <mapping name="customer" class="Customer"> <structure name="person" field="person"> <value name="cust-num" field="customerNumber"/> <value name="first-name" field="firstName" /> <value name="last-name" field="lastName" /> </structure> <value name="street" field="street" /> <value name="city" field="city" /> <value name="state" field="state" /> <value name="zip" field="zip" /> <value name="phone" field="phone" /> </mapping> </binding>

Mise en place de JiBX Fichier utilisé au lancement : <?xml version="1.0" encoding="UTF-8"?> <customer> <person> <cust-num>123456789</cust-num> <first-name>John</first-name> <last-name>Smith</last-name> </person> <street>12345 Happy Lane</street> <city>Plunk</city> <state>WA</state> <zip>98059</zip> <phone>888.555.1234</phone> </customer>

Avant d'utiliser JiBX Sans le plugin Eclipse : peu pratique. Erreurs particulières : Cannot cast from java.util.List<Utilisateur> to java.util.List<Utilisateur> Obliger de passer par un objet intermédiaire. Constaté lors de l'utilisation d'ArrayList.