"Jini and Jxta started from different premises. Jini started with the premise that both ends have JVMs (1.3 and upward). So if you depend on both ends having JVMs, there are lots of things you could do. On the other hand, you are also constrained. Of course the surrogate architecture will help Jini to interface with devices that are not fully Jini-compliant. Jxta started with a much lower premise. The only assumption [Jxta makes is that] there's something that implements the protocol. This gives a wider field to play in... [Jini and Jxta] are different but complementary in the sense that it's very easy to imagine Jini being used to provide directories for Jxta networks. People who have Jini and have Java can do more ... you get a maximum return if Java is on both ends; there's no doubt about it."