JXTA

Die JXTA P2P-Softwarearchitektur

JXTA ist ein Projekt zur Standardisierung von Peer-to-Peer-Anwendungen durch frei zugängliche Protokolle und unter einer Open-Source-Lizenz veröffentlichte Referenzbibliotheken für die Programmiersprachen Java, C und weitere Sprachen. Die JXTA-Projektwebsite definiert JXTA als ein Protokoll, welches die große Rolle der Referenzbibliotheken und Anwendungen vernachlässigt. Die JXTA-Protokolle sind tatsächlich Kern des Projektes, da sie unabhängig von Programmiersprache, Betriebssystem und darunterliegendem Transportprotokoll wie beispielsweise TCP/IP oder Bluetooth die breiteste Anwendbarkeit finden können. JXTA bietet die Möglichkeit, weitere Teilnehmer zu entdecken (discovery), Firewall und NAT zu überwinden (NAT-traversal), sowie auch eigene Dienste für Peer-To-Peer Netze zu entwickeln.

Das Projekt JXTA wurde 2001 durch Sun Microsystems unter der Leitung von Bill Joy und Mike Clary ins Leben gerufen und ist durch eine große industrielle und akademische Gemeinschaft weiterentwickelt worden. Der Name JXTA leitet sich aus dem englischen 'juxtapose' ab, was so viel bedeutet wie „Nebeneinanderstellung“ und spielt darauf an, dass die neuere P2P-Architektur und die ältere Client/Server-Architektur "nebeneinander" existieren sollen. Die Quellen zu JXTA wurden unter einer Sun-eigenen Lizenz veröffentlicht, die auf der Apache Software License Version 1.1 basiert. Sun Microsystems hatte großen Einfluss auf das JXTA Projekt, da Sun Microsystems stets eines der drei Vorstandsmitglieder stellte und auch die aktivsten Entwickler im Projekt im Angestelltenverhältnis führte.

Zwei JXTA-Vorstandsmitglieder werden jährlich von der Community gewählt. Ziel des JXTA-Vorstandes ist es strategische Ausrichtungen am Projekt vorzugeben. Zum Beispiel ist es Ziel des Projektes, die Protokolle durch das Internet Engineering Task Force (IETF) als Internet Standard anerkannt zu bekommen. Dazu soll anhand von prototypischen Netzwerken die Skalierbarkeit, Sicherheit und Interoperabilität von JXTA gezeigt werden.

Im Jahr 2010 stieg Sun Microsystems aus dem Projekt aus. Es wird nicht mehr aktiv weiterentwickelt. Eine Eingliederung in das Apache-Projekt schlug fehl.

Für den Mobil-Markt wird eine besondere Java Referenzbibliothek (JXME) bereitgestellt, die die Java 2 Micro Edition (J2ME) verwendet. Derzeit gibt es drei verschiedene Versionen:

Terminologie

Core Protokolle

Peer Resolver Protocol
erlaubt es Peers, generische Anfragen zu verschicken und zu empfangen.
Endpoint Routing Protocol
definiert eine Reihe von Nachrichten, die es möglich machen, eine Route von einem Quell-Peer zu einem Ziel-Peer aufzubauen.

Standard Protokolle

optional, aber trotzdem empfohlen diese zu Implementieren:

Peer Discovery Protocol
wird verwendet, um Peers, Peer Groups, Pipes oder Services aufzufinden.
Peer Information Protocol
bietet die Möglichkeit, Informationen über andere Peers abzufragen.
Pipe Binding Protocol
hat die Funktion, einen virtuellen Kommunikationskanal (pipe) an einen Kanalendpunkt (endpoint) zu binden.
Rendezvous Protocol
wird verwendet, um Verbindungen zu Rendezvous Peers aufzubauen, um dadurch Messages innerhalb einer Peer Group überhaupt versenden zu können.

Architektur

JXTA basiert auf einer Architektur mit drei Schichten:

Rendezvous Super-Peer Network

Bei JXTA bilden die Rendezvous-Peers ein Netzwerk untereinander, in dem Advertisements ausgetauscht werden und nach Advertisements gesucht werden kann. Dadurch wächst die Skalierbarkeit von JXTA stark.

Literatur

Einzelnachweise

  1. ↑ JXSE: Wiki: LatestNews — Project Kenai. In: kenai.com. Archiviert vom Original (nicht mehr online verfügbar) am 23. August 2016; abgerufen am 23. August 2016.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.