A distributed computing environment is described that provides an improved
method for invocation of methods between remote objects. In one
embodiment, the improved method comprises steps of: creating a first
object having methods that may be invoked by other objects; defining a
forward invocation interface for the first object, which allows the
methods of the first object to be called in a forward direction; defining
a callback method on the first object, for invocation of a method of the
first object in a reverse direction; creating a callback handler for
handling invocations of the callback method; receiving a callback
invocation of the callback method by a callback caller; creating a local
reflective target for each received callback; delegating the callback
invocation on the callback handler with reference to the local reflective
target as an input parameter; and at the first object, making a forward
call on the local reflective target.