Sun Microsystems will einheitliche Infrastrukur definieren

Jxta soll Standard für Peer-to-Peer werden

18.05.2001
MÜNCHEN (ws) - Angesichts laufend neuer Peer-to-Peer-Anwendungen möchte Sun mit "Jxta" eine einheitliche technische Grundlage für derartige Programme schaffen. Es definiert mehrere Protokolle sowie Kommunikationsmechanismen. Kritiker bezweifeln, ob die anarchische P-to-P-Szene einen solchen übergreifenden Standard braucht.

Den in letzter Zeit geradezu wuchernden P-to-P-Applikationen (siehe dazu das P2P Directory von O´Reilly, http://www.oreillynet.com/pub/q/p2p_category) ist gemeinsam, dass sie vorwiegend auf wenige Funktionen beschränkt sind. Dazu zählen File Sharing (etwa Napster oder Gnutella), Instant Messaging (beispielsweise Jabber), Collaboration (unter anderem Groove Networks) oder die Nutzung verteilter Rechenleistung (Seti@home). Dennoch muss jede von ihnen alle dafür typischen P-to-P-Basisdienste selbst implementieren. Das sind etwa Mechanismen zum Auffinden anderer Rechner oder Benutzergruppen sowie solche für den Transport der Daten oder ihrer Verschlüsselung.

Module als MittelwegJxta versucht einen gemeinsamen Nenner für solche P-to-P-Anforderungen zu finden. Angesichts der Spezialisierung der meisten Programme auf wenige Funktionen gilt es, eine solche Plattform nicht mit Features zu überfrachten, aber andererseits so viel zu bieten, dass sich ihre Nutzung für Entwickler lohnt. Um dieser Anforderung entgegen zu kommen, ist Jxta modular aufgebaut. Auf der untersten Ebene definiert es den so genannten Technology Layer, der im Wesentlichen Dienste für den Beitritt von Peers zu Gruppen umfasst, Mechanismen zur Kommunikation bereitstellt ("Peer Pipes") und Authentifizierung leistet ("Peer Monitoring"). Darauf setzt eine Service-Schicht auf, die funktionsreichere Bausteine für die Anwendungsentwicklung beherbergt. Dabei könnte es sich etwa um Komponenten für den Online-Chat handeln. Erst darauf würden Programme wie Napster oder Groove aufsetzen, freilich befreit von ihren eigenen Infrastrukturfunktionen.

Im Gegensatz zu schon lange existierenden Anwendungen für altbekannte P-to-P-Funktionen (beispielsweise "talk" für Instant Messaging unter Unix oder "Timbuktu" für P-to-P-Collaboration) setzt Jxta wie viele der neuen Programme auf Internet-Technologien. Dazu zählt etwa der Datentransport via HTTP-Tunneling, um Schwierigkeiten mit Firewalls zu vermeiden.

Protokolle XML-basiertBesonders auffällig jedoch ist die durchgängige Verwendung von XML-basierten Protokollen. Jxta definiert davon gleich sechs Stück, deren Funktion von der Entdeckung anderer Teilnehmer über das Beitreten und Verlassen von Gruppen bis zum Abfragen von Routing-Informationen reicht (eine genauere Beschreibung findet sich unter http://platform.jxta.org/spec/v1.0/jxtaProtocols.html).

Wie schon bei Java handelt es sich bei Jxta primär um eine Spezifikation, die andere Hersteller selbständig umsetzen können und für die Sun eine Referenzimplementierung liefert. Während die Unix-Company bei Java mit dem JDK eine beispielhafte Realiserung vorgibt, besteht diese bei Jxta bisher in einer Java-Ausführung der Basisdienste, eines Kommandozeilen-Programms ("jxta shell") zum Aufruf der Jxta-Basisfunktionen und diverser, von Unix her bekannter Dienste wie "grep", "man" oder "who".

Das Angebot vervollständigt eine experimentelle P-to-P-Software namens "InstantP2P" (alle Programme können von http://www.jxta.org heruntergeladen werden). Trotz der bis dato nur in Java existierenden Umsetzung von Jxta macht die Spezifikation laut Sun keinerlei Festlegungen auf eine Sprache oder eine bestimmte Hardware. Vielmehr erwartet Bill Joy, der federführend an der Entwicklung von Jxta beteiligt war, dass Implementierungen in C++, Perl oder gar Microsofts C# entstehen werden. Derartige Beiträge sollen besonders dem von Sun eingerichteten Open-Source-Projekt "jxta.org" entspringen. Um freien Entwicklern einen Anreiz zur Teilnahme zu bieten, stellte der Unix-Anbieter Jxta unter die liberale Apache-Lizenz.

Damit reagiert die Company nicht nur auf Kritik an den restriktiven Bedingungen der Java-Nutzung, sondern erhofft sich auch eine entsprechende Verbreitung der Technologie bei den Entwicklern von P-to-P-Applikationen. Kritiker bezweifeln nämlich den Nutzen einer übergreifenden Plattform für derartige Software.

Als ein zentraler Einwand gilt dabei, dass sich aufgrund des spezifischen Charakters solcher Anwendungen allgemeine Dienste kaum definieren lassen. Ihre jeweilige Funktionalität spiegele sich primär in den verwendeten Protokollen wider (siehe dazu http://www.openp2p.com/lpt/a/816). Hinzu komme, dass bestimmte Design-Entscheidungen von Jxta nur für kleinere Gruppen ausgelegt seien. So finden sich die beteiligten Peers gegenseitig ohne einen vermittelnden Server über Broadcasting - die als "Rendezvous" konfigurierten Rechner übernehmen nur die Zwischenspeicherung von Gruppen- und Peer-Informationen.

Kritik am Nutzen

Eine solche Architektur funktioniert nicht ohne weiteres mit tausenden von Usern, wie sie bei großen Instant-Messaging-Diensten anzutreffen sind. Zudem bleibt ein erwarteter Nutzen gemeinsamer Grundfunktionen aus: Anwendungen, die darauf aufbauen, sind nicht ohne weiteres zueinander kompatibel. Ihre Anwender können sich zwar gegenseitig lokalisieren, aufgrund der programmspezifischen Versuche zur Kommunikation ist eine Interoperatibilität nicht gewährleistet.

Hinsichtlich der Akzeptanz eines Standards stimmt nicht zuletzt der anarchische Charakter von Communities skeptisch, die sich um bestimmte P-to-P-Anwendungen scharen. Die oft spontan entstehenden Anwendungen folgen nicht den Anliegen von professionellen Anwendern in puncto sauberer Architektur, sondern dienen häufig dem Austausch zweifelhafter Inhalte (siehe dazu "What´s on Freenet?", http://www.openp2p.com/lpt/a/462).