Just like Remote Procedure Call (RPC) turned out to be a very effective OS abstraction in building client-server applications over LANs, Type-based Publish-SubTPS) can be viewed as a high-level candidate OS abstraction for building Peer-to-Peer (P2P) applications over WANs. This paper relates our preliminary, though positive, experience of implementing and using TPS over JXTA: an analogous to the sockets for P2P infrastructures. We show that, at least for P2P applications with the Java type model, TPS provides a high-level programming support that ensures type safety and encapsulation, without hampering the decoupled nature of these applications. Furthermore, the loss of flexibility (inherent to the use of any high level abstraction) and the performance overhead, are negligible with respect to the simplicity gained by using TPS.
Sébastien Baehni, Patrick Th. Eugster, Rach