WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Application web pour la gestion de la bibliothèque

( Télécharger le fichier original )
par Emna Guermazi
Institut supérieur d'informatique et du multimédia de sfax (ISIMS) - Ingénieur en informatique, techniques web et multimédia 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

IV. La plate-forme J2EE

La plate-forme J2EE (Java 2 Entreprise Edition), est la proposition de SUN pour le développement et la mise en °oeuvre d'applications d'entreprise multi-niveaux. Elle s'appuie entièrement sur le langage JAVA.

J2EE fournit :

· Un modèle de développement de composants Web (Servlets, JSP) et de composants métier (EJB) sous la forme d'APIs JAVA.

· Un ensemble de services (JDBC, JTA, JNDI, JMS, RMI / IIOP, JavaMail, XML), utiles aux composants, sous la forme d'APIs JAVA.

· Un modèle de création de modules Web (.war) de modules EJB (.jar) et de modules d'entreprises (.ear), associés à des descripteurs de déploiement au format XML, utiles pour le déploiement des applications d'entreprise.

· Des conteneurs Web et EJB pour la mise en oeuvre des composants.

A. Les Framework utilisés

Pour réaliser notre application, nous avons utilisé les Framework suivants :

· Spring,

· Struts,

· Hibernate.

1. Le Framework Spring

Le Framework Spring est un conteneur dit « léger a», c'est-à-dire une infrastructure similaire à un serveur d'application J2EE. Il prend donc en charge la création d'objets et la mise en relation d'objets par l'intermédiaire d'un fichier de configuration qui décrit les objets à fabriquer et les relations de dépendances entre ces objets (IoC :Inversion of Control). Le principal avantage par rapport aux serveurs d'application est qu'avec Spring, les classes n'ont pas besoin d'implémenter une quelconque interface pour être prises en charge par le Framework. C'est en se sens que Spring est qualifié de conteneur « léger a». L'idée du pattern IoC est très simple, elle consiste, lorsqu'un objet A a besoin d'un objet B, à déléguer à un objet C la mise en relation de A avec B.

2. Le Framework Struts

Apache Struts est un Framework libre pour développer des applications web J2EE. Il utilise et étend l'API Servlet Java afin d'encourager les développeurs à adopter l'architecture Modèle-Vue-Contrôleur. Struts permet la structuration d'une application Java sous forme d'un ensemble d'actions représentant des événements déclenchés par les utilisateurs de l'application. Ces actions sont décrites dans un fichier de configuration de type XML décrivant les cheminements possibles entre les différentes actions. En plus, Struts permet d'automatiser la gestion de certains aspects comme par exemple la validation des données entrées par les utilisateurs via l'interface de l'application. Ainsi, il n'est plus besoin de venir coder le contrôle de chaque donnée fournie par un utilisateur, il suffit de décrire les vérifications à effectuer dans un fichier XML dédié à cette tâche. La figure 7 illustre l'architecture du Modèle Vue et Contrôleur.

Figure 7: Architecture du Modèle Vue Contrôleur.

Le contrôleur est le coeur de l'application. Toutes les demandes du client transitent par lui. C'est une servlet générique fournie par STRUTS. Cette servlet générique prend les informations dont elle a besoin dans un fichier le plus souvent appelé struts-config.xml. Si la requête du client contient des paramètres de formulaire, ceux-ci sont mis par le contrôleur dans un objet javaBean héritant de la classe ActionForm. Dans le fichier de configuration struts-config.xml, à chaque URL devant être traitée par programme on associe certaines informations :

· Le nom de la classe étendant Action chargée de traiter la requête.

· Si l'URL demandée est paramétrée (cas de l'envoi d'un formulaire au contrôleur), le nom du bean chargé de mémoriser les informations du formulaire est indiqué.

Muni de ces informations fournies par son fichier de configuration, à la réception d'une demande d'URL par un client, le contrôleur est capable de déterminer s'il y a un bean à créer et lequel. Une fois instancié, le bean peut vérifier si les données qu'il a stockées et qui proviennent du formulaire, sont valides ou non. Pour cela, une méthode du bean appelée validate est appelée automatiquement (si le développeur le souhaite et la définie) par le contrôleur et renvoie éventuellement une liste des erreurs. Dans ce cas là, le contrôleur n'ira pas plus loin et passera la main à une vue déterminée dans son fichier de configuration pour informer l'utilisateur des erreurs qu'il a commis lors de la saisie de son formulaire. Si les données du bean sont correctes, ou s'il n'y a pas de vérification ou s'il n'y a pas de bean, le

