IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0066090
(2002-01-30)
|
발명자
/ 주소 |
- Nadler,Richard L.
- Jazdzewski,Charles P.
|
출원인 / 주소 |
- Borland Software Corporation
|
인용정보 |
피인용 횟수 :
65 인용 특허 :
21 |
초록
▼
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 ma
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. 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 supports making a service available to remote clients and includes modules for converting remote method calls on a service into native format.
대표청구항
▼
What is claimed is: 1. A computer-implemented 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
What is claimed is: 1. A computer-implemented 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 based on said generic interface class and said interface definition of said particular service 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; sending said converted call to said particular service using a method of transport specified in said interface definition; in response to receipt of said remote method call in said particular service, deserializing said remote method call into native format; invoking said particular service by making a native call on said particular service in native format; and reserializing results of said native call on said particular service and returning said reserialized results in response to said remote method call. 2. The method of claim 1, wherein said generic interface class is subclassed to provide support for particular wire formats. 3. The method of claim 1, wherein said generic interface class is subclassed to provide support for particular methods of transport. 4. The method of claim 1, wherein said generic interface class is used with a plurality of wire formats and method of transports. 5. The method of claim 1, wherein said step of casting a generic interface class includes casting a subclass of said generic interface class that supports a particular wire format and method of transport. 6. The method of claim 5, wherein said wire format is Simple Object Access Protocol (SOAP) and said method of transport is HyperText Transfer Protocol (HTTP). 7. The method of claim 1, wherein said substep of converting said call includes serializing said call into a particular wire format. 8. The method of claim 7, wherein said particular wire format includes Simple Object Access Protocol (SOAP). 9. The method of claim 1, wherein said substep of sending said converted call includes sending said converted call via the Internet. 10. The method of claim 1, wherein said substep of sending said converted call includes sending said converted call using HyperText Transfer Protocol (HTTP). 11. The method of claim 1, wherein said substep of sending said converted call includes sending said converted call in a manner specified in said interface definition. 12. The method of claim 1, wherein said substep of sending said converted call includes receiving return values in response to said converted call. 13. The method of claim 12, wherein receiving return values includes deserializing said return values. 14. The method of claim 1, further comprising: said proxy returning results of said remote method call to said client by performing the substeps of: receiving packets returned in response to said remote method call; converting said packets into results in native format and returning said results in native format to said client. 15. A computer-implemented 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, using a dynamically generated proxy generated at runtime based on a generic interface class and said interface definition of said particular service for sending said request to said particular service in a format specified in said interface definition and automatically converting said request into a native call on said particular service; wherein the dynamically generated proxy converts said request into a particular wire format specified in said interface definition of said particular service and sends said request to said particular service using a method of transport specified in said interface definition of said particular service; in response to receipt of said request in said particular service, deserializing said request into native format; invoking said particular service by making a native call on said particular service in native format; 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. 16. The method of claim 15, wherein said step of implementing said interface definition includes installing implemented classes on a Web server. 17. The method of claim 15, wherein said step of implementing said interface definition includes registering said interface to make said particular service available to remote clients. 18. The method of claim 15, wherein said step of implementing said interface definition includes implementation of a dispatcher that listens for requests made on said particular service. 19. The method of claim 18, wherein said dispatcher listens for requests made in accordance with said interface definition. 20. The method of claim 15, wherein said step of converting said request into a native call includes deserializing packets received by from said remote client. 21. The method of claim 20, wherein deserializing packets includes deserializing Simple Object Access Protocol (SOAP) packets. 22. The method of claim 15, wherein said step of converting said request into a native call includes determining a method of said particular service to be invoked. 23. The method of claim 15, wherein said step of converting return values includes serializing said return values into a particular wire format. 24. The method of claim 23, wherein said particular wire format is the same format in which the request is received from said remote client. 25. The method of claim 23, wherein said particular wire format includes Simple Object Access Protocol (SOAP). 26. The method of claim 15, wherein said step of sending return values includes sending said return values via the Internet. 27. The method of claim 15, wherein said step of sending return values includes using a particular method of transport. 28. The method of claim 27, wherein said method of transport is the same method of transport used by said remote client to make the request on said particular service. 29. The method of claim 27, wherein said method of transport includes HyperText Transfer Protocol. 30. A computer 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, said interface definition including runtime type information; a dynamically generated proxy generated at runtime based on a generic interface class and said interface definition of said particular service for sending remote method invocations in a predetermined wire and transport format specified in said interface definition; wherein the dynamically generated proxy converts said remote method invocations into a wire format specified in said interface definition of said particular service and sends said remote method invocations in a transport format specified in said interface definition of said particular service; a dispatcher module for listening for remote method invocations on said particular service, receiving said remote method invocations in said 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. 31. The system of claim 30, wherein said invoker module returns results of said native call to said dispatcher module. 32. The system of claim 30, wherein said predetermined wire and transport format includes Simple Object Access Protocol (SOAP) wire format and HyperText Transfer Protocol (HTTP) transport format. 33. The system of claim 30, further comprising: a data structure for containing deserialized information from said remote method invocation and return values from said particular service. 34. The system of claim 33, wherein said dispatcher module deserializes remote method invocations into said data structure. 35. The system of claim 33, wherein said dispatcher module provides said data structure to said invoker module. 36. The system of claim 33, wherein said invoker module places return values from said native call into said data structure. 37. The system of claim 33, wherein said dispatcher module reserializes return values in said data structure and returns said reserialized return values in response to said remote method invocation. 38. The system of claim 30, wherein said dispatcher module is implemented as part of a Web server module. 39. The system of claim 30, wherein said dispatcher module listens for remote method invocations in particular wire formats. 40. The system of claim 30, wherein said dispatcher module listens for remote method invocations received via the Internet. 41. The system of claim 30, wherein said dispatcher module listens for HyperText Transfer Protocol (HTTP) posts containing Simple Object Access Protocol (SOAP) requests. 42. A computer-implemented 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, said interface definition including runtime type information; implementing said interface definition to create an implemented interface to said service, said implemented interface listening for requests on said service; dynamically generating a proxy at runtime based on a generic interface class and said interface definition of said service for sending a remote method call to said service in a format specified in said interface definition; wherein said dynamically generated proxy converts said remote method call into a particular wire format specified in said interface definition of said service and sends said remote method call to said service using a method of transport specified in said interface definition of said service; in response to receipt of said remote method call in 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. 43. The method of claim 42, wherein said step of implementing said interface definition includes registering said implemented interface to make said service available remotely. 44. The method of claim 42, wherein said interface definition includes an invokable interface; said invokable interface enabling remote clients to cast an instance of said interface for purposes of making a remote method call on said service. 45. The method of claim 42, wherein said implemented interface includes a dispatcher module for handling remote method calls on said service. 46. The method of claim 42, wherein said step of deserializing said remote method call includes using the same wire format used to serialize the request. 47. The method of claim 42, wherein said step of deserializing said remote method call includes deserializing a Simple Object Access Protocol request. 48. The method of claim 42, wherein said step of deserializing said remote method call includes deserializing said remote method call into a data structure. 49. The method of claim 48, wherein said step of invoking said service includes passing said data structure to said service. 50. The method of claim 42, wherein said step of returning said serialized results includes returning said serialized results using the same method of transport used to send said remote method call.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.