Conception d'un système distribué d'exécution

Par Jimmy Duchesne

Le projet consiste en fait en deux applications. Il y a tout d'abord le système d'exécution distribué. En
résumé, il s'agit d'une application client-serveur pouvant s'exécuter sur un seul ou sur plusieurs
machines. Au départ, le serveur et les clients ne font rien par eux-mêmes. Ils sont simplement
interconnectés et ils attendent qu'on leur demande d'exécuter une commande. Pour exécuter une
commande, un client doit explicitement annoncer au serveur qu'il souhaite traiter des commandes. On
peut donc dire que le rôle des clients est l'exécution et que celui du serveur est de distribuer la charge.


Pour ce système, une commande est en fait un interface. En d'autres mots, c'est un conteneur qui contient du code inconnu. C'est à ce moment qu'une autre application est nécessaire. Elle doit encapsuler le traitement qui peut être distribué à l'intérieur d'un objet implémentant l'interface de commande. Dans le cas particulier du “Crawler” Web, le traitement présent dans une commande consiste à visiter une page Web et récolter tous les liens s'y trouvant. Les clients retournent le résultat sur le serveur et l'application utilisatrice du système va récupérer le résultat sur ce même serveur.


Documentation complète du projet

Sources du projet