NFP 214 - Systèmes et réseaux répartis IPST-CNAM
Jacques LAFORGUE
page - 1 -
ATELIER 16
I. Objectifs
L’objectif de cet atelier est de montrer par un exemple simple, une architecture 3 tiers
dite « Http », comme décrite en cours :
- le 1
er
tier est le client léger de type applet s’exécutant dans le navigateur IE
- le 2
ème
tier est constitué de servlets qui s’exécutent dans un serveur HTTP
- le 3
ème
tier est constitué par un serveur applicatif RMI
Cet exemple pourra servir de modèle pour la réalisation d’un projet en TP.
2 cas sont implémentés :
- le 1
er
cas utilise un mini serveur Http développé de toute pièce en Java. Ce
cas permet de voir et comprendre la base d’architecture du fonctionnement
d’un serveur Http
- le 2
ème
cas utilise un vrai serveur Http, Tomcat version 5.0.
Le 1
er
cas permet une exécution suivant 3 architectures :
- une architecture main unique (CasMain)
- une architecture client-serveur dite lourde (CasRMI)
- l’architecture 3 tiers (internet) (CasRMI-HTTP)
Ceci permet de démontrer l’utilisation d’une interface qui sépare l’interface IHM de
l’applicatif.
II. Pré requis
Pour le cas 1 et le cas 2, le pré-requis est le JdK java alors que pour le cas 2, il est
nécessaire d’installer Tomcat.
Tomcat se télécharge librement sur Internet et sa procédure d’installation est
largement décrite sur Internet.
Il n’y a pas de configuration particulière de Tomcat.
III. Recommandations
Il n’y a pas de recommandation pour le cas 1 qui est autonome avec son script
unique de compilation.
Pour le cas 2, les recommandations sont de faire la sauvegarde du répertoire
webapps de Tomcat car le script de compilation va y installer les fichiers nécessaires
à l’exécution de l’application.
NFP 214 - Systèmes et réseaux répartis IPST-CNAM
Jacques LAFORGUE
page - 2 -
Pour plus d’information, lire les fichiers README.txt situés dans chacun des cas.
IV. Présentation et concepts
L’application consiste en l’exécution d’un programme RMI dont le rôle est de fournir
les 2 services suivants :
- String getDate() : retourne un texte contenant un préfixe et une date en heure,
minute et secondes.
- void setPrefixe(String valeur) : change le préfixe du texte.
-
Une IHM affiche ce texte cycliquement (thread) et permet de changer la valeur du
préfixe.
NFP 214 - Systèmes et réseaux répartis IPST-CNAM
Jacques LAFORGUE
page - 3 -
Architecture RMI :
Architecture HTTP :
servlet
setPrexixe Applicatif
Prefixe
getDate()
setPrefixe(v)
Objet Distribué
servlet
getDate
Serveur HTTP
IHM
Internet
IHM Applicatif
Prefixe
getDate()
setPrefixe(v)
Objet Distribué
Bus RMI
Bus RMI
NFP 214 - Systèmes et réseaux répartis IPST-CNAM
Jacques LAFORGUE
page - 4 -
V. Architecture des répertoires
Entre le cas 1 et 2 l’architecture des répertoires est sensiblement la même. Pour le
cas 2, il existe une différence pour les servlets qui doivent être sous l’arborescence
classique des programmes web.
Cas 1 (CasRMI-HTTP) correspond au cas complet:
la racine contient les scripts de compilation et d’exécution ainsi que les
sources des programmes main (qui ne sont pas dans des packages)
bin répertoire dans lequel sont générés les .class et les .jar
cnamp répertoire des sources qui est structuré en 6 répertoires :
app package java de l’applicatif
applets sources des applets java
html les fichiers html
ihm package java de l’ihm
myhttp package du mini-serveur HTTP
servlets sources des servlets
www arborescence des fichiers web utilisé par le mini serveur
Cas 2 :
la racine contient les scripts de compilation et d’exécution ainsi que les
sources des programmes main (qui ne sont pas dans des packages)
bin répertoire dans lequel sont générés les .class et les .jar
cnamp répertoire des sources qui est structuré en 6 répertoires :
app package java de l’applicatif
applets sources des applets java
html les fichiers html
ihm package java de l’ihm
myhttp package du mini-serveur HTTP
servlets sources des servlets
Le répertoire servlets est structuré en sous-repertoire web pour chacun des servlets :
<nom du servlets>
WEB-INF
web.xml le fichier de description du servlet
classes les .classe du servlet
lib packages nécessaires à l’exécution du servlet
src sources du servlet
Il n’y a pas de répertoire www car les fichiers sont copiés dans la webapps de
Tomcat par le script de compilation.
NFP 214 - Systèmes et réseaux répartis IPST-CNAM
Jacques LAFORGUE
page - 5 -
VI. Compilations et exécutions
Cas 1 - CasMain
Pour compiler :
compilMain.bat
Pour exécuter :
runMain.bat
Cas 1 - CasRMI
Pour compiler :
compilRMI.bat
Pour exécuter :
runOrb.bat exécution de l'adaptateur RMI
runAppXXXServeur.bat exécution de l'OD (1 seule exécution)
runIhmXXXClient.bat exécution de l'IHM (autant que l'on veut)
Cas 1 - CasRMI-HTTP
Pour compiler :
compil.bat
Pour exécuter :
runOrb.bat exécution de l'adaptateur RMI (sur 9100)
runAppXXXServeur.bat exécution de l'OD (1 seule exécution)
runHttpd.bat exécution du mini-serveur Http (sur 9200)
localhost (link sur IE) équivalent à taper dans l'IE l'URL :
http://localhost:9200
runIhmXXXClient.bat on peut exécuter le client IHM en parallèle
également
Cas2_AvecTomcat
Pour compiler :
compil.bat ATTENTION la var d'env suivante doit être
définie dans le fichier avec le path de votre
JEE:
set JEE_LIB="C:\Sun\AppServer3\lib"
(dans mon cas)
Pour exécuter :
runOrb.bat exécution de l'adaptateur RMI (sur 9100)
runAppXXXServeur.bat exécution de l'OD (1 seule exécution)
startup Server Tomcat.bat lancement du serveur Tomcat
localhost (link sur IE) équivalent à taper dans l'IE l'URL :
http://localhost:8080
runIhmXXXClient.bat on peut exécuter le client IHM en parallèle
également
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !