Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels








télécharger 46.06 Kb.
titreSynthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels
date de publication23.12.2016
taille46.06 Kb.
typeThèse
ar.21-bal.com > loi > Thèse



Auteur :

Laura Zunarelli

Etudiante en Master 2ème année professionnel Génie Informatique en apprentissage
Mail : Laura.Zunarelli@gmail.com


Synthèse réalisée dans le cadre de l’U.E. : Etude et Projet d’Intergiciels
Résumé :

De nos jours, il existe de plus en plus d’applications web et celles-ci sont de plus en plus compliquées. C’est pourquoi afin d’aider leur développement, on utilise des frameworks. Ces frameworks permettent d’assurer l’évolution et la fiabilité de ces applications web.

Struts et JavaServerFaces (JSF) sont des standards parmi les frameworks de ce type.

En s’appuyant sur le modèle MVC ils permettent une meilleure séparation entre les métiers d’informaticiens et ceux d’infographistes.

Actuellement, la plupart des applications web utilisent Struts ou JSF voir les deux…

Devenus incontournables dans ce domaine, nous allons, au cours de ce document, explorer plus en détails ces deux frameworks.

Mots clés :

Struts, JavaServerFaces, JSF, framework, modèle MVC, applications web.

Abstract:

Nowadays, there is more and more web applications and they are more and more complicated. That’s why, to help their development, we use frameworks. These frameworks enable to ensure web application reliability and evolving.

Struts and JavaServerFaces (JSF) are standards among these frameworks. Based on the MVC model, they enable a better separation between computer scientists and infographists.

Currently, the majority of web applications use Struts or JSF or the two…

Became inescapable in this domain, during this document, we explore in more details these two frameworks.

Key Words:

Struts, JavaServerFaces, JSF, framework, MVC model, web applications.

Introduction :

Ce document porte sur deux frameworks standards pour la construction d’applications web : Struts et JavaServerFaces. Après une brève introduction sur les frameworks, l’application du modèle MVC dans Struts et dans JavaServerFaces (JSF) sera expliquée. Puis chacun des deux frameworks seront explorés plus en détails. Pour conclure, une constatation sur les principales différences entre ces deux frameworks et sur leur futur sera dressée.



  1. Les frameworks


Avant l’arrivée des frameworks, le développement d'applications Web était simplement constitué d’une page HTML et d’un navigateur. Aujourd'hui nous sommes confrontés au développement d'applications bien plus complexes. Pour cela nous utilisons des frameworks.

Ces frameworks, ou : « cadre de conception » sont des espaces de travail modulaire. Il s’agit d’un ensemble de bibliothèques, d'outils et de conventions permettant le développement rapide d'applications. Leur but est d’accroître la productivité des développeurs dans le développement des interfaces utilisateurs, en fournissant une architecture facilitant leur maintenance. Ils permettent donc d’améliorer la réutilisabilité des applications, d’en accroître la fiabilité, de diminuer les coûts et délais de développement et d’assurer leur évolutivité. Avec leur apparition, de nombreux outils ont vu le jour. Parmi eux, Struts et JavaServerFaces (JSF). Ceux-ci constituent aujourd’hui les deux standards dans le domaine de la conception d’applications web. Ce sont ces deux standards que nous allons donc étudier plus en détails…



  1. JSF, Struts, et le Modèle MVC




    1. Le modèle MVC

L’un des principaux atouts de ces deux frameworks est l’utilisation du patron de conception MVC (Modèle, Vue, Contrôleur). Celui-ci, leur permet de mieux dissocier les métiers d’infographistes et d’informaticiens. En effet, ce modèle d’architecture est constitué de trois parties. La première : le contrôleur, reçoit les actions de l’utilisateur et gère la répartition des traitements entre la vue et le modèle. C’est cette partie qui gère toutes les entrées de l’application. Le modèle représente la partie métier de l’application : on y retrouve les états et la logique de l’application. La dernière partie : la vue, est la partie graphique destinée aux infographistes, dans laquelle seul l’affichage est géré.


    1. L’application du modèle MVC dans Struts et JavaServerFaces

