JXTA Network Module
UPDATE: New version (1.3) of the JXTA Network Module is now available for download
Sun's JXTA is a sophisticated API to assist in the development of (currently) Java based P2P applications. However, although its' many features make it one of the more powerful P2P development platforms currently available, they also make it quite complicated to use. In order to use JXTA fully a programmer needs to first understand its fundamentals which can be quite complex and low level.
The JXTA Network Module that has been developed, adds a layer between JXTA and
the P2P application that reduces the amount the programmer needs to understand
and also hides much of the complexity. In this way the programmer can focus
their attention on developing the actual P2P application and let the JXTA Network
Module worry about the actual low level P2P connection issues.

The JXTA Network Module presented here is designed to be used with the development of semi-centralised P2P applications - those that possess one or more 'server' nodes within the P2P network. Whilst developing the module it became apparent that JXTA is geared more towards decentralised P2P systems than semi-centralised. JXTA relies on propogating messages and adverts through a network, and in most semi-centralised systems this is not needed (the peers can communicate to one another directly). However, the use of the decentralised techniques can not be avoided in JXTA, even if they aren't actually necessary for the actual application.
The JXTA Network Module and documentation can be freely downloaded from this site.
Features of Network Module
The initial version of the JXTA Network Module has been designed to be used with the development of semi-centralised P2P applications. A decentralised version of the module may be produced at a later date.
The JXTA Network Module (version 1.3) currently provides the programmer with the following facilities:
Red signifies new features that were added for the latest release.
As well as these features since the last release some small bugs have been fixed, as well as improvements to the overall reliability and performance of the JXTA Network Module.
Possible future additions to the JXTA Network Module:
The JXTA Network Module is an ongoing development and although can not be guaranteed to be 100% reliable, it has been used in applications such as our IHD application.