Patent ID: 6959307

Claim:
A process for invoking a method of a server object in a distributed application in a distributed data processing system, the process comprising the computer-implemented steps of: executing a client object in a client that implements a first programming environment, said client object being written for said first programming environment; executing a server object in a server that implements a second programming environment that is different from said first programming environment, said server object being written for said first programming environment; executing said client object which begins an attempt to invoke a method in the server object; in response to the client object beginning the attempt to invoke the method in the server object; obtaining an object reference on the client for said second programming environment; wrapping the object reference in an adapter which isolates the object reference from said client object, and the adapter performing data conversion between the object reference and the client object for different types of data, wherein the step of performing data conversion between the object reference and the client object for different types of data comprises: responsive to receiving a method called by the client object, parsing the method for an argument; performing data conversion on the argument if necessary; determining if the argument is wrapped by an adapter; if the argument is wrapped by an adapter, unwrapping the adapter from the argument to retrieve an object reference of the argument, wherein to object reference of the argument provides a reference to a server object in the second programming environment representing the argument; delegating the method called by the client object to the object reference of the argument; responsive to detecting a return value, determining if the return value is an object reference for the second programming environment; if the return value is an object reference for the second programming environment, wrapping the object reference with a suitable adapter based on a type of the object reference; and returning the wrapped object reference to the client object.