next_inactive up previous


MINI PROJET 2

ECOLE POLYTECHNIQUE DE MONTREAL
Département de génie électrique
Section informatique
Cours INF4402: Systèmes répartis sur l'Internet (Hiver 2001)
3 crédits (3-1.5-4.5)

Objectifs

Ce projet vise à introduire l'étudiant au développement d'applications réparties client-serveur en utilisant le système d'appels par réseau CORBA.

Description

La Toile (World Wide Web) permet à des utilisateurs externes d'obtenir copie de documents offerts sur divers serveurs. Cependant, le protocole HTTP utilise directement la couche TCP/IP qui lui fournit un flot de caractères. Il doit donc spécifier comment convertir ce flot de caractères en diverses informations comme la date de dernière modification, la taille, et finalement le contenu du document.

Pour ce projet, un client et un serveur de documents doivent être programmés en utilisant CORBA comme mécanisme de communication.

Réalisation

Un squelette du client et serveur demandés est fourni. Le seul appel implanté retourne la version du service et la date de cette version. Normalement, le client localise le serveur en utilisant un service de répertoire. Pour simplifier les manipulations, le serveur écrira son adresse dans un fichier qui sera relu par le client.

Le serveur recevra donc les arguments suivants:

-n nom
Nom du fichier dans lequel placer l'adresse.
-p pathname
Répertoire à partir duquel servir les requêtes des clients.

Le client recevra les arguments suivants:

-n nom
Nom du fichier dans lequel se trouve l'adresse.

-p pathname
Nom du fichier à accéder.

Le serveur doit faire attention de ne pas permettre l'accès à des fichiers hors du répertoire spécifié, par exemple en interdisant les chemins avec des références au répertoire parent (e.g. ../../../etc/passwd).

Le programme client doit permettre d'obtenir le fichier demandé, imprimer son contenu sur stdout, et imprimer sa taille et sa date de dernière modification sur stderr.

Le système CORBA Orbit sera utilisé. Il est décrit à l'adresse http://www.labs.redhat.com/orbit/, et vient avec une documentation pour les nouveaux usagers et quelques exemples.

Une fois la fonctionalité demandée implantée, l'étudiant devra analyser l'impact en performance des accès en réseau avec CORBA, en étudiant les cas suivants:

La commande mount permet de savoir quels sous-arbres contiennent des fichiers locaux et lesquels sont accédés par NFS:

boole> mount
/dev/hda1 on / type ext2 (rw)
/dev/hda3 on /export type ext2 (rw)
none on /proc type proc (rw)
ada:/export/system/usr/local_lnx86 on /usr/local type nfs
automount(pid144) on /home type autofs
automount(pid146) on /usr/mnt type autofs
ada:/export/home/ada on /home/ada type nfs
ada:/export/home/ada/mail on /usr/mnt/mail type nfs

Les systèmes de fichiers de type ext2 sont locaux alors que ceux de type NFS et autofs sont accédés en réseau avec NFS.

Le répertoire contenant le travail de l'étudiant doit s'appeler tp2 et contenir un fichier makefile ainsi qu'un fichier index.html qui contient le rapport de l'étudiant et pointe vers le listage du programme. Un canevas pour votre rapport est fourni dans le fichier tp2/index.html. Il pointe vers les fichiers source du programme, et vers le canevas utilisé par le correcteur pour annoter votre travail. Le rapport sera ainsi soumis sous forme électronique en même temps que votre programme. Les fichiers objets doivent être enlevés avant la soumission électronique.

Evaluation

Le barème suivant sera appliqué au rapport du mini projet 2. Chacune des rubriques citées doit apparaître dans le rapport. Un rapport bref et concis est un atout. Le rapport doit être écrit en bon français et être remis avant la date et l'heure prévus à l'horaire (les pénalités habituelles s'appliquent).

Le professeur: Michel Dagenais (A-306.18, tel. 340-4711 etx.4029)


next_inactive up previous
Copyright Michel Dagenais, [email protected], mar jan 30 10:11:07 EST 2001