1 Introduction
Various programming models have been proposed in the past for building distributed systems. Among these some of the popular ones included CORBA, DCOM, and Java RMI etc. While DCOM and RMI lacked interoperability, CORBA was considered a heavyweight platform. Moreover, synchronous Remote Procedure Calls (RPC) was the predominant style of communication provided by them.