Le framework Struts est construit autour d’un puissant contrôleur, tandis que JSF, est principalement dédié à la couche vue.

Craig McClanahan est le créateur de Struts et l’un des principaux acteurs de JSF. Il a donc occupé une place importante pour la création de ces deux frameworks, et est bien placé pour dire que JSF et Struts sont différents mais ne sont pourtant pas incompatibles. Il a ainsi suggéré une méthode d’intégration afin de combiner les deux frameworks. Le but étant de combiner les avantages de chacun.

Cependant, Struts et JavaServerFaces n’ont pas été conçus de prime abord pour fonctionner ensemble dans une même application. En effet, Struts propose des tags libs pour la gestion des vues et une définition de la navigation au travers des pages. JSF, lui, fournit un manageur des cycles de vie de l’application au travers de servlets de contrôle.



  1. Présentation de Struts




    1. Présentation générale

Struts, fut le premier des deux frameworks à arriver sur le marché. Apparu en 1998, il eu beaucoup de succès. Compatible avec la plate-forme J2EE de Sun, Struts fait parti du projet Jakarta (mené par l'ASF, l'Apache Software Foundation). L'adresse officielle de Struts est : http://jakarta.apache.org/struts.

Le succès de ce framework repose sur sa capacité à répondre aux besoins des développeurs actuels en termes de création d'applications et en termes de rapidité de mise en œuvre. Struts est une combinaison des servlets Java, des JSP, des balises personnalisées et des ressources messages qui forment une base unifiée. Struts est puissant, répandu, et mature. Dès son arrivée, il a su s’imposer pour les applications de grandes tailles. Cependant son utilisation de nos jours perd tout son sens pour les applications simples. En effet, pour les petites applications, l’application de Struts pourrait prendre bien plus de temps que la construction de l’application elle-même…


    1. Principes de mise en œuvre de Struts

Une application basique de Struts est composée des trois parties du modèle MVC. Ces trois parties sont généralement situées dans trois dossiers différents. Les pages jsp exploitent des balises personnalisées de Struts :

Exemple : <%@ taglib prefix="s" uri="/struts-tags" %>

Il est cependant conseillé d’utiliser aussi la bibliothèque JSTL.

Les servlets sont utilisées de manière transparente via des classes.

La structure de l’application web doit être décrite dans un fichier: struts.xml. Ce fichier contient toutes les règles de navigations nécessaires à l’application.

Exemple :



/example/HelloWorld.jsp



Dans cet exemple, en tapant l’adresse pour accéder à la page de bienvenue dans le navigateur, une redirection sera effectuée pour consulter la page HelloWorld à la place.


    1. Les bibliothèques de Struts:

Voici un petit résumé des bibliothèques que l’on retrouve dans Struts :

  • Les librairies Struts*.jar: contiennent les classes java distribuées par le projet Struts.

  • Les fichiers commons*.jar sont utilisés par l’implémentation.

  • Les autres fichiers *.jar sont importés par Struts mais proviennent d’autres projets. C’est ainsi le cas de la librairie : struts-jsf-plugin.jar qui est un plug-in jsf pour Struts.

Au déploiement de l’application les archives nécessaires sont copiées dans le répertoire WEB-INF/lib.



  1. Présentation de JavaServerFaces (JSF)




    1. Présentation générale

JavaServerFaces est paru en 2004 après Struts. JSF a été réalisé par Sun pour J2EE1. L’adresse officielle de JavaServerFaces est :

http://java.sun.com/javaee/javaserverfaces/

Beaucoup crurent que l’arrivée de JSF allait écraser son concurrent. En effet, bien intégré aux projets de Sun tels que Java Enterprise Edition (Java EE), JSF a su s’imposer par sa simplicité. La partie Vue de JSF a été bien pensée et est très simple d’utilisation. Ainsi son utilisation s’impose pour les projets de petites tailles.


    1. Principes de mise en œuvre de JavaServerFaces

