1. Trang chủ
  2. » Luận Văn - Báo Cáo

(LUẬN văn THẠC sĩ) RÉUTILISABILITÉ DE COMPOSANTS WEB AU TRAVERS DUNE APPROCHE BASÉE SUR JSR 168

128 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

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 III ABREVIATION IV REMERCIEMENTS V RESUME VI ABSTRACT VII INTRODUCTION 1.1 PROBLEMATIQUE 1.2 MOTIVATION 1.3 OBJECTIFS 1.4 ENVIRONNEMENT DE STAGE 1.5 CONTRIBUTION 1.6 STRUCTURE DU RAPPORT ÉTAT DE L’ART 2.1 GENERAL DE LA REUTILISATION DU LOGICIEL 2.1.1 Avantages et obstacles de la réutilisation 2.1.1.1 2.1.1.2 2.1.2 Taxonomie et niveaux de réutilisation 2.1.2.1 2.1.2.2 2.1.3 2.1.4 Avantages Obstacles Logiciel AVEC la réutilisation Logiciel POUR la réutilisation 10 Modèle d’organisation pour réutilisation 13 Processus de réutilisation des logiciels .15 2.1.4.1 2.1.4.2 Processus POUR la réutilisation 16 Processus AVEC la réutilisation 18 2.1.5 Evaluation de la réutilisation .20 2.2 COMPOSANTS ET REUTILISABILITE 22 2.2.1 Composants 22 2.2.2 Caractéristique du composant réutilisable 23 2.2.3 Réutilisation du composant dans le contexte de développement du web .24 TECHNOLOGIE ET ENVIRONNEMENT D’EXPERIMENTATION .26 3.1 PORTLET ET JSR 168 26 3.1.1 Portlet 26 3.1.2 Caractéristique et contenu de la JSR 168 27 3.2 CONTENEUR DU PORTLET 28 3.2.1 Liferay (lportal) 30 3.3 3.4 JAVA SERVER FACES (JSF) 30 ICEFACES 32 3.5 JAVA ARCHITECTURE FOR XML BINDDING – JAXB 33 IMPLEMENTATION 35 4.1 INTRODUCTION 35 4.1.1 Project du portail eSkills 35 4.1.2 Sous-projet Survey .36 4.1.3 Sous-projet LOM-Recherche 36 4.2 PORTLET SURVEY 37 4.2.1 Général des fonctions fournies du portlet 37 4.2.2 Structure Survey 39 i TIEU LUAN MOI download : skknchat@gmail.com 4.2.3 Réutilisation de la couche du service de Liferay 41 4.2.4 Développement des composants réutilisables 44 4.2.5 Réutilisabilité du portlet et des composants .44 4.3 PORTLET LOM-RECHERCHE 47 4.3.1 Structure et implémentation du portlet 47 4.3.2 Réutilisation dans le projet 49 4.3.3 Réutilisabilité du portlet .49 4.4 ANALYSE 49 4.4.1 Analyse de portlet d’implémentation 49 4.4.2 Recommandation du développement des composants réutilisables .52 CONCLUSION 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 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 Abréviation EUN JSF JSP XML JSR European Schoolnet Java Server Faces Java Server Page Extensible Markup Language Java Portlet Specification WSRP LOM Web Services for Remote Portlets Learning Object Metadata LRE JAXB GPL REBOOT FORM PECOS IBM SSI CSI Learning Resource Exchange Java Architecture for XML Binding GNU General Public Licence Reuse Based on Object-Oriented Techniques Méthode de réutilisation orientée caractéristique (feature-oriented reuse method) Pervasive Component Systems International Business Machines Corporation Shipped source instruction Changed source instruction RSI SIRBO Reused source instruction Source instructions reused by others LOC PDR RCA SCA DCA RVA ADC J2EE Line of code Pourcentage de réutilisation Coût de réduction de la réutilisation Coût de réduction du service Coûte du développement Valeur ajoutée de la réutilisation Valeur ajoutée du développement Java Platform Enterprise Edition URL HTML Uniform Resource Locator HyperText Markup Language API AOS AOWS CAS LDAP Application Programming Interface Architecture Orientée Service Architecture Orientée WebService Système d'authentification unique Lightweight Directory Access Protocol MVC2 IOC Modèle Vue Contrôleur Inversion of Control LAAS DES Laboratory for Analysis and Architecture of Systems Data Encryption Standard MD5 RSA Message-Digest Algorithm Rivest Shamir Adleman - Algorithme asymétrique de cryptographie clé publique Ajax DOM SAX JAXP XVD Asynchronous JavaScript and XML Document Object Model Simple API for XML Java API for XML processing Exchange of Vocabulary Definition Specification iv TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 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 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 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 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 Nos portlets sont des composants de type bte blanche Des portails demandent des portlets devant avoir des configurations différentes pour s’adapter l’environnement Donc, la structure du portlet est ouverte au programmeur Avec le portlet Survey, le programmeur doit savoir les structures des questions, la survey pour installer la base de données et construire la couche du service dans le cas nécessaire L’évaluation du bénéfice de développement pour la réutilisation ne pourra être réalisé que dans l’avenir - Des composants réutilisables du Survey À partir de Survey, nous avons développé des composants du web réutilisables Ces composants peuvent être parqués en bibliothèque pour être réutilisés dans d’autres applications du web qui demandent des fonctions comme le sondage On voit que ces composants ont des caractéristiques de la réutilisabilité : Quand on crée un composant dans le programme, le composant gère ses variables et traite les activités internes suivant les opérations de l’utilisateur Le composant est réutilisé sans inclure d’autres composants si le projet est développé avec la technologie Icefaces Alors, les composants Survey sont autonomes Des composants sont parqués dans la librairie (.jar) avec les tags et des classes exportées Ils sont l’identification Des composants ont des fonctions précises Ils sont utilisés pour construire des applications du sondage Ils comprennent des questions et un survey contenant des questions Ils sont des fonctionnalités Pour utiliser des composants, on utilise des tags exportés Ils sont l’interface du composant En plus, nous avons des niveaux de réutilisation du composant Ils sont des états de la réutilisation du composant Alors, les composants Survey ont des caractéristiques du composant réutilisable présenté précédemment Pour réutiliser ces composants On doit comprendre le contenu du composant et le principe d’activité de chaque composant Alors, des composants sont de type ôboợte transparenteằ Cependant, la frontiốre entre les types de bte n’est pas claire, elle dépend du niveau de la réutilisation de l’utilisateur Si l’utilisateur ajoute le composant pour élaborer des tags dans l’interface, c’est la bte noire Si l’utilisateur étend la fonction pour enregistrer automatiquement la base de données pour hériter des questions et implémenter des interfaces, on doit comprendre le contenu du composant C’est la bte blanche 51 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 Des avantages et inconvénients du composant réutilisable de Survey Avantages Il est facile réutiliser dans d’autres projets Au niveau du portlet, on peut facilement construire une programmation réutilisant les composants Au niveau de l’interface, on peut facilement élaborer un site web réutilisant ces composants par quelques tags comme des composants de JSF En plus, les composants de Survey utilisent la technologie Icefaces Il support donc l’Ajax Inconvénients Parce qu’il y a beaucoup de types de question avec diverses valeurs du résultat, la gestion des paramètres de la question est un peu difficile Tous les types de questions sont parqués dans un même composant Il est facile de gérer les questions, mais il est difficile de gérer les résultats de chaque question, ce qui exige des programmeurs de conntre les composants en détails pour tirer le meilleur parti du composant 4.4.2 Recommandation du développement des composants réutilisables Projet pour réutilisation Avant de développer un projet qui comprend des composants réutilisables, on doit s’imaginer le projet et la position du projet par rapport d’autres projets utilisant des composants réutilisables Projet pour réutilisation n’est pas l’intersection, ni la réunion entre des projets Normalement, le projet pour la réutilisation contient des parties communes qui sont réutilisées par d’autres projets et formulées sous des composants Ce projet est donc plus grand que l’intersection des projets Sa frontière est déterminée par la partie qu’elle réutilise partir de d’autres projets avec des parties qui assurent les caractéristiques de réutilisabilité du composant Projet P3 PR Projet P1 Projet Projet pour réutilisation P2 Figure 4-14 La position du projet pour réutilisation PR ⊃ P1 ∩ P2 ∩…∩Pn 52 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 Où : PR est le projet qui est développé pour l’utilisation et P1…Pn sont des projets qui réutilisent des composants PR La détermination de la frontière du projet et leurs fonctions lors qu’on ne sait pas tous les projets P1 Pn est difficile donc on doit prévoir des fonctions et déterminer le rôle du projet Spécification - Développement d’un projet pour réutilisation basée sur un projet existant On ne développe pas un projet quand il n’y a pas de besoins de l’utiliser Donc ordinairement, un projet pour la réutilisation se fait partir d’un projet dont qu’il réutilise - Imagination d’un grand projet qui réutilise tous les composants et toutes les caractéristiques de ce projet Ceci nous aide apercevoir le rôle des composants, la situation d’utilisation de chaque fonction - Proposition d’exigences rigoureuses pour toutes les fonctions du composant Un composant est réutilisé dans plusieurs applications différentes donc l’exigence du composant est la réunion de l’ensemble des exigences de tous les projets - Dans le portlet, on devrait séparer les exigences de la fonction des exigences du portail Un portlet contient des fonctions pour résoudre des problèmes spécifiques et des fonctions pour intégrer au portlet comme l’interface ou l’interconnexion La séparation nous aide construire un portlet indépendant du portail et le portlet peut être réutilisé facilement et s’adapter d’autres conteneurs Conception - Faire plus que besoin Des besoins sont générés par les projets existants, mais le composant peut être réutilisé pour des projets inconnus Les fonctions d’un composant ne sont pas superflues, elles peuvent être utiles avec des projets futurs Donc on devrait construire des composants orientés objet ou agent avec des fonctions possibles - Construction d’un composant complet et pas superflu Un composant complet satisfait toutes les exigences concernant le composant Un composant avec des fonctions superflues rend la réutilisation inextricable - De petits composants plutôt qu’un grand composant Des petits composants sont plus portables et faciles intégrer d’autres projets - Détermination des interfaces d’interconnexion et documentation de toutes les interfaces - Diminution des dépendances du projet d’autres Dans le cas de dépendance d’autres, on doit indiquer clairement ces dépendances et comment on peut intégrer ces 53 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 dépendances dans un autre projet On devrait faire des fonctions simples pour diminuer les dépendances - Dans le cas ou le portlet dépend du portail, on devrait construire une interface pour une interconnexion entre-deux, afin que le portlet puisse marcher sans implémentation de ces interfaces Par exemple, le portlet accepte de changer la langue en fonction de la langue du portail, mais si le portail ne supporte pas cette caractéristique, le portail peut toujours fonctionner convenablement - Construction des composants avec plusieurs niveaux de réutilisation différents Cela facilite et augmente la réutilisation Des niveaux de réutilisation peuvent être classifiés du simple au complexe, etc - Nous pouvons résumer le processus de développement dans le schéma ci-dessous : Capture des besoins fonctionnels Branche fonctionnelle Branche technique Capture des technologies, dépendances Spécification des techniques, dépendances Spécification des fonctions Analyser des techniques, dépendances Analyser des fonctions Conception Phase de Implémentation réalisation Tester Documenter Stocker dans le dépôt Figure 4-15 Cycle de vie du développement Avant de réaliser un projet, on examine deux branches parallèlement pour déterminer les caractéristiques du projet et les composants développés sur le domaine de besoin, fonction et le domaine technique et dépendant d’autres composants Codage - Utilisation d’un modèle du code Un modèle général rend le codage plus clair Un autre programmeur peut le modifier ou le réutiliser facilement dans un autre projet 54 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 - Traitement exhaustif de tous les cas d’erreurs possibles Un composant est désigné pour diverses applications donc tous les cas d’utilisation peuvent être réutilisé Le traitement exhaustif de tous les cas possibles est une solution pour éviter les erreurs - Transfert de toutes les erreurs la couche supérieure Il fait élastiquement le traitement des erreurs dans des applications qui réutilisent ce composant - Quelques remarques dans le portlet : - Utiliser toujours des API réécrits URL pour le contenu dans le portlet Utilise renderResponse.encodeURL(renderRequest.getContextPath()+ …) au lieu de renderRequest.getContextPath()+ … - N’ajouter pas le chemin après encodeURL parce qu’il va mener une URL différente encodeURL(…+chemin) au lieu de encodeURL()+chemin - Déclarer que le contenu de portlet est obligatoire response.setContentType("text/html") sinon le portail ne traite pas le portlet - N’utiliser pas de cookie dans le portlet Le cookie peut ne pas marcher On doit trouver dautres faỗons pour le remplacer Test Un composant rộutilisable demande plus de test que d’autres composants Un composant a seulement besoin de fonctionner dans un projet particulier, mais un composant réutilisable exige de fonctionner dans toutes les situations d’utilisation La possibilité d’erreur est plus grande donc les tests doivent être nombreux Toutes les recommandations au-dessus que nous avons obtenues dans le processus de développement des portlets présentés peuvent être insuffisantes et ce n’est pas juste parce qu’elles sont des jugements subjectifs Elles ont besoin de commentaires des personnes qui les utilisent 55 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 Conclusion Dans le cadre du stage, nous avons condensé des connaissances élémentaires sur le domaine de réutilisation du logiciel, et présentation des nouvelles technologies qui sont utilisées pour construire des composants et des applications du web Nous avons proposé des recommandations dans le processus de création des composants du web Au travers des recherches sur les réutilisations, nous nous sommes aperỗus que les ộtudes sur la rộutilisation sont encore limitées particulièrement sur la branche du web Il n’y a pas de normes de réutilisation du logiciel, de modèles d’entreprise avec/pour réutilisation et plus spécialement d’organisations de dépôts qui stockent des composants réutilisables La réutilisation n’est pas uniforme dans les entreprises, ce qui rend difficile la réutilisabilité et le partage des composants dans des entreprises différentes particulièrement dans le monde du logiciel open-source Ce rapport se limite proposer quelques recommandations sur la production des composants du web réutilisables dans le contexte de construction de portlets Elles sont le fruit des remarques des producteurs, mais elles ne sont pas des règles, ni des normes que les ingénieurs doivent observer L’étude de la réutilisation est encore ouverte surtout dans certains domaines potentiels comme la construction de règles d’organisation des dépôts de composants réutilisables du logiciel source ouverte, ou la proposition de processus de production de composants ou de perfectionnement des normes API du portlet Tous ces champs sont encore incomplets 56 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 Références [Johan 1997] Johannes Sametinger, Software engineering with reusable components, Springer, 1997 [Poulin 1993] J S Poulin, J M Caruso, D R Hancock The business case for software reuse Source, IBM Systems Journal archive Volume 32 , Issue (October 1993) Pages: 567 594 [Marcus.] Marcus A Rothenberger, Kevin J Dooley, Uday R Kulkarni Characteristics of Software Reuse Strategies: Taxonomy of Implementations Patterns [Karl 1995] Guttorm Sindre, Reidar Conradi, Even-André Karlsson The REBOOT Approach to Software Reuse Journal of Systems and Software, 1995 [IEEE 1517] Software Reuse Processes IEEE Std 1517 [Poulin 2007].Jeffrey S., Component Reuse in Software Engineering (C.R.u.i.S.E.), Almeida, et al., Recife Center for Advanced Studies and Systems (C.E.S.A.R.), Recife, Brazil, 2007 [Poulin 1994] Poulin, Jeffrey S., “Measuring Software Reusability,” Third International Conference on Software Reuse, Rio de Janeiro, Brazil, 1-4 November 1994, pp 126-138 [Poulin et Caruso 1993] (Poulin & Caruso, 1993) Poulin, J.; Caruso, J A Reuse Metrics and Return on Investment Model In: Proceedings of the 2nd IEEE Workshop on Software Reuse (WSR): Advances in Software Reusability, Lucca, Italy, 1993, pp 152-156 [Devanbu et al., 1996] Devanbu, P T.; Karstu, S.; Melo, W L.; Thomas, W Analytical and Empirical Evaluation of Software Reuse Metrics In: Proceedings of the 18th International Conference on Software Engineering (ICSE), Berlin, Germany, pp 189-199, 1996 [Deepak 2007] Deepak Gothe Understanding the Portlet Container 1.0 Beta Software and Deploying Portlets May 4, 2007 http://java.sun.com/developer/technicalArticles/J2EE/sdk_portletcontainer [Neighbors, 1980] Neighbors, J.M Software Construction Using Components, PhD Thesis, University of California, Irvine Department of Information and Computer Science USA, 1980, p 75 [Kang et al., 1998] Kang, K.C.; Kim, S.; Lee, J.; Kim, K.; Shin, E.; Huh, M FORM: A FeatureOriented Reuse Method with domain-specific reference architectures, In: Annals of Software Engineering Notes, Vol 05, 1998, pp.143-168 [Bodoff] Stephanie Bodoff Web Components http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/WebComponents.html [Bhakti, 2003] Ed Ort and Bhakti Mehta, Java Architecture for XML Binding (JAXB) March 2003 http://java.sun.com/developer/technicalArticles/WebServices/jaxb/ [Fei et Jian 2004] Fei Yui-Ku, Wang Zhi-Jian A Concept Model of Web Components Proceedings of the 2004 IEEE International Conference on Services Computing (SCC’04) [Díaz et Rodríguez, 2004] Oscar Díaz , Juan J Rodríguez Portlets as Web Components: an Introduction Journal of Universal Computer Science, vol 10, no (2004), 454-472 57 TIEU LUAN MOI download : skknchat@gmail.com (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168 (LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168(LUAN.van.THAC.si).REUTILISABILITE.DE.COMPOSANTS.WEB.AU.TRAVERS.DUNE.APPROCHE.BASEE.SUR.JSR.168

Ngày đăng: 18/12/2023, 02:42

Xem thêm: