JXTA

from Wikipedia, the free encyclopedia
The JXTA P2P software architecture

JXTA is a project for the standardization of peer-to-peer applications through freely accessible protocols and reference libraries for the programming languages Java , C and other languages published under an open source license . The JXTA project website defines JXTA as a protocol that neglects the great role of reference libraries and applications. The JXTA protocols are actually the core of the project, as they can be used most widely regardless of the programming language, operating system and underlying transport protocol such as TCP / IP or Bluetooth . JXTA offers the possibility to discover further participants (discovery), to overcome firewall and NAT (NAT-traversal), as well as to develop own services for peer-to-peer networks.

The JXTA project was initiated in 2001 by Sun Microsystems under the direction of Bill Joy and Mike Clary and has been developed by a large industrial and academic community. The name JXTA is derived from the English 'juxtapose', which means something like "side by side" and alludes to the fact that the newer P2P architecture and the older client / server architecture should exist "side by side". The sources for JXTA were published under Sun's proprietary license based on the Apache Software License Version 1.1 . Sun Microsystems had a great influence on the JXTA project, as Sun Microsystems always provided one of the three board members and also led the most active developers in the project on an employee basis.

Two JXTA board members are elected annually by the community. The aim of the JXTA board is to specify strategic directions for the project. For example, the aim of the project is to get the protocols recognized as the Internet standard by the Internet Engineering Task Force (IETF). For this purpose, the scalability , security and interoperability of JXTA will be shown on the basis of prototypical networks .

In 2010, Sun Microsystems left the project. It is no longer actively developed. Integration into the Apache project failed.

A special Java reference library (JXME) is provided for the mobile market, which uses the Java 2 Micro Edition (J2ME). There are currently three different versions:

  • Proxy-based based on CLDC / MIDP2.0.
  • Proxyless based on CDC1.1.
  • Proxyless based on CLDC / MIDP2.0.

terminology

  • Anything that implements at least the JXTA core can be called a peer . These can be PDAs , cell phones or servers , for example . Each peer receives a globally unique ID.
  • A peer group is a set of peers who organize themselves into a group in order to do work for the group together. Peer groups are also identified by a unique ID in a JXTA network.
  • Messages in JXTA are objects that can be sent between peers. XML is usually used as the format , but a binary format is also possible.
  • A pipe is a communication channel to send or receive messages.
  • An advertisement is an XML-structured document that names and describes all JXTA resources and announces their existence. Resources are peers, peer groups, pipes or services.
  • A service is a service that can be provided by any peer or peer group.

Core protocols

Peer Resolver Protocol
allows peers to send and receive generic requests.
Endpoint Routing Protocol
defines a series of messages that make it possible to set up a route from a source peer to a destination peer.

Standard protocols

optional, but still recommended to implement these:

Peer Discovery Protocol
is used to find peers, peer groups, pipes or services.
Peer Information Protocol
offers the possibility of querying information about other peers.
Pipe binding protocol
has the function of binding a virtual communication channel (pipe) to a channel endpoint (endpoint).
Rendezvous Protocol
is used to establish connections to rendezvous peers in order to be able to send messages within a peer group at all.

architecture

JXTA is based on a three-tier architecture:

  • JXTA Core, common P2P protocols and security
  • JXTA Services, higher level services (developed by Sun and the community), are based on the core. Offer services that are not required in all P2P applications, such as file sharing, indexing or searching.
  • JXTA applications, high level applications that use JXTA or the services; There are also services here, such as B. P2P instant messaging or P2P e-mail - the differentiation between services and applications is becoming blurred.

Rendezvous super-peer network

With JXTA, the rendezvous peers form a network with each other, in which advertisements are exchanged and advertisements can be searched for. This increases the scalability of JXTA significantly.

literature

Web links

Individual evidence

  1. JXSE: Wiki: LatestNews - Project Kenai. (No longer available online.) In: kenai.com. Archived from the original on August 23, 2016 ; accessed on August 23, 2016 . Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / kenai.com