INSTITUT DE LA FRANCOPHONIE POUR EUROPEAN SCHOOLNET L’INFORMATIQUE RAPPORT DE STAGE DE FIN D’ÉTUDES RÉUTILISABILITÉ DE COMPOSANTS WEB AU TRAVERS D'UNE APPROCHE BASÉE SUR JSR-168 NGUYEN TRONG KHANH (A) PROMOTION: 12 Lieu du stage: EUN - European Schoolnet Responsable: PhD. Jean Noël Colin Période du stage: du 10 Avril 2008 au 10 Octobre 2008 BRUXELLES, BELGIQUE 2008 TIEU LUAN MOI download : skknchat@gmail.com Table des matières TABLE DES MATIERES. I LISTE DES FIGURES. ENVIRONNEMENT DE STAGE.
STRUCTURE DU RAPPORT. ÉTAT DE L’ART. GENERAL DE LA REUTILISATION DU LOGICIEL. Avantages et obstacles de la réutilisation.
Taxonomie et niveaux de réutilisation. Logiciel AVEC la réutilisation. Logiciel POUR la réutilisation. Modèle d’organisation pour réutilisation.
Processus de réutilisation des logiciels. Processus POUR la réutilisation. Processus AVEC la réutilisation. Evaluation de la réutilisation.
COMPOSANTS ET REUTILISABILITE. Caractéristique du composant réutilisable. Réutilisation du composant dans le contexte de développement du web. TECHNOLOGIE ET ENVIRONNEMENT D’EXPERIMENTATION.
PORTLET ET JSR 168. Caractéristique et contenu de la JSR 168. CONTENEUR DU PORTLET. JAVA SERVER FACES (JSF).
JAVA ARCHITECTURE FOR XML BINDDING – JAXB. Project du portail eSkills. Sous-projet Survey. Sous-projet LOM-Recherche.
Général des fonctions fournies du portlet .39 i TIEU LUAN MOI download : skknchat@gmail. Réutilisation de la couche du service de Liferay. Développement des composants réutilisables. Réutilisabilité du portlet et des composants.
PORTLET LOM-RECHERCHE. Structure et implémentation du portlet. Réutilisation dans le projet. Réutilisabilité du portlet.
Analyse de portlet d’implémentation. Recommandation du développement des composants réutilisables .56 ii TIEU LUAN MOI download : skknchat@gmail.com Liste des figures Figure 2-1 Modèle d’organisation Ad-hoc .13 Figure 2-2 Modèle d’organisation basée sur le dépôt de la réutilisation.14 Figure 2-3 Modèle d’organisation de centralisation de réutilisation.14 Figure 2-4 Modèle d’organisation de la réutilisation basé sur le domaine.15 Figure 2-5 Processus du développement des composants réutilisables.16 Figure 2-6 Étape de réingénierie dans le processus développement des composants REBOOT.17 Figure 2-7 Le processus de développement du logiciel avec réutilisation .18 Figure 3-1Modèle des couches d’un portail contenir des portlets .27 Figure 3-2 La cycle de vie d’un portlet.28 Figure 3-3 La structure interne du conteneur de portlet .29 Figure 3-4 La position de JSF avec JSP et Java Servlet .31 Figure 3-5 La structure d’activité de JSF.31 Figure 3-6 L’architecture d’activité d’Icefaces.32 Figure 3-7 L’architecture d’activité de JAXB .33 Figure 4-1 La structure du portail eSkills et la position du portlet Survey .36 Figure 4-2 Des questions fournis par le portlet Survey .39 Figure 4-3 Structure des couches du portlet Survey .39 Figure 4-4 Modèle des questions dans Survey.40 Figure 4-5 Processus de la réutilisation de la couche du service de Liferay .41 Figure 4-6 Une partie du fichier service.xml dans la couche du service réutilisable.42 Figure 4-7 Modèle d’objet généré par Liferay .43 Figure 4-8 Modèle de la couche du service généré par Liferay .43 Figure 4-9 Structure du composant réutilisable du Survey .44 Figure 4-10 Une partie code et l’interface correspondante du composant réutilisable .45 Figure 4-11 L’architecture du portlet LOM-Recherche .47 Figure 4-12 L’interface de recherche dans portlet LOM-Recherche .48 Figure 4-13 Résultat de recherche du portlet LOM-Recherche .48 Figure 4-14 La position du projet pour réutilisation.52 Figure 4-15 Cycle de vie du développement .54 iii TIEU LUAN MOI download : skknchat@gmail.com Abréviation EUN European Schoolnet JSF Java Server Faces JSP Java Server Page XML Extensible Markup Language JSR Java Portlet Specification WSRP Web Services for Remote Portlets LOM Learning Object Metadata LRE Learning Resource Exchange JAXB Java Architecture for XML Binding GPL GNU General Public Licence REBOOT Reuse Based on Object-Oriented Techniques FORM Méthode de réutilisation orientée caractéristique (feature-oriented reuse method) PECOS Pervasive Component Systems IBM International Business Machines Corporation SSI Shipped source instruction CSI Changed source instruction RSI Reused source instruction SIRBO Source instructions reused by others LOC Line of code PDR Pourcentage de réutilisation RCA Coût de réduction de la réutilisation SCA Coût de réduction du service DCA Coûte du développement RVA Valeur ajoutée de la réutilisation ADC Valeur ajoutée du développement J2EE Java 2 Platform Enterprise Edition URL Uniform Resource Locator HTML HyperText Markup Language API Application Programming Interface AOS Architecture Orientée Service AOWS Architecture Orientée WebService CAS Système d'authentification unique LDAP Lightweight Directory Access Protocol MVC2 Modèle Vue Contrôleur 2 IOC Inversion of Control LAAS Laboratory for Analysis and Architecture of Systems DES Data Encryption Standard MD5 Message-Digest Algorithm 5 RSA Rivest Shamir Adleman - Algorithme asymétrique de cryptographie à clé publique Ajax Asynchronous JavaScript and XML DOM Document Object Model SAX Simple API for XML JAXP Java API for XML processing XVD Exchange of Vocabulary Definition Specification iv TIEU LUAN MOI download : skknchat@gmail.com Remerciements Je tiens en premier lieu à remercier tout particulièrement celui qui m’a dirigé pour mon mémoire de fin d’études, Monsieur Jean Noël Colin, pour ses commentaires éclairés et sles judicieux conseils. J’adresse un grand merci à Jose Fernandez et Benedicte Clouet pour leurs opinions et la correction du français de ce rapport. Je tiens à remercier Monsieur Alain Pirotte et Monsieur David Massart qui m’ont aidé et accueilli en Belgique pour ce stage.
Je remercie également tous les membres de European Schoolnet, qui font d’EUN un environnement idéal de travail. Enfin, j’exprime mon entière reconnaissance à ma famille et mes amis pour leur soutien et leurs encouragements. v TIEU LUAN MOI download : skknchat@gmail.com Résumé La réutilisation de composant du logiciel devient de jour en jour plus importante dans le génie logiciel. La construction et réutilisation des composants du web est encore un nouveau problème quand la plupart du logiciel est transmis à l’environnement du web.
Dans le cadre du stage de master de recherche effectué dans l’organisation European Schoolnet, nous avons abordé des problèmes concernant la réutilisation du logiciel, le composant réutilisable et notamment le composant réutilisable du web et la réutilisation de ces composants à travers une approche basée sur JSR168. L’objectif de ce travail fut de rassembler des expériences à travers l’étude de la réutilisation des technologies par la construction d’applications sous la forme portlet, le développement des composants réutilisables à partir de ces applications et enfin la proposition de recommandations sur la réutilisabilité et le processus de développement des composants réutilisables du web. Deux applications, que nous construisons ici, sont SurveyPortlet et LOMRecherche intégrées dans le portail eSkills. Elles sont construites par réutilisation de composants réutilisables.
Nous créons aussi des composants réutilisables Survey à partir de SurveyPortlet pour les réutiliser dans d’autres projets dans le futur. Des recommandations proposées contribuent à l’orientation du développement des composants du web plus favorablement Mots clés : réutilisation, composant du web, composant réutilisable, réutilisation dans le portlet, processus de développement du composant réutilisable. vi TIEU LUAN MOI download : skknchat@gmail.com Abstract Reusing of software components is becoming more and more important in the software engineering. Building and re-using the web component is still a new problem when the most of software is transformed to the web environment.
This report of master of research is carried out in the European Schoolnet partnership. We deal with a problem of relative software re-use, and reusable component, especially reusable web component and reuse of this component via an approach based JSR168. Purpose of this work is to draw more thought in the study of reuse and technology by building the applications in the form of portlet, the development of reusable components in these applications. It also proposes best-practices on reusability and the process development of reusable web components.
Two applications were built for SurveyPortlet and LOMRecherche which are integrated into the portal eSkills. They are built by reusing the reusable components and we create also reusable components Survey from SurveyPortlet for reuse in other project in the future. These best-practices contribute to the developmental orientation of web components more favorably. Keywords: software reuse, web component, reuse component, portlet reuse, process development of the reuse web component.
vii TIEU LUAN MOI download : skknchat@gmail. Problématique Aujourd’hui, le logiciel est rarement créé à partir de zéro. Le logiciel devient de jour en jour plus complexe, le cycle de vie d’un logiciel est plus court, le logiciel demande à être développé plus rapidement. Donc, la réutilisation des produits du logiciel est nécessaire.
La réutilisation du logiciel est le processus de création d’un logiciel à partir d’éléments réutilisables existants. Avant, la réutilisation était réalisée par copier-coller du code des algorithmes. Ensuite, on a parqué des fonctions dans la bibliothèque du langage de programmation pour les réutiliser. Et aujourd’hui, la réutilisation du logiciel est apparue sous plusieurs formes différentes, ad-hoc ou symétrique, à codes simples ou à structures complexes, de la boîte noire à la boîte blanche.
Il y a beaucoup de produits réutilisables comme le code, la conception, le document, etc. La réutilisation du composant est devenue plus importante dans divers aspects du génie logiciel. Le composant est développé, maintenu et réutilisé dans plusieurs logiciels différents. Le composant a beaucoup d’avantages.
Il est facile de le distribuer à différents ingénieurs qui le développeront parallèlement. Il est facile de maintenir le composant quand ils ont une bonne conception d’interface car les modifications dans la région locale n’influent pas le système. Il est facile de replacer un composant pour mettre à niveau le système. Le composant a une grande influence, tant sur la structure du logiciel, que sur le processus de développement du logiciel.
Mais actuellement il y a encore des problèmes qui demandent des réponses. Quel est le composant réutilisable ? Quelles sont les caractéristiques de la réutilisabilité du composant ? Le processus de développement du composant et l’évaluation de réutilisation ? Dans le monde, la plupart des logiciels a été transmis à l’environnement du web pour fournir des services en ligne. Donc, le composant dans cet environnement a aussi introduit des changements sur les exigences, les caractéristiques et le processus du développement. Donc les problèmes ci-dessous deviennent plus complexes.
Ils demandent des études et expériences de développement dans ce domaine-ci. Motivation La réutilisation dans l’environnement du web est à partir de l’utilisation des liens dans la page pour se connecter à d’autres pages. Il joue un rôle important dans la réutilisation des parties du web et son contenu. L’apparition du composant du web produit un changement dans la réutilisation dans le web.
Il est utilisé dans l’application 1 TIEU LUAN MOI download : skknchat@gmail.com complexe remplaçant des pages simples. Le portail est en cela un perfectionnement pour construire des applications dans le domaine du web. Le portail fournit en effet un environnement personnalisable pour que des applications du web puissent s’exécuter. Le portlet est une application dans le portail, comparable à une mini-application web avec une interface GUI propre.
Mais, parce que le portlet est indépendant par rapport au portail, il peut être réutilisé dans un autre portail. Et en tant qu’application, il peut donc réutiliser des composants réutilisables. Comment construit-on des composants réutilisables du web? Comment peut-on réutiliser des composants du web pour construire des portlets ? Quelle est la réutilisabilité du portlet ? Ce sont des problèmes sur lesquelles nous voulons étudier avec le titre : «La réutilisabilité de composants web au travers d’une approche basée sur JSR168 » Cependant, la recherche est très vaste. Dans la situation réelle, nous n’avons pas la prétention de rechercher et proposer un processus de développement ou une nouvelle approche.
Nous nous limiterons donc à poser des recommandations quand nous réalisons les projets du portail sous la direction de la réutilisation des composants du web et développement des composants réutilisables. Objectifs Dans ce rapport, nous allons résoudre les problèmes suivants : - Étude des caractéristiques du composant réutilisable, particulièrement dans l’environnement du web et dans l’environnement du portlet. Étude de la technologie de réutilisation du logiciel dans l’entreprise, des avantages et obstacles. - Avec le développement de plusieurs modules réutilisables : des composants du Web réutilisable, des portlets réutilisables.
Dans ce cas-là, nous devons construire des applications complètes sous la forme de portlet. Les composants développés dans ces applications deviennent des composants réutilisables.