Bonjour à tous,
Je dois créer une messagerie répartie basé sur 3 applications Java distincte, n'étant pas un grand spécialiste de Java, j'aurai voulu avoir vos idées ou orientation pour mettre ce projet sur pied.
Les 3 applications distinctes sont les suivantes (aucune interface graphique n'est demandée) :
1) Un client qui est l'utilisateur qui possède un login spécifié en paramètre de l'application (je suppose donc qu'il faut que je passe par l'interface DOS) et un identifiant qui est attribué une fois que l'utilisateur est connecté. Celui-ci peut ensuite envoyer des messages aux autres utilisateurs connectés en spécifiant leur identifiant et pour finir, l'utilisateur peut récupérer l'identifiant associé à un login ou de récupérer la liste des logins et identifiants du système (d’autres fonctionnalités peuvent bien sûr être proposées).
2) Un routeur a pour but de mettre en relation les clients ou d’autres routeurs, et de faire transiter au besoin les messages dans le système. Le client se connecte au système via un routeur. La structure du système est donc un arbre où la racine est le premier routeur connecté. Pour identifier tous les éléments du système, nous utilisons le schéma de nommage de Zigbee, ainsi que ses paramètres. Ainsi, le système sera caractérisé par un nombre maximum de routeurs connectés à chaque routeur (nombre noté R), par un nombre maximum de client connectés à un routeur (nombre noté D), ainsi que par la profondeur de l’arbre (nombre noté P). Les identifiants des utilisateurs correspondront à l’identité attribuée à son client. Les identifiants pourront donc être utilisés pour le routage des messages dans le système.
3) Le coordinateur est l’élément central du système. C’est lui qui possède et diffuse les paramètres R, D et P. Ces valeurs sont spécifiées en paramètres au moment de l’exécution du coordinateur. Lorsqu’un routeur ou un client désire se connecter au système, il interroge le coordinateur qui lui donne les paramètres, ainsi que l’adresse (IP + port) du routeur racine de l’arbre (du premier routeur connecté). En contactant la racine, le routeur peut alors soit s’y connecter, soit récupérer les adresses des routeurs connectés. Il devra alors contacter ces routeurs jusqu’à trouver un routeur qui l’accepte comme fils. Si le routeur est le premier dans le système, l’adresse 0 lui sera attribuée. Sinon, il recevra son identité du routeur auquel il est connecté (si c’est un client), ou l’intervalle d’identités dont il a la charge (si c’est un routeur).
Petite précision :
Les communications avec le coordinateur se feront en Java RMI.
Alors je vais apporter une petite précision, je ne demande à personne de me créer le code Java ou autres, ce que je recherche, c'est comment me mettre sur les rails réaliser ce projet, au niveau de l'utilisateur je pense m'en sortir mais au niveau des 2 autres applications je ne vois pas comment procéder. J'ai essayé d'être le plus précis possible dans l'énoncé de mon projet et je vous remercie grandement à tous pour l'aide que vous m'apporterez.
Passez une bonne journée.
Cordialement.
Jb_One
Partager