1 / 21

Présentation des frameworks pour Java EE

Présentation des frameworks pour Java EE. Tapestry (MVC) et JAXB (Persistance en XML). Christopher BIGOZZI, Raouda MCHAREK, Samir SADROUDINE. Sommaire. Pré-requis Tapestry JAXB Cas d’étude. Pré-requis. Connaissance de Java Connaissance des fondements du web (HTML,HTTP)

kipp
Download Presentation

Présentation des frameworks pour Java EE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Présentation des frameworks pour Java EE Tapestry (MVC) et JAXB (Persistance en XML) Christopher BIGOZZI, Raouda MCHAREK, Samir SADROUDINE

  2. Sommaire • Pré-requis • Tapestry • JAXB • Cas d’étude

  3. Pré-requis • Connaissance de Java • Connaissance des fondements du web (HTML,HTTP) • Connaissance des technologies de J2EE (Servlet et balises personnalisées) • Connaissance des architectures des serveurs web

  4. Tapestry • Qu’est-ce que Tapestry ? • Fonctionnalités de Tapestry • Avantages et inconvénients de Tapestry • Installation de Tapestry • Application de Tapestry

  5. Qu’est-ce que Tapestry? • utilisation XML pour implémenter des applications Web en suivant le motif de conception MVC • projet intégré par la fondation Apache comme sous-projet Jakarta.. • http://tapestry.apache.org/

  6. Avantages et inconvénients • Avantages : • Rapidité de développement, configuration minimale et URLs claires • Prise en charge de nombreuses problématiques permettant au développeur de se concentrer sur la partie métier • Séparation complète de la présentation HTML du code Java • Souplesse d’utilisation (développement de ses propres composants) • Facilité d’intégration avec Hibernate et Spring. • Inconvénients : • Absence de mapping relationnel spécifique : il faut utiliser JDBC ou Hibernate • Masquage de nombreux mécanismes web • Manque de maturité (composants incomplets, communauté limitée, documentation et tutoriaux insuffisants). • Pas de rétro-compatibilité avec la version 4.

  7. Installation de Tapestry • Tapestry n’est pas un simple plugin de Eclipse, mais une librairie qu’il faut configurer • Il suffit de mettre les .jar dans le dossier : WEB-INF/lib

  8. Application de Tapestry • 2 types de fichiers qui sont liés: • Logique (.java) : code métier de la page • Graphique (.tml ou .html) : vue de la page Accueil.tml Accueil.java

  9. Fonctionnement accueil .tml <t:formt:id="loginForm"> <t:textfield t:value="message"/> <input type="submit" value="Submit"/> </t:form> accueil. java @OnEvent(value="submit", component="loginForm") voidonFormSubmit() { System.out.println("Handling formsubmission!"); }

  10. t:validate=required • Spécification dans le fichier app.Property

  11. JAXB (Java Architecture for XML Binding) • Qu’est-ce que JAXB ? • Installation de JAXB • Fonctionnement de JAXB • Avantages et inconvénients de JAXB • Application de JAXB

  12. Qu’est-ce que JAXB ? • librairie Java implémentée par SUN pour générer du Code Java depuis un fichier XML et inversement • Site de référence: https://jaxb.dev.java.net/ • API Java permettant de créer des classes Java à partir de Schémas (.XSD) et inversement

  13. Fonctionnalités de JAXB • Data Binding : automatiser la transformation d'un modèle de données en un modèle de données objets dans un langage de programmation • 3 étapes: • Génération de classes • Rassemblement des données • Redistribution des données • Objectif final : mise en correspondance automatique entre une famille de documents XML et un schéma de classes Java.

  14. Installation de JAXB • Installation du plugin XJC de Eclipse • Télécharger le plugin à cette adresse : https://jaxb-workshop.dev.java.net/plugins/eclipse/xjc-plugin.html • Le placer dans le dossier /plugins/ de Eclipse • Faire la commande ‘eclipse.exe - clean’ pour prendre en compte les nouveaux plugins • Créer un schéma fichier.xsd décrivant les données • Puis clic bouton-droit sur le fichier Normalement une nouvelle option est apparue : JAXB 2.0. • L’installation du plugin a été faite correctement

  15. Fonctionnement général

  16. 1ière étape : création de classes • Création d’un .xsd • Lancer JAXB en utilisant eclipse • Création de n fichiers : • Des .java • Une fabrique, permet d’instancier les objets

  17. 2ième étape : Marshalling • Génération d’un fichier XML depuis des objets JAVA • Création d’un contexte et indication du package source JAXBContextjaxbContext=JAXBContext.newInstance(Projet.class); • Création d’un « marshaller » Marshallermarshaller=jaxbContext.createMarshaller(); • Génération du XML marshaller.marshal(projet, new FileOutputStream(emplacement)); • Le XML est crée

  18. 3ième étape : Unmarshalling • Génération des objets JAVA depuis un XML • Création d’un contexte et indication du package source JAXBContextjaxbContext=JAXBContext.newInstance(« Contacts_JAXB »); • Créer un « unmarshaller » sur le contexte Unmarshallerunmarshaller=jaxbContext.createUnmarshaller(); • Création de l’objet Projet projet= (Projet)unmarshaller.unmarshal(emplacement);

  19. Avantages et inconvénients de JAXB • Avantages : • Lire et écrire dans une vaste gamme de type d'entrée/sortie (Fichier, Flux, Noeud Dom ...etc...) • Facilité d'utilisation • Inconvénients : • Utilisation d'annotations, ce qui oblige a altérer les classes d'origines • Reformatage des classes pour avoir soit des méthodes get/set annotées ou des variables annotées

  20. Comparaison avec d’autres Frameworks • Même utilisation que JAXP (SAX et DOM), mais niveau d’abstraction plus élevé, plus rapide • Nécessité d’installer des grosses librairies à l’inverse de Frameworks comme Castor

  21. CONCLUSION • Documentation difficile à trouver • On a pu travaillé notre anglais ;) • Prise en main difficile malgré la simplicité apparente d’utilisation

More Related