Java Overview of JXTA

Overview of JXTA


This material is from Chapter 2, Overview of JXTA, from the book JXTA: Java P2P Programming (ISBN: 0-672-32366-4) written by Daniel Brookshier, Darren Govoni, Navaneeth Krishnan, and Juan Carlos Soto, published by Sams Publishing.


In This Chapter

  • JXTA Defines
  • JXTAConcepts
  • Peer and Groups
  • Advertisements
  • Pipe Bending Protocols
  • Rendezvous Protocol
  • JXTA Identifiers
  • Summary

By Daniel Brookshier

Now we look at key JXTA concepts and the protocols used. In this chapter, we
will reiterate aspects of that protocol from the author's point of view and
in less formal language to ease you slowly into JXTA concepts. The JXTA protocol
specification is a formal document that describes a standard for JXTA peers and
their behavior. The goal of this chapter is to acquaint you with the concepts in
preparation for Chapter 3, "JXTA Protocols," where we will begin
covering Java API.

JXTA Defined

The following a quote is from the introduction of the JXTA protocol
specification:

The JXTA protocols are a set of six protocols that have been specifically
designed for ad hoc, pervasive, and multi-hop peer-to-peer (P2P) network
computing. Using the JXTA protocols, peers can cooperate to form self-organized
and self-configured peer groups independently of their positions in the network
(edges, firewalls), and without the need of a centralized management
infrastructure.

What this all means is that JXTA is a framework with a set of standards that
support peer-to-peer applications. JXTA is not an application, and it does not
define the type of applications you write. The protocols defined in the standard
are also not rigidly defined, so their functionality can be extended to meet
specific needs.

JXTA is made up of three distinct layers. The first is the platform. The
platform contains core functionality used by services, which are the second
layer. Services provide access to the JXTA protocols. Finally, there are
applications that use services to access the JXTA network and utilities. This
arrangement should be familiar because it is identical to a standard operating
system, where there are three layers consisting of the core operating system,
services, and applications.

JXTA adds several new concepts, such as the peer, peer group, pipe, and
endpoints. JXTA uses a new concept in peer-to-peer communication and discovery
with advertisements, which are XML documents that describe services and
information available on the JXTA network. Finally, we have various types of
identifiers used to distinguish one item or service from another.

Goals of JXTA

To begin, let's start with the goals of JXTA. The goals of JXTA are very
simple:

  • Operating system independence

  • Language independence

  • Providing services and infrastructure for P2P applications

In essence, the goals of JXTA are to support peer-to-peer programming on any
device from a desktop computer to a PDA to a car or washing machine.

Latest Posts

Related Stories