Une application basique de JSF est constituée de deux dossiers : l’un contient la partie modèle de l’application. Tandis que l’autre contient la partie Vue de l’application ainsi qu’un dossier WEB-INF qui constitue le contrôleur. De manière à permettre aux développeurs web de se concentrer uniquement sur leurs besoins, JSF utilise XML ou des propriétés. Les pages jsp (java server pages) utilisent des balises personnalisées JSF :

Exemples : <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

La structure de l’application web doit être décrite dans un fichier: faces-config.xml. Ce fichier contient toutes les règles de navigations nécessaires à l’application.

Exemple :





The decision rules used by the NavigationHandler to determine which view must be displayed after the current view, response.jsp is processed.



/response.jsp





Indicates to the NavigationHandler that the greeting.jsp view must be displayed if the Action referenced by a UICommand component on the response.jsp view returns the outcome "success".



success

/greeting.jsp





Dans cet exemple on voit que l’action « success » permet de passer de la page response.jsp à la page greeting.jsp


    1. Les bibliothèques de JavaServerFaces:

Voici un petit résumé des bibliothèques que l’on retrouve dans Struts :

  • Les librairies jsf-api.jar : contiennent les classes standards de JSF ainsi que les interfaces à satisfaire par les implémentations de JSF.

  • Les archives jsf-ri.jar : représente l’implémentation de référence de Sun pour l’API de JSF.

  • Les librairies jstl.jar & standard.jar  contiennent les fichiers JSTL. L’implémentation de référence étant basée sur JSTL.

  • Les fichiers commons*.jar sont utilisés par l’implémentation de référence de Sun.

De même que pour Struts, au déploiement de l’application les archives nécessaires sont copiées dans le répertoire WEB-INF/lib.



  1. Conclusion

    1. Struts vs JSF

Comparons maintenant ces deux frameworks. L’utilisation des tags rend l’utilisation de JavaServerFaces plus concise, plus puissante et plus simple que celle de Struts. De plus, JSF ne se limite pas à http et html : contrairement à Struts, JSF utilise aussi les formats : XUL, XML et WML… Cependant la documentation de JavaServerFaces si elle est variée, reste néanmoins confuse et pas assez détaillée. Il peut donc être difficile de s’y retrouver.

On peut commettre des confusions au niveau des noms des pages utilisant la bibliothèque JSF : les pages se terminent par .jsp alors que leurs url se terminent par .jsf (ou .faces dans le cas l’implémentation d’Apache).

Mais leur différences, et en particulier le fait que Struts soit plus centré sur la partie contrôleur que sur la partie Vue contrairement à JSF ont permis aux deux frameworks de coexister.


    1. Struts Shale… Le futur ?

En dehors de Struts et de JavaServerFaces, d’autres framework pour applications web peuvent être utilisé tels que Spring MVC, barracuda, webwork… Cependant, Struts et JSF continuent de dominer les autres frameworks en matière d’applications web.

De nos jours, Struts a autant de succès que son principal concurrent : JSF. Les constructeurs de Struts l’ont compris et ont tenté de combiner les avantages de Struts et ceux de JSF au travers de Struts Shale.

Apparu en 2005, Struts Shale est un nouveau framework MVC (Modèle Vue Contrôleur), basé sur Javas Server Faces. Cependant, celui-ci se concentre sur la partie Contrôleur tout comme Struts en intégrant de puissants outils pour cette partie. La partie Vue reste déléguée à une implémentation de JSF.

Struts Shale est encore un framework très récent, mais en combinant les avantages de chacun des deux standards d’aujourd’hui, il pourrait, en devenant plus mature, les supplanter…

Références :

Références sur Struts:



  • Document pdf de la société serli informatique réalisés par mickaël Baron en 2007.

Titre : « Tutoriel Jakarta Struts »

http://tahe.developper.com/java/struts

Ce tutoriel permet de découvrir la structure de struts : ses composants et leurs fonctionnements, l’intégration du modèle MVC pour Struts…


  • « Bye-bye Struts, Hello Struts Shale » de Pierre Tran en février 2005

