- Protocol and API
- JXTA Goals
- JXTA Peer and Java
- Overview of the JXTA Protocols JAVA API
- Summary of Java API for JXTA Protocols
- Where JXTA Applications Begin
- The Peer
- Starting JXTA
- Peer Discovery Protocol API
- Peer Resolver Protocol API
- Peer Information Protocol
- Peer Membership Protocol
- Pipe Binding Protocol API
- Peer Endpoint Protocol
The goal of JXTA is not to have Java everywhere, but peer-to-peer networking everywhere. The Java implementation of JXTA should be completely compatible with any other version, whether written in C, Pearl, or other popular language.
JXTA goals also include corporate and ISP acceptance. To that end, the platform can be configured to provide basic services that can be placed on a dedicated computer. The services can be controlled by the ISP or corporate network administrators, similar to how routers, firewalls, and proxy servers are used today.
Another goal of JXTA is to create a platform rather than an application. The JXTA platform aims to be application agnostic with services provided that can support a hopefully unlimited number of application types.
Finally, JXTA needs to be fast. Speed is a bit harder goal to master, especially for JXTA. Because JXTA is a platform, it is attempting to be all things to all applications. Because of this, the protocols are written with a general use in mind. Speed and efficiency can be measured via tests, but only use by applications will show how good the design is. P2P networking may seem simple, but the reality is that even the simplest system can have very complex behavior. JXTA has attempted to create a fast and efficient system by caching results, modularizing services, and allowing for specific helper services, such as routers.
Another goal that is related to the JXTA platform is to test the JXTA protocol. The platform is a test bed to refine the protocols and ensure that peers can interoperated both between peers based on the Java platform and other languages.
Finally, an important goal is to allow other developers to create applications on the platform. JXTA requires applications to succeed. Like Java, the platform is free to use as long as the open-source license is followed.
Now that we have a few goals, let's look at how the platform is designed. Note that you will not see everything we talked about in Chapter 2, "Overview of JXTA." We are at a higher level where applications can interact with JXTA services.
Unlike the JXTA protocol specification, this chapter will focus on the Java implementation of the protocols. You should refer to the JXTA protocol specification and Chapter 2, "Overview of JXTA," for a more generic discussion.