JXTA – A la conquête du P2P

On entend parler de JXTA de plus en plus sur Internet, la toute dernière API sortie des studios de Sun qui vous permet de réaliser enfin dignement vos réseaux peer to peer. En effet, JXTA est un projet open-source qui a pour objectif d’inter-connecter n’importe quel système avec n’importe quel langage sans se soucier du langage de programmation.

Explication

Concurrent direct du protocole Gnutella, JXTA se veut être ouvert vers n’importe quel langage. Il est donc possible de trouver sur le site de JXTA les librairies pour Java mais aussi pour le langage C, C++, C#. Libre à chaque développeur de développer sa propre implémentation pour son langage préféré.

Sun marque une fois de plus sa volonté de rendre les logiciels indépendants de la plate-forme utilisé. Rappelons-nous que Sun avait implémenté l’API RMI permettant aux applications de pouvoir communiquer avec des objets distants de la même manière qu’un objet local. L’API Corba s’était greffé à cette API afin de permettre aux applications de communiquer avec des applications développées avec d’autres langages. Corba a été un des ancêtres de cette magnifique technologie qu’on appelle Web Service.

Technique

Depuis très longtemps, l’architecture la plus connue a été celle classiquement du client/serveur. C’est-à-dire une communication questions/réponses. Le client envoi une requête au serveur qui lui retourne une réponse, à aucun moment, le serveur n’a la possibilité de contacter le client. C’est le client qui peut éventuellement envoyer une requête pour savoir si le serveur a quelque chose à lui dire (La technologie AJAX en est un bel exemple).

L’architecture du Peer To Peer(P2P) permet en revanche d’échapper à cette architecture en supprimant partiellement ou complètement le serveur. Les clients ont la possibilité d’échanger des informations entre eux. Le principal inconvénient de cette architecture, c’est que de nos jours, la plupart des utilisateurs lambda sont protégés par des pare-feu qui empêchent l’accès à l’application sur leur machine.

Pour lutter contre ce problème, il existe 2 solutions :

  • La première est de configurer le routeur et/ou le pare-feu pour laisser passer les informations et les rediriger vers la machine correspondante. L’inconvénient de cette solution, c’est que la plupart des utilisateurs n’ont pas toujours les connaissances nécessaires pour effectuer cette opération, ou dans le cas de réseau professionnel n’ont pas les droits nécessaires.
  • La deuxième repose sur des clients-relais qui vont permettre de transférer les informations. C’est dès lors au client de se connecter au client-relais pour récupérer les informations. Cette solution de client-relais a 2 intérêts : la première, c’est de permettre aux clients bloqués par des pare-feu de se connecter aux réseaux P2P, la deuxième c’est de permettre à 2 clients qui ne disposent par de connexion entre eux de passer par un client (appelé pair) accessible par les 2 clients. Cette solution de relais est extensible à l’infini

Réseau P2P – www.2dconcept.com/jxta.html

Le protocole JXTA implémente l’ensemble de ces concepts et résout la plupart de ces problèmes cités. Le développeur peut alors se concentrer sur le développement de son application sans se soucier des problèmes habituels de connexion réseau.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *