Development system providing extensible remoting architecture
First Claim
1. An improved method for a client to make a remote method call on a service, the method comprising:
- obtaining an interface definition of a particular service available to remote clients, said interface definition including runtime type information;
casting a generic interface class to said particular service for dynamically generating a proxy at runtime for making a remote method call on said particular service; and
when a call is made by a client on said particular service, said proxy automatically making a remote method call on said particular service by performing the substeps of;
converting said call made by said client into a converted call in a wire format specified in said interface definition; and
sending said converted call to said particular service using a method of transport specified in said interface definition.
8 Assignments
0 Petitions
Accused Products
Abstract
A system providing improved methods for remote method invocation of a service is described. The system includes methodology for a client to cast, at design time, a generic interface class to a remote service having a defined interface. The generic interface class dynamically generates a proxy for making a remote method call on the remote service at runtime, while also providing for runtime type checking. Moreover, the generic interface class is subclassed to provide support for particular wire formats and methods of transport. The dynamically generated proxy converts a remote method call by the client into a wire format specified in the remote service'"'"'s interface definition and calls the remote service using the method of transport specified in the interface definition. The system also includes methods to support making a service available to remote clients. The system includes modules that listen for remote method calls on a service and deserialize these calls into native format. This enables the service to be invoked by a native call in native format. The method includes reserializing results of the native call and returning these results in response to the remote method call.
182 Citations
59 Claims
-
1. An improved method for a client to make a remote method call on a service, the method comprising:
-
obtaining an interface definition of a particular service available to remote clients, said interface definition including runtime type information;
casting a generic interface class to said particular service for dynamically generating a proxy at runtime for making a remote method call on said particular service; and
when a call is made by a client on said particular service, said proxy automatically making a remote method call on said particular service by performing the substeps of;
converting said call made by said client into a converted call in a wire format specified in said interface definition; and
sending said converted call to said particular service using a method of transport specified in said interface definition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An improved method for making a service available to remote clients, the method comprising:
-
creating an interface definition for a particular service, said interface definition including runtime type information;
implementing said interface definition as part of said particular service;
in response to a request received from a remote client on said particular service, automatically converting said request into a native call on said particular service; and
converting return values resulting from said native call on said particular service into a format appropriate for return to said remote client and sending said return values to said remote client. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for making a service available to remote clients, said system comprising:
-
an interface definition for a particular service to be made available to remote clients;
a dispatcher module for listening for remote method invocations on said particular service, receiving said remote method invocations in a predetermined wire and transport format, deserializing said remote method invocations into native format, reserializing returned result values from native format into said predetermined wire and transport format, and returning said reserialized return values; and
an invoker module for making a native call on said particular service and returning result values from said native call. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A method for making a service available to remote clients, said method comprising:
-
developing an interface definition to a service to be made available to remote clients;
implementing said interface definition to create an implemented interface to said service, said implemented interface listening for requests on said service;
in response to receipt of a remote method call said service, deserializing said remote method call into native format;
invoking said service by making a native call on said service in native format; and
reserializing results of said native call on said service and returning said reserialized results in response to said remote method call. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50)
-
-
51. A system enabling a client to invoke a remote service, the system comprising:
-
a generic interface class providing client-side support for invocation of a remote service having an available interface definition;
an interface object dynamically generated from said generic interface class at runtime which communicates with said remote service; and
a serialization interface which serializes data into a particular wire protocol for invocation of said remote service and deserializes return values received from said remote service. - View Dependent Claims (52, 53, 54, 55, 56, 57, 58, 59)
-
Specification