TP Fractal
Auteurs : Daniel Hagimont, Vania Marangozova
Environnement logiciel
Prérequis:
java1.5 (avec variable d'environnement JAVA_HOME)
ant (avec variable d'environnement ANT_HOME)
Ce TP est structuré comme suit :
Il y a un répertoire par étape du TP : de exo1 à exo5.
Le répertoire externals contient tous les jar de l'implantation Julia de Fractal
Le répertoire doc contient la javadoc de Fractal
Le répertoire initial contient l'application Comanche dans son état initial. Vous pouvez aller jeter un coup d'oeil aux source dans ce répertoire lorsque vous le jugez utile.
Dans chaque étape, on trouve (presque) toujours la même structure :
build contient les fichiers générés lors des étapes de compilation
etc contient des fichiers de configuration
src contient les fichiers source
Un fichier build.xml permet de gérer les aspects
compilation et exécution des programmes.
On retrouve les
cibles suivantes (lorsque cela à un sens en fonction de
l'étape du TP) :
clean : pour effacer les fichiers générés
compile : pour compiler les sources
execute : pour lancer l'exécution
Pour chaque étape, bien faire attention de travailler dans le
bon répertoire. Faire du copier-coller de sources (d'une
étape à une autre) si il faut.
Etape exo0
Vous devez simplement regarder les sources de l'application dans initial, en particulier les fichiers ADL et vérifier qu'elle est conforme à l'architecture vue en cours.
Faites marcher l'application (serveur web) et testez la avec un client web.
Etape exo1
Vous devez implanter cette autre architecture en la programmant en Java (voir le chassis de code dans src).
Etape exo2
Vous devez implanter la même architecture avec l'ADL Fractal.
Etape exo3
Observez l'application avec fractalexplorer (le fichier build.xml lance l'observation de la version initiale). A noter que pour démarrer l'application, il faut appeler l'opération "invoke" sur l'interface "r" du composite "comanche" (click souris droit dans l'observateur).
Etape exo4
Vous devez implanter un nouvel Handler (HttpHandler) qui implante un point de montage vers un autre site web (vous partez de la version initiale du serveur http comanche). Pour ce faire vous devez copier les fichiers ADL Fractal que vous voulez modifier (de la version initiale), ceux que vous ne modifiez pas peuvent être réutilisé tels quels depuis le package comanche. Tester que le nouvel handler permet de charge une page web d'un autre site web.
Etape exo5
Vous devez implanter un nouvel Analyzer qui, lorsqu'il voit passer
une requête "http://localhost:8080/reconf", ajoute le
handler précédent (HttpHandler) qui n'est initialement
pas présent. On implante ainsi une reconfiguration dynamique
de l'application Comanche. Pour cela , copier les sources et les
decsriptions ADL d'avant et modifier le code de RequestAnalyzer.