contrôleur passe la main à l'objet de type Action associé à l'URL. Il le fait en demandant l'exécution de la méthode exécute de cet objet à laquelle il transmet la référence du bean qu'il a éventuellement construit. C'est ici que le développeur fait ce qu'il a à faire : il devra éventuellement faire appel à des classes métier ou à des classes d'accès aux données. A la fin du traitement, l'objet Action rend au contrôleur le nom de la vue qu'il doit envoyer en réponse au client. Le contrôleur envoie cette réponse. L'échange avec le client est terminé.

3. Le Framework Hibernate

Hibernate est un Framework open source gérant la persistance des objets en base de données relationnelle. La manipulation de SQL dans le langage de programmation JAVA est rendue possible par l'utilisation du JDBC. Puisque, chaque requite est effectuée sur le modèle logique de la base de données, cette approche présente l'inconvénient de lier très fortement le code de l'application au schéma de la base de données. En conséquence, toute évolution apportée au modèle logique doit ~tre répercutée sur le code de l'application.

L'outil Hibernate propose une solution à ce problème. Celle-ci consiste à définir, dans des fichiers de configurations, le lien entre le diagramme de classes de l'application qui exploite une base de données et le modèle logique de cette base de données. Il permet ensuite de manipuler les données de la base de données sans faire la moindre référence au schéma de la base de données en utilisant l'API fournie par cet outil gr~ce au lien établi dans les fichiers de configuration.

a. Configuration d'Hibernate

Hibernate est conçu pour pouvoir être utilise dans différents types d'architectures d'application. Pour cela, chaque application doit indiquer à Hibernate comment celui-ci peut accéder et manipuler la source de données dans un fichier de configuration nommé hibernate.cfg.xml.

Les principaux éléments à paramétrer sont les suivantes :

· Le SGDB utilisé. Chaque SGBD propose une implémentation du langage SQL qui diffère souvent de la norme SQL. Hibernate doit connaitre le type de SQL qu'il doit générer.

· La Connexion à la base de données. Si la connexion à la base de données se fait en utilisant JDBC, il faut indiquer à Hibernate, le driver JDBC, l'url de connexion ainsi

qu'un nom d'utilisateur et un mot de passe permettant de se connecter `a la base de données. Les connexions peuvent également etre gérées par un serveur d' J I IIIcT IM IiIIfauIIITTITTTrIàIHITTMINT IcomTnIINIIpTutIaIIIdTrIMITInTxITTs I WITIIparIcTIsTNITuII(AIMINITIJNT).I

· xTsISTNIIITsItiTIM ITITTNIMIT IaIITsIIIIdTIMrTIIunITnsTfTITIMMIIdTIMMTxIVIsIàIlaI basT ITTIMIéTsITtIMI11131ITTIIMITI IMrIcTlI IITTMINTIMMITIunT I IlTinTnrirIiuffTniairTIdTIcTsIsTrvicTmITais IpTuiIaumiIutirTiIdTrIsTnicTsItiTisI TirIpTmmIts I

miIrérrmTi, IlTImi[ImiaxTIdTIHibTrnatTIrrTnsitT I: I

· xaIlMIITIIIVITIImITx1TIdTITITITTsITxpITIIMtIlaIMTIdTIMINTsI; I

· xIMIIIIITIMMINcTI(IIIIIIM ITTIITIlTImITx1TIdTIcNTIsTsITtIEIbIsTIITIdoMTsI; I

· Une configuration au niveau système de l'accès. I

b. 8 lkilisalkioK11 141-F iblialki

L'utilisation de Hibernate se fait principalement au travers de la classe Session qu'il imilt. IUII1jTtIsTrrImT IlT1IfomrrmrirI111rm1T I:I

· Rendre persistant un objet d'une classe. C'est la méthode save 111Io17ITIcTliT I fonctionnalité. Elle prend en paramètre l'objet à rendre persistant. I

· Charger un objet d'une classe à partir de la base de 1717T1 Ix1I111h11T I11adITstI utilisée à cette fin. Elle prend en paramètre la classe de l'objet à charger ainsi que la valeur de l'identifiant (clé primaire) de cet objet. I

· Modification d'un objet persistant. Il suffit pour cela de modifier la valeur des Viopriétés d'un objet puis d'appeler la méthode flush de l'objet session. I

· Suppression d'un objet persistant. L'appel de la méthode delete avec en paramètre un objet persistant se charge d'effectuer la suppression dans la base de données. I

· xTcxTrcxTiIdTrIobjTts IHibTrnmTIiroposTIunIlmx,xTIdTIrTqmxiTIriTntéIob ItsInomé I HQL dont la syntaxe est similaire au SQL et qui permet d'effectuer des requetes sur le 111x1TI11j1t. I

La figure 8 illustre l'architecture de Hibernate. I

Figure 8: Architecture d'Hibernate.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre"   Paul Eluard