JXTA
JXTA

JXTA (pour juxtapose) est une plate-forme de développement d'applications P2P (peer-to-peer ou poste-à-poste) initié à l'origine par Sun Microsystems.
Défini par une série de protocoles légers conçus pour gérer n'importe quelle application P2P, JXTA est compatible avec l'ensemble des plates-formes informatiques.
Programmé initialement en Java, et gérant les transferts de données en XML, JXTA est capable de tourner sur n'importe quel OS, et donc sur n'importe quelle machine dotée d'un minimum de capacité de traitement, du PC de bureau au téléphone mobile.


NetSend

Cet article présente l'application NetSend qui est une application JXTA permettant, tout comme la commande NET SEND de Windows NT, d'où elle tire son nom, d'envoyer des messages vers une machine du réseau.
Une fois l'application démarrée, une boîte de dialogue permet à l'utilisateur d'envoyer un message personnel, en utilisant la syntaxe " <Nom de machine> <Message> ", à une autre machine du réseau qui exécute NetSend. Le message apparaît alors instantanément dans une fenêtre modale sur la machine distante, avec le nom du pair à l'origine du message.
Les sources de cette application, NetSendApp.java et NetSend.java, sont disponibles dans la rubrique Ressources à la fin de l'article.


Environnement de développement

L'environnement de développement de NetSend est le suivant :

- OS : Windows 2000 Professionnel
- JDK : 1.4
- JXTA : JXTA build 49b, 08-02-2002
- EDI : Forte for Java v. 3.0

Nous avons défini la variable d'environnement système JXTA_HOME, en accédant aux propriétés système de Windows 2000, avec pour valeur, le chemin contenant les binaires de JXTA. Cette variable sera utilisée dans les fichiers de commande permettant de démarrer l'application NetSend.
Dans le prohet de l'EDI Forte for Java, il est nécessaire d'ajouter jxta.jar dans les fichiers systèmes pour pouvoir compiler les sources de NetSend.


Exécution de NetSend

Voici la commande qui permet d'exécuter NetSend :

java -classpath "%JXTA_HOME%\jxta.jar";"%JXTA_HOME%\log4j.jar";"%JXTA_HOME%\jxtasecurity.jar";"%JXTA_HOME%\jxtaptls.jar";"%JXTA_HOME%\cryptix32.jar";"%JXTA_HOME%\cryptix-asn1.jar" NetSend


Conception de NetSend

NetSend peut servir d'exemple quand à la manière de démarrer une application sur la plate-forme JXTA qui s'accompagne de la publication des trois annonces liées à celle-ci, et de la création d'un groupe.
En effet, un pair déclare les ressources disponibles sur le réseau par des annonces prenant la forme de documents XML ; ces ressources peuvent ainsi être découvertes et utilisées par les autres pairs.
Les pairs qui démarrent NetSend rejoignent un groupe particulier et publient chacun une annonce de " Pipe ", sorte de canal de communication, qu'un autre pair peut utiliser afin d'y envoyer un message.

L'annonce du Pipe possède un identificateur unique et il faut prendre en compte le mécanisme de mise en cache des annonces découvertes. C'est pourquoi, à la première exécution, NetSend sauvegarde l'annonce du Pipe créé dans un fichier nommé PipeAdv.xml, afin de le réutiliser pour les exécutions suivantes et de garder ainsi le même identificateur.


Ressources

http://www.jxta.org
http://platform.jxta.org
Téléchargement la plate-forme JXTA avec des programmes de démonstration :
http://download.jxta.org/easyinstall/install.html

Livres :
JXTA : Java P2P Programming (D. Brookshier, ...)
JXTA (B. Wilson)
http://www.brendonwilson.com/projects/jxta

Les fichiers sources de NetSend

Sommaire

JXTA
NetSend
Environnement de développement
Exécution de NetSend
Conception de NetSend
Ressources

Début

Copyright © 2003 OBJECT-EVERYWHERE. Tous droits réservés | Bertrand Goetzmann