Welcome to the JXTA Platform Project !

News: June 20, 2001 - JXTA Protocols Specification Project Announced!

Project Overview

JXTA: It's All about Protocols

JXTA Protocols Documentation

JXTA Tutorial (Under Construction)

JXTA Binding Projects

Project JXTA Connection Scenarios Graphics
(Contributed by Jeff Schneider)

Project JXTA: Discovery Animation
(Contributed by Chris Genly)

Project JXTA: Setting the P2P Tone
(Contributed by Chris Genly)

Project Overview

The Platform project hosts the different platform binding implementations of the JXTA protocols. Currently two platform bindings are under development (Java and C/C++). We expect new bindings to be developped for Python, Perl, etc. We encourage community members to start a new project or participate to an existing project by becoming a developer or contributor. To become a project owner or a project contributor see (JXTA Project Governance rules).

The JXTA platform is an open network computing platform designed for peer-to-peer (P2P) computing. The JXTA platform standardizes the manner in which peers:


JXTA: It's All about Protocols

The JXTA platform is defined by the following six protocols. A peer does not need to implement all protocols, just the protocols that it needs.

Each protocol is easy to implement and integrate into P2P services and applications. Thus service offerings from one vendor can be used transparently by the user community of another vendor's system.

JXTA is defined to be independent of programming languages, so that it can be implemented in C/C++, Java, Perl, and numerous other languages. The protocol is specified as a set of XML messages.This means heterogeneous devices with completely different software stacks can interoperate with the JXTA protocols.

JXTA is designed to be independent of transport protocols. It can be implemented on top of TCP/IP, HTTP, Bluetooth, HomePNA, and many other protocols. This means that a system built on top of JXTA, functions in the same fashion when the system is expanded to a new networking environment or to a new class of devices, as long as there is a correct transport protocol handler for the new networking protocol. The protocols defined in this document can be realized over the Internet, a corporate intranet, a dynamic proximity network, in a home networking environment, or even within a single computer.

The JXTA platform enables application developers to build and deploy interoperable P2P services and and applications across the Internet. The JXTA protocols guarantee interoperability between compliant software components (executing on potentially heterogeneous peer runtimes). Thus JXTA is agnostic to programming languages.

The term compliant refers to a single protocol only. That is some peers may not implement all the JXTA protocols. Furthermore, some peers may only implement a portion (client-side or server-side only) of a protocol.

The size and complexity of the network peers supporting these protocols can range from a simple light switch to a complex, highly-available server.


JXTA Protocols Documentation

The JXTA Protocols are specified by the JXTA Protocols Specification Project. Currently the primary reference document is the JXTA Protocols Specification 1.0 This document does not yet fully formalize all of the protocols and is under construction. The JXTA Protocols Specification Project is charged with producing a formal and complete specification for the JXTA protocols. People interested in contributing to the effort should volunter by sending a message to the discuss@jxta.org mailing list.


JXTA Binding Projects

When the JXTA protocols are implemented using a particular programming language or a particular transport protocol, the implementation is an instance of a JXTA Binding. In order to guarantee interoperability it is essential that each transport or programming language implementation be compatible with other implementations. Each Binding project provides a specification that allows compatible implementations to be created. For programming language bindings this is the API. For transport bindings, this is a protocol specification. See the JXTA Protocols Spec Project for information about the transport bindings.