JXTA: Java P2P Programming
0-672-32366-4
Written by Daniel Brookshier, Darren Govoni, Navaneeth Krishnan, and Juan Carlos Soto
Introduction
1. What is P2P?
Defining Peer-To-Peer
Defining P2P
P2P Concepts
Applications for P2P
Key P2P Issues
Technologies Related to P2P
2. Overview of JXTA
JXTA Defined
JXTA Concepts
JXTA Protocols
Peers and Groups
Advertisements
Pipe Binding Protocol
Resolver
Rendezvous Protocol
JXTA Identifiers
3. JXTA Protocols
Protocol and API
JXTA Goals
JXTA Peer and Java
Overview of the JXTA Protocols 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
4. JXTA Shell
Why Shell?
Installation and Troubleshooting
Shell Commands
Using the Shell
Adding Shell Commands
5. JXTA ping Command
ping
Command Overview
Project Overview
Requirements
Design Approach
Implementation
Install
Test
Further Improvements to Ping
6. Working with Groups
Importance of Peer Groups
Importance of Peer Group Management
Types of Peer Group Management
Peer Membership Management
7. JXTA Content Manager Service (CMS)
An Overview
How CMS Works
A Simple CMS Example
Overall Design
Initializing the Content Manager
Searching for Content
8. JXTA and Security
Importance of Security
Security is Multifaceted
Security Attacks in P2P Networks
JXTA Platform Security
JXTA Security Requirements
The Cryptographic Toolkit
Security Issues and Solutions
Trust in P2P systems
P2P Security Models
9. Synchronizing Data Between Peers
Designing a PDA
Organizer for JXTA
Design Considerations
Group Security and Associations
Class Design
10. JXTA Chess: Game Programming
Running JXTA Chess
Overview of the Classes
11. JXTA Explorer
Designing an Advertisement Explorer
Design Overview
The Explorer Class
PeerDiscoveryThread Class
AdvertisementTreeCellRenderer Class
Running Explorer
Appendix A. The Project JXTA Community
Contributing to a Project
Submitting a New Project
JXTA.ORG Development Environment
jxta.org Projects
Details on Select Projects
Commercial Projects
Appendix B. XML Primer
XML Basics
Self-Describing
Strong Typing and Syntax Validation
Problems with XML
Index