octobre 2010 [email protected] les seances de travaux pratiques la plate forme le...
TRANSCRIPT
Octobre 2010 [email protected]
LES SEANCES DE TRAVAUX PRATIQUES
La Plate forme
Le Développement JSE-EclipsePlugin de base :OGSi/SmartTools
Fabrique Logicielle : basé sur SmartTools
Didier Parigot
Support de TP en PDF/Site Téléchargement Supports jacques.bapst.home.hefr.ch/pr1/doc/eclipse3.5_premiers_pas.pdf jacques.bapst.home.hefr.ch/links/index.htm#IDE Développement en java avec eclipse, jean michel Doudoux
Obtenir JRE ou JDK http://Java.sun.com ---- choisir la version que l’on désire java.sun.com/javase/downloads/ ---- pour Java Standard
Edition http://www.oracle.com/technetwork/java/index.html
Obtenir Eclipse http://www.eclipse.org/downloads/index.php
Les plug-ins http://marketplace.eclipse.org/ http://eclipse−plugins.2y.net/eclipse/index.jsp
Les Travaux Pratiques : SOMMAIRE TP N°1 :Prise en Main Eclipse
Identité, Gestion des versions, Pourquoi Eclipse, Installation, Démarrage concepts clés, Architecture, Paramétrage Eclipse, Les Plug-ins, SmartTools dans Eclipse, mise en place, navigation.
Importation de Chat & Compilation
Demos chat et Géolist
TP N°2 :Création des composants Création de deux composants
TP N°3 : Exécution en environnement distribué Application en P2P
TP1:Eclipse : IdentitéIDEIDE écrit en JAVA écrit en JAVA
Auteur : Auteur : IBMIBM
Open SourceOpen Source Eclipse est au cœur de WSW (Websphere Studio Workbench)Eclipse est au cœur de WSW (Websphere Studio Workbench)
ExtensibleExtensible grâce à son concept de grâce à son concept de modulemodule appelé couramment appelé couramment Plug-Plug-insins
Le noyau de la plate-forme est nommé Le noyau de la plate-forme est nommé RuntimeRuntime. .
Eclipse = Runtime + plug-insEclipse = Runtime + plug-ins
Supporte plusieurs plate-forme Supporte plusieurs plate-forme d'exécution (Windows, Linux, MacOS, d'exécution (Windows, Linux, MacOS, ...) ...)
Exécution rapideExécution rapide
Langage de développement : Langage de développement : Java,Java, C, C++, COBOL, Python, Perl, PHP and RubyC, C++, COBOL, Python, Perl, PHP and Ruby
TP1:Eclipse: Gestion des versions Chaque version est constituée d'un nombre plus ou moins important de type Chaque version est constituée d'un nombre plus ou moins important de type nommé nommé "Build« "Build« ,, on a :on a :
• La La "Nihtly Builds" "Nihtly Builds" : Version en cours de développement: Version en cours de développement
• La La "Integration Builds" "Integration Builds" assemblage de projets pour la réalisation de testsassemblage de projets pour la réalisation de tests
• La La "Stable Builds" "Stable Builds" : Version testée: Version testée
• La La "Release" "Release" : version diffusée et "fiable": version diffusée et "fiable"
Les Versions d’EclipseLes Versions d’Eclipse
-La toute première release est la 1.0 en Novembre 2001 -La toute première release est la 1.0 en Novembre 2001 -De 2004-2010-De 2004-2010
• 2004 : 3.0 (Eclipse 3.0)2004 : 3.0 (Eclipse 3.0)
• 2005 : 3.1 (Eclipse 3.1)2005 : 3.1 (Eclipse 3.1)
• 2006 : 3.2 (Callitos)2006 : 3.2 (Callitos)
• 2007 : 3.3 (Europa)2007 : 3.3 (Europa)
• 2008 : 3.4 (Ganymede)2008 : 3.4 (Ganymede)
• 2009 : 3.5 (Galileo)2009 : 3.5 (Galileo)
• 2010 : 3.6 (Helios)2010 : 3.6 (Helios)
•En 2011 En 2011 (Indigo)(Indigo)
Eclipse : Avantages Naturellement modulaire, conséquences :
Eclipse peut être utilisé par n’importe quel développement
On peut développer des fonctionnalités qui ne sont pas fournies en standard et les greffés à Eclipse (Concept des plug-ins)
TP1:TP1:EclipseEclipse : Installation : Installation
ProcéduresProcédures : Installation très facile : Il suffit de décompresser : Installation très facile : Il suffit de décompresser l'archive d'Eclipse dans un dossier.l'archive d'Eclipse dans un dossier.
1. Télécharger Eclipse : 1. Télécharger Eclipse : http://www.eclipse.org/downloads/index.phphttp://www.eclipse.org/downloads/index.php
2. Décompresser le fichier obtenu dans le répertoire 2. Décompresser le fichier obtenu dans le répertoire eclipse eclipse de votre disque dur de votre disque dur (Par exemple (Par exemple c:\eclipsec:\eclipse)--------)--------NB : la désinstallation s’est la suppression de ce NB : la désinstallation s’est la suppression de ce répertoirerépertoire
3. Lancer 3. Lancer eclipse.exe eclipse.exe qui se trouve dans le répertoire eclipse.qui se trouve dans le répertoire eclipse.
Pré-requisPré-requis1.Télécharger Java (voir 1.Télécharger Java (voir Voir http://Java.sun.com)Le fichier qui nous concerne se nomme :Le fichier qui nous concerne se nomme :
- dans le cas de Windows : jdk-6u14-windows-i586.exe (73,5 Mo)- dans le cas de Windows : jdk-6u14-windows-i586.exe (73,5 Mo)
- dans le cas de Linux : jdk-6u14-linux-i586.bin (77 Mo)- dans le cas de Linux : jdk-6u14-linux-i586.bin (77 Mo)
2. Installer JavaIl s'agit dans les deux cas d'un installateur auto-extractible : après le téléchargement il suffit Il s'agit dans les deux cas d'un installateur auto-extractible : après le téléchargement il suffit de le lancer et de suivre les instructions qui s'affichent.de le lancer et de suivre les instructions qui s'affichent.
3. Vérifier que l’installation est correct : Sous Windows via la console de 3. Vérifier que l’installation est correct : Sous Windows via la console de commande, taper : java –version commande, taper : java –version
TP1:Eclipse : démarrage (1)
• Lorsque vous lancer eclipse vous obtenez l’écran ci-dessous Lorsque vous lancer eclipse vous obtenez l’écran ci-dessous
•Commentaires :Commentaires :WorkSpace signifie espace de travail. C’est un répertoire dans lequel sont regroupés les projets de développement que vous créés. Cette écran vous invite : Soit à accepter le répertoire de travail qu’il affiche par défaut, soit à dérouler le combo pour choisir un répertoire de travail si vous n’êtes pas à votre premier démarrage d’éclipse, soit d’en créer un (en cliquant sur Browse.. , puis choix de l’emplacement et click du bouton « nouveau dossier »)
TP1:Eclipse : démarrage (2)NBNB : Pour des Questions d’ordre pratique : Pour des Questions d’ordre pratique 1.1.C’est bon de se fabriquer un emplacement idéal qui regroupe les C’est bon de se fabriquer un emplacement idéal qui regroupe les projets JAVA (emplacement des données), ainsi, projets JAVA (emplacement des données), ainsi, il faut se créer un il faut se créer un Workspace différent de celui proposé par défaut par Eclipse qui est Workspace différent de celui proposé par défaut par Eclipse qui est généralement de la forme c:\documents and settings\UserName\généralement de la forme c:\documents and settings\UserName\WorkSpace .WorkSpace .
2. Pour simplifier le lancement d’Eclipse, il faut créer un raccourci 2. Pour simplifier le lancement d’Eclipse, il faut créer un raccourci d’éclipse sur le bureau. d’éclipse sur le bureau. Il ne s’agit pas de copier le fichier exécutable Il ne s’agit pas de copier le fichier exécutable sur le bureau.sur le bureau.
Le WorkspaceLe Workspace
Le Workspace Le Workspace contient des contient des projets, un dossier projets, un dossier de méta-donnéesde méta-données
3.3. Exemple Exemple Le workspace nommé « workspace1 » contient « Le workspace nommé « workspace1 » contient « .metadata.metadata » et projet » et projet testtest
TP1:Eclipse : concepts clés•Les vuesLes vues
•PerspectivePerspective
Plan de Travail ou Workbench
•EditeurEditeur(ici)
TP1:Eclipse : concepts clés WorkbenchWorkbench : : C’est le bureau, c’est l’interface qui s’ouvre dès qu’on lance Eclipse. Il fournit les éléments de l’ergonomie au travers des vues , des perspectives, et des éditeurs.
PerspectivesPerspectives : : c’est une organisation des vues qui permet de travailler sur un thème donné. On a par exemple la perspective Ressource qui permet de voir tout ce que contient le workspace, la perspective Java pour développer en Java, la perspective CVS pour gérer ses repositories,… Ces perspectives sont accessibles via la petite barre d'outils qui se trouve en haut à droite (par défaut)
VueVue : :C’est une fenêtre de travail; navigation, édition java, package, projet, …
Editeur : Editeur : il permet de visualiser mais aussi de modifier le contenu d'un élément. Un éditeur peut contenir plusieurs éléments, chacun étant identifié par un onglet.
Plate-forme Eclipse : ArchitecturePlug-insPlug-ins
Eclipse= Runtime + Plug-insEclipse= Runtime + Plug-ins
SWTSWT
•SWTSWT est une bibliothèque qui sert à construire des interfaces graphiques en Java, au même titre que les bibliothèques est une bibliothèque qui sert à construire des interfaces graphiques en Java, au même titre que les bibliothèques AWTAWT et et SwingSwing..•JFaceJFace est une surcouche de est une surcouche de SWTSWT, d’avantage orientée objet, qui amène de plus un modèle , d’avantage orientée objet, qui amène de plus un modèle MVCMVC et des fonctionnalités et des fonctionnalités supplémentaires.supplémentaires.•AntAnt est l’outil d’automatisation de tâche répétitive tout au long du cycle de vie de l’application. est l’outil d’automatisation de tâche répétitive tout au long du cycle de vie de l’application.•CVSCVS est un outil de développement collaboratif. est un outil de développement collaboratif.
TP1:Eclipse : Installation Plug-in
Un plug-in est un module d’extension. C’est une brique logiciel qui vient compléter Un plug-in est un module d’extension. C’est une brique logiciel qui vient compléter un logiciel hôte pour lui apporter de nouvelles fonctionnalités. un logiciel hôte pour lui apporter de nouvelles fonctionnalités.
Les Plugins sont généralement distribués sous forme de fichiers ZIP qui peuvent Les Plugins sont généralement distribués sous forme de fichiers ZIP qui peuvent contenir plusieurs fichiers mais où l'on trouve pratiquement toujours un ou contenir plusieurs fichiers mais où l'on trouve pratiquement toujours un ou plusieurs fichiers JAR ainsi qu'un fichier XML important nommé plugin.xml qui plusieurs fichiers JAR ainsi qu'un fichier XML important nommé plugin.xml qui décrit le composant et qui sera interprété par Eclipse lors de son lancement. décrit le composant et qui sera interprété par Eclipse lors de son lancement.
Comment installer un plug-ins dans Eclipse ? Comment installer un plug-ins dans Eclipse ? 1.1. Certains Plugins disposent d'une URL permettant de les installer directement à Certains Plugins disposent d'une URL permettant de les installer directement à
l'aide du gestionnaire de mise à jour (Update Manager) d'Eclipse.l'aide du gestionnaire de mise à jour (Update Manager) d'Eclipse.
Dans ce cas faire : Dans ce cas faire : Help >Software Install New Software...Help >Software Install New Software...
Ajouter l’url dans le champ word with, et cliquer sur “Add…” , Ajouter l’url dans le champ word with, et cliquer sur “Add…” , sélectionner le composant à installer et cliquer sur “Next” sélectionner le composant à installer et cliquer sur “Next”
2.2. Les Plugins ne disposent pas d'un environnement adapté au Les Plugins ne disposent pas d'un environnement adapté au gestionnaire de mise à jour .gestionnaire de mise à jour .
Il suffit généralement de décomprimer le fichier ZIP dans le sous Il suffit généralement de décomprimer le fichier ZIP dans le sous répertoire \plugins\ qui se trouve en dessous du répertoire \eclipse\ à répertoire \plugins\ qui se trouve en dessous du répertoire \eclipse\ à l'endroit où l'on a installé le logiciel Eclipsel'endroit où l'on a installé le logiciel Eclipse. Le Plugin sera . Le Plugin sera automatiquement chargé et activé lors du prochain démarrage d'Eclipse. automatiquement chargé et activé lors du prochain démarrage d'Eclipse.
NB : Attention à bien conserver l'arborescence des fichiers lors de la NB : Attention à bien conserver l'arborescence des fichiers lors de la décompression.décompression.
TP1:Eclipse : La fabrique logicielle SmartTools (1)
•Installation de SmartToolsInstallation de SmartToolsPrérequis : On doit connaitre où se trouve le feature smartTool. Dans notre cas Prérequis : On doit connaitre où se trouve le feature smartTool. Dans notre cas il se trouve dans la clé USB (CleUSB) qui est un dossier de notre disque ou un il se trouve dans la clé USB (CleUSB) qui est un dossier de notre disque ou un dossier partager de notre intranet. On suppose qu’éclipse est lancédossier partager de notre intranet. On suppose qu’éclipse est lancé
Action 1: Help > Install Software ---On obtient l’écran nommé Action 1: Help > Install Software ---On obtient l’écran nommé (1)(1)
Action 2 Action 2 : : Cliquer sur le Cliquer sur le bouton « Add.. » Vous obtenez bouton « Add.. » Vous obtenez l’écran nommé l’écran nommé (2)(2)
11
22
Action 3 Action 3 : : cliquez sur le cliquez sur le bouton « archive… » pour bouton « archive… » pour sélectionner allez cherchez le sélectionner allez cherchez le feature dans « CleUSB » ---feature dans « CleUSB » ---Voir suiteVoir suite
Action 4 : Action 4 : Sélectionnez le zip Sélectionnez le zip SmartTool (la version 1.6.2) SmartTool (la version 1.6.2) et cliquez sur « ouvrir ». et cliquez sur « ouvrir ». (4)(4)
44
55
Action 5: Saisir un nom Action 5: Saisir un nom significatif(SmartTools) et significatif(SmartTools) et cliquez sur « OK ». cliquez sur « OK ». (5)(5)
Note Important Note Important : Ceci ne permet : Ceci ne permet que d’ajouter ce chemin dans la que d’ajouter ce chemin dans la liste des sites préférés . Pour liste des sites préférés . Pour continuer cliquez sur le lien continuer cliquez sur le lien « « Available software SitesAvailable software Sites » de » de l’écran available software pour l’écran available software pour selectionner le chemin du feature.selectionner le chemin du feature.
TP1:Eclipse : La fabrique logicielle SmartTools (2)
66
Action 6: Action 6: Dérouler Dérouler «Uncategorized» voir «Uncategorized» voir (6)(6) puis puis cohez la feature «SmartTools» cohez la feature «SmartTools» puis cliquez sur « Next »puis cliquez sur « Next »
AperçuAperçu
La suite c’est le lancement La suite c’est le lancement effectif de l’installation (voir effectif de l’installation (voir slide suivant)slide suivant)
TP1:Eclipse : La fabrique logicielle SmartTools (3)
Accepter les Accepter les termes de la termes de la licencelicence
Cliquez sur Cliquez sur ce bouton ce bouton pour pour terminerterminer
TP1:Eclipse : La fabrique logicielle SmartTools (4)
La barre d’outil La barre d’outil d’eclipse a bel et bien d’eclipse a bel et bien changé. On peut voir la changé. On peut voir la présence de l’icône présence de l’icône SmartTools.SmartTools.
On a bel et bien les plug-On a bel et bien les plug-ins SmartTool dans la vue ins SmartTool dans la vue des plug-ins. Il y a dans des plug-ins. Il y a dans cette vue bien d’autres cette vue bien d’autres plug-ins.plug-ins.
TP1:Eclipse : La fabrique logicielle SmartTools (5)
TP1:Eclipse -Lancer Eclipse via la console
Nous allons lancer eclipse via la console. Pour cela, il suffit d’aller Nous allons lancer eclipse via la console. Pour cela, il suffit d’aller dans les accessoires de Windows puis de cliquer sur l’invite du dos.dans les accessoires de Windows puis de cliquer sur l’invite du dos.
Une fois la session dos lancée, accéder au répertoire eclipse puis Une fois la session dos lancée, accéder au répertoire eclipse puis taper la commande : eclipse.exe –console (Voir l’Ecran ci-dessous).taper la commande : eclipse.exe –console (Voir l’Ecran ci-dessous).
Le slide suivant vous donne le résultat obtenu.Le slide suivant vous donne le résultat obtenu.
TP1:Eclipse -Lancer Eclipse via la console
ObservationsObservations: Nous observons que c’est OSGi qui exécute Eclipse. Cliquons sur : Nous observons que c’est OSGi qui exécute Eclipse. Cliquons sur l’écran console pour l’amener en premier plan et lui passer quelques commandes.l’écran console pour l’amener en premier plan et lui passer quelques commandes.
Essayons les commandes : ss (qui nous donne les bundles actifs), Help (pour Essayons les commandes : ss (qui nous donne les bundles actifs), Help (pour l’aide), etc.l’aide), etc.
Note :Note : Un bundle est un composant au sens OSGi Un bundle est un composant au sens OSGi
TP1:Eclipse : préparation environnement Action 1 Action 1 : : Windows > PreferencesWindows > Preferences Ecran des préférences à Ecran des préférences à
paramétrerparamétrer
NB NB : : Les options configurables sont très Les options configurables sont très nombreuses et il est toujours possible, par nombreuses et il est toujours possible, par domaine, de revenir à la configuration par domaine, de revenir à la configuration par défaut grâce au bouton défaut grâce au bouton « Restore « Restore Defaults ».Defaults ».
Nous allons nous intéresser beaucoup plus à Nous allons nous intéresser beaucoup plus à la configuration liée à cette formation.la configuration liée à cette formation.
TP1:Eclipse : préparation environnement (1)Ecran des préférences à Ecran des préférences à paramétrerparamétrer
Paramétrages à EffectuerParamétrages à Effectuer
TP1:Eclipse : préparation environnement (2)
Nous allons commencer par l’importation des Fichiers CleanUp.xml et Nous allons commencer par l’importation des Fichiers CleanUp.xml et formatter.xmlformatter.xml
Action 1 : Action 1 : Faire Faire Windows > PreferencesWindows > Preferences
Action 2 : Action 2 : Choisir Choisir Java > code style Java > code style
(voir les options clean et formatter)(voir les options clean et formatter)
Cliquez sur le bouton Cliquez sur le bouton « import » pour importer le « import » pour importer le fichier CleanUp (1).fichier CleanUp (1).
11
22
Vous obtenez l’écran (2), qui Vous obtenez l’écran (2), qui vous donne la possibilité d’aller vous donne la possibilité d’aller chercher le fichier cleanUp.xml chercher le fichier cleanUp.xml qui se trouve dans le répertoire qui se trouve dans le répertoire « Feature » du dossier « Feature » du dossier « logiciels » de notre « CleUSB » « logiciels » de notre « CleUSB »
La même procédure est utilisée La même procédure est utilisée pour importer le fichier pour importer le fichier « Formatter ».« Formatter ».
TP1:Eclipse : préparation environnement (3)Les paramétrages généraux se feront ainsi qu’il suit :Les paramétrages généraux se feront ainsi qu’il suit :
On doit permettre On doit permettre l’affichage des l’affichage des numéros de ligne numéros de ligne dans l’éditeurdans l’éditeur
On doit paramétrer On doit paramétrer cet option « spelling cet option « spelling à disable » c’est-à-à disable » c’est-à-dire décocher dire décocher « Enable ».« Enable ».On doit cocher On doit cocher l’option « Build l’option « Build Automatique » et Automatique » et ensuite on doit ensuite on doit choisir l’encodage choisir l’encodage « UTF- 8 »« UTF- 8 »
TP1:Eclipse - préparation environnement (4)
NB : Questions pratiquesNB : Questions pratiquesC’est beau de se préparer un environnement de travail, mais ce n’est pas gaie de C’est beau de se préparer un environnement de travail, mais ce n’est pas gaie de reprendre lorsqu’on en a besoin sur un autre poste de travail. Pour éviter cette reprendre lorsqu’on en a besoin sur un autre poste de travail. Pour éviter cette reprise, on doit sauvegarder son environnement de travail ou plutôt on doit reprise, on doit sauvegarder son environnement de travail ou plutôt on doit l’exporter. l’exporter. Le fichier obtenu est un «.epf »Le fichier obtenu est un «.epf » Exporter les préférencesExporter les préférences
Fichier > Export > General > Preferences Fichier > Export > General > Preferences (( Export allExport all)) Importer les préférencesImporter les préférencesFichier > Import > General > Preferences Fichier > Import > General > Preferences ((Import allImport all))
11
22
3344
TP1:Eclipse -préparation environnement (5)
Autres configurations standardsAutres configurations standards
TP1:Eclipse -Importation des sources sous eclipses
Dans ce volet nous allons importer les sources qui existent dans Dans ce volet nous allons importer les sources qui existent dans CleUSB dans l’environnement Eclipse. CleUSB dans l’environnement Eclipse. •Action 1 : Fichier > import ---> on obtient l’écran Action 1 : Fichier > import ---> on obtient l’écran (1) (1)
11 •Action2 : Action2 : Dérouler l’option «General» Dérouler l’option «General» puis sélectionner «Existing Projects into puis sélectionner «Existing Projects into Workspace » puis cliquez sur le bouton Workspace » puis cliquez sur le bouton « suivant »« suivant »
•Action 3 : Dans l’écran que vous Action 3 : Dans l’écran que vous obtenez sélectionnez le bouton obtenez sélectionnez le bouton Brower pour rechercher le fichier à Brower pour rechercher le fichier à importer. Les sources à importer sont importer. Les sources à importer sont dans : dans :
« …\CleUSB\source\workSapce ».« …\CleUSB\source\workSapce ».
Voir l’écran d’import suivant pour Voir l’écran d’import suivant pour comprendre la suite. comprendre la suite.
TP1:Eclipse Importation des sources sous eclipses
Cette Zone contient l’ensemble des Cette Zone contient l’ensemble des projets présents dans le dossier à projets présents dans le dossier à importer. Conséquence on doit tout importer. Conséquence on doit tout désélectionner et ne cocher que ce qu’on désélectionner et ne cocher que ce qu’on veut importer.veut importer.
•Action 4 : Action 4 : Cliquez sur le bouton Cliquez sur le bouton « Finish » pour terminer l’importation« Finish » pour terminer l’importation
Nous importons dans le cas présent Nous importons dans le cas présent « chat », et « GWT ». Les éléments à « chat », et « GWT ». Les éléments à prendre sont :prendre sont :
-gwt-gwt
-inria.smartTools.chat.gwt-inria.smartTools.chat.gwt
-inria.smartTools.chat.starter-inria.smartTools.chat.starter
-inria.smartTools.chat.swing-inria.smartTools.chat.swing
Le résultat AttenduLe résultat Attendu
Voir la suiteVoir la suite
TP1:Eclipse :Présentation d’une source Importée
Lancement de la Lancement de la Compilation du Compilation du code importé.code importé.
Résultats de la Résultats de la compilation voir bas compilation voir bas de l’écran doit être de l’écran doit être SUCCESSFULSUCCESSFUL
Sources Sources générée générée
CompilatioCompilation GWTn GWT
AA
AA
-Je déplace « buildST.xml » dans la vue « Ant » pour la -Je déplace « buildST.xml » dans la vue « Ant » pour la compilation. compilation. -Une fois buildST.xml dans la vue Ant, Pointer le projet Une fois buildST.xml dans la vue Ant, Pointer le projet et appuyer sur F5 pour le rafraichissement. Puis lancer et appuyer sur F5 pour le rafraichissement. Puis lancer la compilation par (B)la compilation par (B)-Pour Obtenir la perspective Ant faire :Pour Obtenir la perspective Ant faire :
Windows > Show view > AntWindows > Show view > Ant
BB
TP1:Eclipse –Démonstation Cas Chat
•Action 1 : Action 1 : Ouvrez un terminal et lancez le script WinRunChat1.bat Ouvrez un terminal et lancez le script WinRunChat1.bat et WinRunChat2.bat . Ces Deux invites Dos s'ouvrent et exécutent et WinRunChat2.bat . Ces Deux invites Dos s'ouvrent et exécutent deux plateformes LogNet et PON en parallèle. Chacun de ces deux plateformes LogNet et PON en parallèle. Chacun de ces plateformes ont lancé un composant permettant de démarrer des plateformes ont lancé un composant permettant de démarrer des composants chat.composants chat.
L’exécutable de chat se trouve dans /CleUSB/TP1/L’exécutable de chat se trouve dans /CleUSB/TP1/
Démonstation : Cas Chat
•Démarre chat1Démarre chat1 •Démarre chat2Démarre chat2
•Console OSGiConsole OSGi
Démonstation : Cas ChatSuivre les instructions ci-dessous Suivre les instructions ci-dessous pour l’exécution de chat. Pour obtenir pour l’exécution de chat. Pour obtenir ces instructions voir : ces instructions voir : /CleUSB/TP1/Chat1.1/Chat/Index.html/CleUSB/TP1/Chat1.1/Chat/Index.html
Démarrer Chat1 :Démarrer Chat1 : Démarrer Chat2 :Démarrer Chat2 :
TRAVAUX PRATIQUE 2 : Création des composants -Enoncé
Création des composants
Exécution des composants Créés -Sous une même JVM
TP2 : Création des composants -Enoncé
Le présent TP, consiste : Le présent TP, consiste :
1.1.A créer deux composants nommés « expediteur » et A créer deux composants nommés « expediteur » et « recepteur ».« recepteur ».
« « expediteur expediteur » Possède le service « message », il est chargé au travers une » Possède le service « message », il est chargé au travers une interface swing de saisie /Envoie, d’envoyer les messages au interface swing de saisie /Envoie, d’envoyer les messages au « recepteur », « recepteur », qui lui à travers une interface swing d’affichage, reçois et édite le message qui lui à travers une interface swing d’affichage, reçois et édite le message envoyé par l’expéditeur.envoyé par l’expéditeur.
PrécisionsPrécisions
-L’interface d’envoie est constitué d’une zone de Saisie et d’un bouton -L’interface d’envoie est constitué d’une zone de Saisie et d’un bouton d’envoie (send ou envoyer)d’envoie (send ou envoyer)
2. Une fois les deux composants créé, nous devons les 2. Une fois les deux composants créé, nous devons les exécuter :exécuter : A) A) D’abord sur la même JVMD’abord sur la même JVM
B) Ensuite sur les JVM différentsB) Ensuite sur les JVM différents
TP2 : Création des composants (1)
Etape 1 Etape 1 : : Créer les composants « expediteur » et « recepteur » Créer les composants « expediteur » et « recepteur »
•File > New >OtherFile > New >Other1.1.Sélectionner « New SmartTools Sélectionner « New SmartTools
Component » puis cliquer sur « Next » (voir Component » puis cliquer sur « Next » (voir 11).).
2.2.Saisir le nom du composant et cliquer sur Saisir le nom du composant et cliquer sur « Finish » (Voir « Finish » (Voir 22))
11
22
TP 2: Création des composants (2)
33
Nous avons, les Nous avons, les deux composants deux composants créés « expediteur » créés « expediteur » et « recepteur » et « recepteur »
Les deux composants créés, nous allons les Les deux composants créés, nous allons les compiler et les doter des services et métierscompiler et les doter des services et métiers
TP 2 : Création des composants (3)
1. Préparation du composant « expediteur »1. Préparation du composant « expediteur »Action1 : Aller dans les sources de « expediteur » et mettre à Action1 : Aller dans les sources de « expediteur » et mettre à jour la classe « Activator »jour la classe « Activator »
Changer : Changer : « ComponentContaine« ComponentContainer » en r » en « ExpediteurContainer« ExpediteurContainer » »
Remplacer : Remplacer : « Component » « Component »
par par
« Expediteur »« Expediteur »
Action 2 Action 2 : Aller dans les sources de « expediteur.cdml » et mettre à : Aller dans les sources de « expediteur.cdml » et mettre à jour expediteur.cdml, et implémenter le service « message »jour expediteur.cdml, et implémenter le service « message »
TP 2 : Création des composants (3-2)
1. Préparation du composant 1. Préparation du composant « expediteur »« expediteur »Action 2 Action 2 : Aller dans les sources de « expediteur.cdml » et mettre à jour : Aller dans les sources de « expediteur.cdml » et mettre à jour
expediteur.cdml, et implémenter le service « message »expediteur.cdml, et implémenter le service « message »
<output name="message" method="message“ <output name="message" method="message“ doc="update doc="update Label">Label">
<attribute name="message" doc="" <attribute name="message" doc="" javatype="java.lang.String" />javatype="java.lang.String" />
</output></output>Nous implémentons le service d’expédition, il s’agit de l’envoie donc Nous implémentons le service d’expédition, il s’agit de l’envoie donc outputoutput
TP 2 : Création des composants (4)
1. Préparation du composant « expediteur »1. Préparation du composant « expediteur »Action 3 : implémentation du métier de l’expéditeurAction 3 : implémentation du métier de l’expéditeurNous allons implémenter Nous allons implémenter l’interfacel’interface
Swing d’envoie de Message.Swing d’envoie de Message.L’interface à droite présente le code L’interface à droite présente le code métier de l’expéditeur. Copier le contenu métier de l’expéditeur. Copier le contenu du fichier « /USB/TP2/expediteur.text » du fichier « /USB/TP2/expediteur.text » et remplacer celui que vous avez en et remplacer celui que vous avez en présence. présence.
Mise à jour ActivatorMise à jour ActivatorFaites la même chose pour le fichier Faites la même chose pour le fichier « Activator » : copier le contenu du fichier « Activator » : copier le contenu du fichier « /USB/TP2/Activator_E.txt » pour mettre « /USB/TP2/Activator_E.txt » pour mettre à jour le fichier que vous avez. à jour le fichier que vous avez.
NBNB : : Voir le contenu de la façadeVoir le contenu de la façade
«Expediteurfacade.java» de «Expediteurfacade.java» de generateur/srcgenerateur/src. La . La facadefacade implémente message et hérite de implémente message et hérite de expediteurexpediteur donc message doit être déclaré donc message doit être déclaré abstraite dans abstraite dans expediteurexpediteur . .
TP 2 : Création des composants (3)
1. Préparation du composant « recepteur » 1. Préparation du composant « recepteur » Action1 : Aller dans les sources de « recepteur » et mettre à Action1 : Aller dans les sources de « recepteur » et mettre à jour la classe « Activator »jour la classe « Activator »
Changer : Changer : « ComponentContaine« ComponentContainer » en r » en « RecepteurContainer « RecepteurContainer »»
Action 2 Action 2 : Aller dans les sources de « Recepteur.cdml » et mettre à : Aller dans les sources de « Recepteur.cdml » et mettre à jour Recepteur.cdml, et implémenter le service « message »jour Recepteur.cdml, et implémenter le service « message »
Remplacer : Remplacer : « Component » « Component »
par par
« Recepteur »« Recepteur »
TP 2 : Création des composants (3-2)
1. Préparation du composant 1. Préparation du composant « expediteur »« expediteur »Action 2 Action 2 : Aller dans les sources de « expediteur.cdml » et mettre à jour : Aller dans les sources de « expediteur.cdml » et mettre à jour
expediteur.cdml, et implémenter le service « message »expediteur.cdml, et implémenter le service « message »
Nous implémentons le service de reception, il s’agit de la Nous implémentons le service de reception, il s’agit de la reception donc inputreception donc input
TP 2 : Création des composants (4)
1. Préparation du composant « recepteur »1. Préparation du composant « recepteur »Action 3 : implémentation du métier de recepteurAction 3 : implémentation du métier de recepteurNous allons implémenter Nous allons implémenter l’interfacel’interface
Swing reception de Message.Swing reception de Message.L’interface à droite présente le code L’interface à droite présente le code métier de recepteur. Copier le contenu métier de recepteur. Copier le contenu du fichier « USB/TP2/recepteur.text » et du fichier « USB/TP2/recepteur.text » et remplacer celui que vous avez en remplacer celui que vous avez en présence. présence.
Mise à jour ActivatorMise à jour ActivatorFaites la même chose pour le fichier Faites la même chose pour le fichier « Activator » : copier le contenu du fichier « Activator » : copier le contenu du fichier « USB/TP2/Activator_R.txt » pour mettre à « USB/TP2/Activator_R.txt » pour mettre à jour le fichier que vous avez. jour le fichier que vous avez.
NBNB : : Voir le contenu de la façadeVoir le contenu de la façade
«Expediteurfacade.java» de «Expediteurfacade.java» de generateur/srcgenerateur/src. La . La facadefacade implémente message et hérite de implémente message et hérite de RecepteurRecepteur donc message doit être déclaré donc message doit être déclaré abstraite dans abstraite dans RecepteurRecepteur..
TP 2 : Exécution des composants
L’exécution ne se fait pas au hasard, elle se prépare. L’exécution ne se fait pas au hasard, elle se prépare.
Le principe général c’est la création d’une configuration OSGi. Cette Le principe général c’est la création d’une configuration OSGi. Cette configuration est paramétrée. Au cours du paramétrage, il faut cocher configuration est paramétrée. Au cours du paramétrage, il faut cocher les plugins (Bundles) nécessaires à l’exécution de l’application. On les plugins (Bundles) nécessaires à l’exécution de l’application. On peut les classer ses bundles d’exécution en deux catégories :peut les classer ses bundles d’exécution en deux catégories :
1.1.Les bundles liés à la plate formeLes bundles liés à la plate forme, se sont par exemple dans notre cas, se sont par exemple dans notre cas
-ComponentsManager-ComponentsManager
-inria.smarttools.core-inria.smarttools.core
-inria.smarttools.ds.local-inria.smarttools.ds.local
-inria.smarttools.lib-inria.smarttools.lib
-org.eclipse.osgi-org.eclipse.osgi
22. . Les bundles liés à notre espace de travail Les bundles liés à notre espace de travail c’est-à-dire ceux de l’application en c’est-à-dire ceux de l’application en courscours
-expéditeur-expéditeur
-Recepteur-Recepteur
Plus le bundle de démarrage : inria.starterPlus le bundle de démarrage : inria.starter
11
22
TP 2 : Exécution des composants
•1. Accès à l’écran de configuration1. Accès à l’écran de configuration•2. Création d’une nouvelle 2. Création d’une nouvelle configurationconfiguration•3. Renommage de la configuration 3. Renommage de la configuration crééecréée
33
TP 2 : Exécution des composants
On coche et on On coche et on
modifie les levels icimodifie les levels ici..Le paramétrage terminé, il faut Le paramétrage terminé, il faut cliquez sur Run pour lancer cliquez sur Run pour lancer l’exécution.l’exécution.
TP 2 : Exécution des composants/ Résultats
ExpéditeurExpéditeur RécepteurRécepteur
•Exercice de Exercice de rechercherechercheModifier le présent projet de manière à produire un Modifier le présent projet de manière à produire un modèle où l’envoie et la réception se font dans les modèle où l’envoie et la réception se font dans les deux sens.deux sens.
Exécution en environnement Exécution en environnement distribuédistribué
-Application au P2P--Application au P2P-
TP 3 : Création et exécution des composants (suite)
TP 3 : Création et exécution des composants (suite)
Enoncé : Enoncé : démarrage sur une JVMdémarrage sur une JVM1. Créez un modèle bidirectionnel de « expediteur » , « recepteur ».1. Créez un modèle bidirectionnel de « expediteur » , « recepteur ».
2. Créer un modèle d’envoi-réception nommé chat conforme à l’interface ci-dessous 2. Créer un modèle d’envoi-réception nommé chat conforme à l’interface ci-dessous
Zone de saisie des Zone de saisie des messagesmessages
Zone d’affichage des Zone d’affichage des messagesmessages
Zone de saisie de l’ID Zone de saisie de l’ID d’une instance à d’une instance à contactercontacter
Se connecter à une Se connecter à une instanceinstance
3. Vous avez chat.starter, 3. Vous avez chat.starter,
-importer le sous eclipse, compiler et exécuter chat sous Eclipse-importer le sous eclipse, compiler et exécuter chat sous Eclipse
TP 3 : Création et exécution des composants (suite)
Enoncé Enoncé : : démarrage plusieurs JVMdémarrage plusieurs JVMIl est Question dans ce volet de créer un point de démarrage « boot » Il est Question dans ce volet de créer un point de démarrage « boot » pour permettre les connexions distribuées.pour permettre les connexions distribuées.
-Déziper « application.Zip » (voir CleUSB/TP/TP3)-Déziper « application.Zip » (voir CleUSB/TP/TP3)
-Exporter votre chat dans « application »-Exporter votre chat dans « application »
-Exécuter « chat »-Exécuter « chat »