Présentation de deux Frameworks MVC et Persistance


Maverick

Framework MVC

Le framework Maverick est un framework de type MVC (Modèle Vue Controller) de publication web utilisant le Java et le JEE. C'est un Framework minimaliste qui se base sur la logique MVC permettant de générer des présentations en utilisant plusieurs templates et technologies de transformations.

Maverick

Description et But

Maverick est un framework MVC pour le developpement d'applications web en JEE.
Ce framework minimaliste ce focalise essentiellement sur la logique du Design Pattern MVC.
Maverick se distingue des autres frameworks par sa simplicité d'utilisation et de compréhension.
Le code Maverick est en effet exhaustif et simple à comprendre et a été developpé dans l'esprit d'une grande évolutivité et modularité.
Le framework permet l'utilisation de tous les types de technologies concernant la Vue (JSTL,Velocity,XSLT...)
La configuration des composants MVC avec Maverick se gère très facilement grâce à un sitemap en XML.

Domaine d'application

Maverick peut se réveler très interessant dans les cas suivants:


XStream

Framework de persistance

Un framework est un ensemble de bibliothèques permettant le développement rapide d'applications. Un framework de persistance permet donc d'utiliser un ensemble de fonctions dédiées à la manipulation des données. Ces fonctions, souples et évolutives, permettent ainsi de produire un code propre et minimaliste. Par conséquent, l'utilisation d'un framework de persistance offre une qualité de production, une grande efficacité et une maintenance accrue dans les projets.

XStream

Description et But

XStream est une API Java qui permet de sérialiser et désérialiser des objets dans des fichiers XML.

Sérialiser : Inclure des données dans un flux, mettre en série des données, après conversion dans un format donné. Transformer des valeurs en format binaire et les écrire dans un fichier.

Le framework XStream présente de nombreux avantages :

Domaine d'application

Sérialisation

On va utiliser pour cela l'objet XStream (XStream xstream = new XStream(new DomDriver());) et la fonction toXML.

Pour convertir une classe en un fichier XML, il suffit d'abord de créer une classe de son choix, par exemple MonObjet. Ensuite nous créons la classe principale, appelée par exemple "Serialisation". Nous y instancions un objet de type MonObjet, un de type XStream, et l'autre, une chaine de caractères (MaChaine).
Nous allons créer une chaine de caractère de la forme d'un fichier XML représentant l'objet "MonObjet" par la fonction toXML. En effet l'initialisation de "MaChaine" telle que "String MaChaine = xstream.toXML(MonObjet);" puis l'affichage de "MaChaine" imprimera dans la console ceci :

Xml

Il est intéressant de préciser que la génération XML prend en compte les caractères spéciaux (balises html...).

De plus, il est possible d'écrire ces lignes dans un fichier précédemment créé dans la classe principale.

Désérialisation

Celle ci s'effectue en chargeant un fichier XML dans un FileInputStream... Pour recréer un objet de type "MonObjet" à partir de sa déscription XML on déclare un objet de type "MonObjet" et on l'initialise en utilisant la fonction fromXML tel que : "MonObjet o = (MonObjet) xstream.fromXML(DescriptionXMLMonObjet.xml);"

Options

Il est possible de ne pas sérialiser un attribut en rajoutant le paramètre "transient" dans la déclaration de celui ci.
Il est possible de sérialiser des collections.
Il est possible de créer un alias sur les classes à sérialiser pour plus de lisibilité.

Cas d'Etude

Le jar de Xstream est présent au cas où il ne serait pas inclu dans le war.
Idem pour le dossier contenant les fichiers XML (le dossier est à placer à la racine du projet si jamais il n'est pas contenu dans le war). Pour se connecter en administrateur les identifiants sont "admin" (login) et "toto" (mdp).

Bibliographie

Bibliographie

Présentation au format Powerpoint

Ressources Maverick

Ressources XStream