TP Fractal

Auteurs : Daniel Hagimont, Vania Marangozova



Environnement logiciel

Prérequis:

Ce TP est structuré comme suit :

Dans chaque étape, on trouve (presque) toujours la même structure :

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) :


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.