How Is JXTA Different from Jini or .NET?
The promise of interconnecting any type of device over any type of network might sound familiar to followers of Sun's Jini technology. Although there are some similar goals, Jini relies exclusively on the Java platform for its functionality, whereas JXTA has no dependence on a particular programming language. Unlike JXTA, Jini uses a centralized server to locate services on the network and relies on Remote Method Invocation (RMI) and object serialization for communication with remote devices. JXTA relies on XML rather than object serialization to exchange structured data and discovers services across all peers on the P2P network.
The Web Services aspects of Microsoft's .NET platform are heavily infused with XML, but the use of XML alone doesn't make them comparable. Fundamentally, JXTA and .NET have completely different purposes, with .NET focusing more on the traditional client/server architecture of service delivery. Although .NET technology could form the foundation of a P2P application, creating a full P2P solution with .NET would require a lot of extra work on the part of the developer. Developing a P2P solution using .NET would require a developer to specify all the core P2P interactions, such as peer discovery. This solution would essentially involve re-creating all the mechanisms that are already defined by the JXTA protocols.