dans le pdf TD3

Transcription

dans le pdf TD3
TUTORIAUX FRACTAL
PREAMBULE
Téléchargez l'archive suivante, elle contient tout.
http://maven.objectweb.org/maven2/org/ow2/fractal/distribution/distributions/antcommon
/fractal-distribution-ant-common/1.2/fractal-distribution-ant-common-1.2-distribution-antcommon.tar.gz
Décompressez là EN DEHORS DU WORKSPACE.
Notez bien l'emplacement des fichiers décompressez (répertoires bin, lib, helloworld-juliafraclet-ant-common, etc.), il servira à définir la variable d'environnement FRACTAL_HOME
Nous allons reprendre l'excellent tutorial (en anglais :-)) sur le helloworld, en quatre versions
différentes : une avec Fraclet, une avec seulement Fractal ADL, une simplement avec java et
enfin une avec Groovy (script de manipulation dynamique).
CREATION DE PROJET
Pour chaque "helloword", il faudra faire un projet. Les sources et les fichiers ant (build,
propertities, etc.) seront à recopier depuis l'endroit de la décompression dans le projet.
USER LIBRARY - A FAIRE UNE FOIS - A ASSOCIER A CHAQUE PROJET
Du coté des sources, il manquera clairement des bibliothèques.
Dans éclipse, ajoutez une _library : clic droit sur le projet / Build Path / Add Libraries.
Dans la fenêtre "Add Library" qui apparaît, sélectionner "User Library" et cliquez sur Next.
Dans la nouvelle fenêtre "User Library", il ne devrait rien y a voir dans la liste, cliquez sur le
bouton "user libraries".
Dans la nouvelle fenêtre, cliquez sur "New" et créez ainsi une librairie nommée Fractal :
Ajoutez tous les jars contenu dans le répertoires "lib" (en deux temps, et en sélectionnant tous
les fichiers jar du répertoire avec Ctrl+A)
Validez toutes les fenêtres afin que la librairie Fractal soit maintenant associée à ce projet.
PREMIERE EXECUTION AVEC ANT : DEFINIR FRACTAL_HOME
- Cliquez avec le bouton droit sur build.xml
- selectionnez "Run As" -> "Ant Build...", la fenêtre "Edit Configuration" apparait
- selectionnez la tabulation "Environment"
- Cliquez sur le bouton "New"
- Définissez FRACTAL_HOME et la valeur et le repertoire où vous avez décompressé l'archive…
- Cliquez OK, puis Run
Vous pourrez controller la compilation / distribution / execution avec la vue ant d'Eclipse.
HELLOWORLD N°1 (FRACLET, FRACTAL ADL)
Créez un nouveau projet comme indiqué ci-dessus à partir des fichiers contenu dans le
répertoire helloworld-julia-fraclet-ant-common.
A partir du détail de ce tutorial, http://fractal.objectweb.org/fractal-distribution/helloworldjulia-fraclet/user-doc.html , regardez bien tous les éléments de cet exemple
Allez voir aussi dans le répertoire "generated", le code source produit à partir des fichiers
fraclet. Identifiez ce qui a été produit en Java ou en ADL Fractal à partir de chaque annotation
dans les fichiers sources.
Finalement, faites un composant "adapter" qui pourra traduire "Hello" en "Bonjour" et "World"
en "A tous". Il sera à la fois client et serveur. Serveur pour accepter le message du client. Client
pour soumettre le message traduit au serveur. Faites ce composant en utilisant Fraclet (les
annotations). Placez donc l'adapter entre le client et le serveur (modifiez
ClientServerImpl.fractal).
HELLOWORLD N°2 (FRACTAL ADL)
Créez un nouveau projet comme indiqué ci-dessus à partir des fichiers contenu dans le
répertoire helloworld-julia-adl-ant-common.
A partir du détail de ce tutorial http://fractal.objectweb.org/fractal-distribution/helloworldjulia-adl/user-doc.html , regardez bien tous les éléments de cet exemple
Vérifiez les différences avec l'exemple précédent.
Finalement, faites un composant "adapter" qui pourra traduire "Hello" en "Bonjour" et "World"
en "A tous". Il sera à la fois client et serveur. Serveur pour accepter le message du client. Client
pour soumettre le message traduit au serveur. Faites ce composant en utilisant uniquement
FRACTAL ADL (créez un Adapter.fractal). Placez donc l'adapter entre le client et le serveur
(modifiez ClientServerImpl.fractal).
Comparez cet adapter avec le précédent.
HELLOWORLD N°3 (PUR JAVA)
Créez un nouveau projet comme indiqué ci-dessus à partir des fichiers contenu dans le
répertoire helloworld-julia-ant-common.
Vous avez maintenant une version entièrement implémentée en Java. Regardez toutes les
opérations qui sont faites par l'API et identifiez les constructions "équivalentes" dans l'ADL du
helloworld précédent. Regardez les explications dans http://fractal.objectweb.org/fractaldistribution/helloworld-julia/user-doc.html
Finalement, faites un composant "adapter" qui pourra traduire "Hello" en "Bonjour" et "World"
en "A tous". Il sera à la fois client et serveur. Serveur pour accepter le message du client. Client
pour soumettre le message traduit au serveur. Faites ce composant en utilisant uniquement
Java. Placez donc l'adapter entre le client et le serveur (modifiez HelloWorld.java).
Comparez cet adapter avec les précédents.
HELLOWORLD N°4 (GROOVY, FRACTAL EXPLORER, FRACLET, FRACTAL ADL)
Créez un nouveau projet comme indiqué ci-dessus à partir des fichiers contenu dans le
répertoire helloworld-julia-groovy-ant-common
Exécutez le projet et recopiez ligne par ligne le contenu de script-fractal.groovy dans Groovy (et
faite Actions > Run.
Le tutorial est http://fractal.objectweb.org/fractal-distribution/helloworld-julia-groovy/userdoc.html .
Observez le résultat. Pensez à rafraichir (icône de gauche) Fractal Explorer.
Une fois le script terminé, mais toujours en cours d'exécution, recopiez votre 1er adapter (du 1er
HelloWorld) dans votre projet. Compilez (avec ant) puis revenez sur la console (d'éclipse) de la
1er exécution (celle de groovy) pour voir les sorties textuelles.
Stoppez l'exécution du composant composite. Pour chacune des étapes suivantes, pensez à
rafraichir Fractal Explorer : déliez client2 et server, créez un nouveau composant "adapter",
ajoutez le au composant composite, liez le avec client2 et server, "exécutez" le composant
composite.