http://www.lemondeinformatique.fr/actualites/lire-bye-bye-struts-hello-struts-shale-7856.html

Le point sur Struts: entre Struts Shale, et les différentes versions de Struts


Document sur la rédaction du fichier de configuration de Struts.


  • « The Struts framework project » de la foundation Apache

http://struts.apache.org/1.2.7/userGuide/installation.html

Ce document official relate le contenu de Struts, en particulier ce qui est distribué pour Struts. Autrement dit, ses bibliothèques.


  • Document pdf de bruno Clément réalisé en 2002

http://www.guepard.asso.fr/ibm/sw2002/Struts.pdf

Ce document explique brièvement le modèle MVC, puis parle de l’architecture de Struts.

Références sur JavaServerFaces:



  • Tutoriel: « introduction à jsf avec netbeanss » réalisé par Olivier Schmitt en août 2005 :

http://schmitt.developpez.com/tutoriel/java/jsf/introduction

Ce tutoriel permet de découvrir JavaServerFaces, et surtout de comprendre son fonctionnement au travers d’un exemple simple que l’on peut par la suite complexifier. Cependant cet exemple est mis en place avec netbeans et ce n’est pas forcément la manière la plus simple de réaliser un premier exemple avec JavaServerFaces



  • Document pdf de la société serli informatique réalisés par mickaël Baron en 2007 : « Introduction au frameworf JSF »

http://mbaron.developpez.com/javaee/jsf

Ce document permet de comparer un peu Struts à JavaServerFaces. Il explique aussi le fonctionnement théorique de JavaServerFaces : son cycle de vie, sa configuration…


  • « JSF en quelques mots » de François Goldgewicht datant de juin 2007 :

http://blog.valtech.fr/wordpress/2007/06/28/jsf-en-quelques-mots

Ce document présente les concepts de base de JSF : origine, présentation de ses bases…

Autres :



  • « Understanding JavaServer Pages Model Architecture » de: Govind Seshadri, JavaWorld.com, 12/29/99:

http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html

Explique les principes des pages JSP.


Document comparant différents frameworks.


  • « JavaServerFaces vs Struts » de Roland Barcia paru en septembre 2004

http://homepage1.nifty.com/algafield/barcia.html

Evaluation sous différents critères (maturité, navigation, intégration…) de JSF et de Struts

1 Nous parlerons ici de l’implémentation de référence de Sun mais il faut savoir qu’il existe une autre implémentation de ce framework : Apache MyFaces qui fait parti du projet Jakarta.


similaire:

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconSynthèse de l’étude réalisée par le bipe
«sélection» augmente alors la valeur propre de son réseau au détriment des autres grx

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconFiche de synthese
«Aide à la prise en compte de la dimension environnementale dans le cadre de demande de subvention pour un projet de création / rénovation...

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconRéunion n°3 Gestion de Projet charte du projet tic 9 juillet 2008...
«Phase de définition ou pré-étude» du projet et permet, après validation par le Comité de Pilotage, de lancer le projet

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconRésumé : Nous proposons dans le cadre de ce projet de fin d’études, d’appliquer la mét

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconRésumé : Cette recherche est une réflexion théorique centrée sur...
«brevet a changé de statut et s’apparente de plus en plus à une arme cruciale dans le jeu de la concurrence» entretenant de fait...

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconAppel à candidature dans le cadre d’un projet d’élaboration de 2...

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconCertains veulent introduire le vers dans le fruit
«Pour le lancer, nous avons besoin du soutien de l'État», dit Pierre Fabre, le pdg de Turbomeca. En souhaitant que le projet puisse...

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconRésumé Dans le cadre de l'optimisation d'une machine frigorifique...

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconPour une étude de faisabilité technique, environnementale et socioéconomique...

Synthèse réalisée dans le cadre de l’U. E. Etude et Projet d’Intergiciels iconSynthèse de l’axe
«parcours de l’élève» s’est peu à peu imposé dans l’univers scolaire dans la continuité «probable» de la philosophie du projet et...








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com