JXTA

JXTA is a project for the standardization of peer-to -peer applications through open-access protocols and under an open source license published reference libraries for the programming languages ​​Java, C and other languages. The JXTA JXTA project site defined as a protocol, which neglects the important role of the reference libraries and applications. The JXTA protocols are actually the core of the project, since they can find the widest applicability, regardless of programming language, operating system and underlying transport protocol such as TCP / IP or Bluetooth. JXTA offers the opportunity to discover more participants ( discovery ), firewall and NAT overcome ( NAT traversal ), as well as their own services for peer -to-peer networks to develop.

The JXTA project was initiated in 2001 by Sun Microsystems under the direction of Bill Joy and Mike Clary in life and now being further developed by a large industrial and academic community. The name JXTA is derived from the English word ' juxtapose ' from, which means something like " juxtaposition " and alludes to that the newer P2P architecture and the older client / server architecture to " side by side " exist. The sources for JXTA were released under a Sun - own license, which is based on the Apache Software License version 1.1. Sun Microsystems still retains great influence on the JXTA project, because Sun Microsystems always one of the three board members and is also the most active developer results in the project as an employee.

Two JXTA Board members are elected annually by the community. The aim of the JXTA Board is to give the strategic orientations of the project. For example, the goal of the project to obtain the protocols by the Internet Engineering Task Force ( IETF) recognized as an Internet standard. These will be shown on the basis of prototypical networks, scalability, security and interoperability of JXTA.

For the mobile market a particular Java Reference Library ( JXME ) is provided that the Java 2 Micro Edition (J2ME ) is used. Currently, there are three different versions:

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

Terminology

  • Peer can be called everything implements at least the JXTA Core. This can be, for example PDAs, mobile phones or server. Each peer receives a globally unique ID.
  • A peer group is a set of peers that organize themselves into a group to work together to do work for the group. Peer groups are also identified by a unique ID in a JXTA network.
  • Messages in JXTA are objects that can be sent between peers. As XML format is usually used, but also a binary format is possible.
  • A pipe is to send a communication channel for messages or receive messages.
  • An Advertisement is an XML structured document that names all the JXTA resources, describes and whose existence is known. Resources are peers, peer groups, pipes, or services.
  • A service is a service that can be provided by each peer or a peer group.

Core protocols

Standard protocols

Optional, but still recommended to implement this:

Architecture

JXTA is based on an architecture with three layers:

  • JXTA core, common P2P protocols and security
  • JXTA Services, higherlevel ( developed by Sun and the community ) services, based on the core. Provide services that are not needed in all P2P applications, such as file sharing, Indexing or Searching.
  • JXTA applications, high-level application, the JXTA or use the Services; There are also services such as P2P instant messaging or P2P E -mail - the differentiation between services and applications blur.

Rendezvous super -peer network

In the JXTA rendezvous peers form a network among themselves, to be replaced in the advertisements and you can search for advertisements. Thus, the scalability of JXTA is growing strongly.

de