Creating proxies from service description metadata at runtime
First Claim
1. At a proxy creation component, the proxy creation component connected to a network along with a client application, a server application, and a metadata service, the proxy creation component, the client application, the server application, and the metadata service each hosted separately from one another on the computer network, the proxy creation component, the client application, the server application, and the metadata service configured to use network communication to communicate with another, a method for creating a proxy to facilitate communication between the client application and the server application during client application runtime, the method comprising:
- while the client application is executing at runtime;
an act of the proxy creation component receiving a proxy creation request from the client application , the proxy creation request message requesting creation of a proxy instance to facilitate compatible network communication between the client application and the server application, the proxy creation request specifying metadata values to be used for compatible network communication;
an act of the proxy creation component creating a proxy instance in response to the proxy creation request;
an act of the proxy creation component sending a network metadata request message to the metadata service, the network metadata request message requesting service description metadata describing the server application, the metadata service maintaining metadata service descriptions describing a plurality of different server applications such that metadata service descriptions describing the plurality of different server applications are centrally accessible via network communication;
an act of proxy creation component receiving a network response message from the metadata service, the network response message including service description metadata describing the server application;
an act of proxy creation component parsing the service description metadata to identify metadata matching the metadata values specified in the proxy creation request;
an act of the proxy creation component configuring the proxy instance in accordance with the identified metadata such that the proxy instance can facilitate compatible communication between the client application and the server application without having to conduct negotiations between the client application and server application while the client application is executing at runtime;
wherein the configured proxy instance facilitates communication between the client application and the server application, comprising;
an act receiving an operation request from the client application, the operation request requesting that an operation be performed at the server application, the operation described in the contract metadata for the server application;
an act of establishing a communication channel to the server application accordance with the identified metadata in response to operation request;
an act of interpreting the operation request to formulate an appropriate request message to send over the established communication channel, the request message configured to indicate to the server application that it is to perform the operation;
an act of sending the request message to the server application;
an act of receiving a response message from the server application, the response message indicating the outcome of performing the operation;
an act of interpreting the response message to formulate an appropriate operation response to send to the client application, the operation response configured to indicate outcome of the operation to the client application; and
an act of sending the operation response to the client application.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for creating proxies from service description metadata at runtime. A proxy creation request is received from a requesting application while the requesting application is executing at runtime. The proxy creation request requests creation of a proxy instance to facilitate compatible communication between the requesting application and another application. A proxy instance is created in response to the proxy creation request. Service description metadata describing the other application is accessed (e.g., through a request to a metadata service or retrieval from cache). The proxy instance is configured in accordance with the service description metadata describing the other application. Accordingly, the proxy instance can facilitate compatible communication between the requesting application and the other application to implement operations that the requesting application requests to be performed at the other application.
-
Citations
16 Claims
-
1. At a proxy creation component, the proxy creation component connected to a network along with a client application, a server application, and a metadata service, the proxy creation component, the client application, the server application, and the metadata service each hosted separately from one another on the computer network, the proxy creation component, the client application, the server application, and the metadata service configured to use network communication to communicate with another, a method for creating a proxy to facilitate communication between the client application and the server application during client application runtime, the method comprising:
-
while the client application is executing at runtime; an act of the proxy creation component receiving a proxy creation request from the client application , the proxy creation request message requesting creation of a proxy instance to facilitate compatible network communication between the client application and the server application, the proxy creation request specifying metadata values to be used for compatible network communication; an act of the proxy creation component creating a proxy instance in response to the proxy creation request; an act of the proxy creation component sending a network metadata request message to the metadata service, the network metadata request message requesting service description metadata describing the server application, the metadata service maintaining metadata service descriptions describing a plurality of different server applications such that metadata service descriptions describing the plurality of different server applications are centrally accessible via network communication; an act of proxy creation component receiving a network response message from the metadata service, the network response message including service description metadata describing the server application; an act of proxy creation component parsing the service description metadata to identify metadata matching the metadata values specified in the proxy creation request; an act of the proxy creation component configuring the proxy instance in accordance with the identified metadata such that the proxy instance can facilitate compatible communication between the client application and the server application without having to conduct negotiations between the client application and server application while the client application is executing at runtime; wherein the configured proxy instance facilitates communication between the client application and the server application, comprising; an act receiving an operation request from the client application, the operation request requesting that an operation be performed at the server application, the operation described in the contract metadata for the server application; an act of establishing a communication channel to the server application accordance with the identified metadata in response to operation request; an act of interpreting the operation request to formulate an appropriate request message to send over the established communication channel, the request message configured to indicate to the server application that it is to perform the operation; an act of sending the request message to the server application; an act of receiving a response message from the server application, the response message indicating the outcome of performing the operation; an act of interpreting the response message to formulate an appropriate operation response to send to the client application, the operation response configured to indicate outcome of the operation to the client application; and an act of sending the operation response to the client application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer program product for use at a proxy creation component, the proxy creation component connected to a network along with a client application, a server application, and a metadata service, the proxy creation component, the client application, the server application, and the metadata service each hosted separately from one another on the computer network, the proxy creation component, the client application, the server application, and the metadata service configured to use network communication to communicate with another, the computer program product for implementing a method for facilitating communication between the client application and the server application during client application runtime, the computer program product comprising one or more computer-readable storage media having stored thereon computer-executable instructions that, when executed by a processor, cause the proxy creation component to perform the following:
-
while the client application is executing at runtime; receive a proxy creation request from the client application, the proxy creation request requesting creation of a proxy instance to facilitate compatible network communication between the client application and the server application, the proxy creation request specifying metadata values to be used for compatible network communication; create a proxy instance in response to the proxy creation request; send a network metadata request message to the metadata service, the network metadata request message requesting service description metadata describing the server application, the metadata service maintaining metadata service descriptions describing a plurality of different server applications such that metadata service descriptions describing the plurality of different server applications are centrally accessible via network communication; receive a network response message from the metadata service, the network response message including service description metadata describing the server application;
parse the service description metadata to identify metadata matching the metadata values specified in the proxy creation request; andconfigure the proxy instance in accordance with the identified metadata such that the proxy instance can facilitate compatible communication between the client application and the server application without having to conduct negotiations between the client application and server application while the client application is executing at runtime; receive an operation request from the client application, the operation request requesting that an operation be performed at the server application, the operation described in the contract metadata for the server application; establish a communication channel to the server application in accordance with the identified metadata in response to operation request; internet the operation request to formulate an appropriate request message to send over the established communication channel, the request message configured to indicate to the server application that it is to perform the operation; send the request message to the server application; receive a response message from the server application, the response message indicating the outcome of performing the operation; internet the response message to formulate an appropriate operation response to to send to the client application, the operation response configured to indicate outcome of the operation to the client application; and send the operation response to the client application. - View Dependent Claims (15)
-
-
16. A computer system, the computer system connected to a network along with a client application, a server application, and a metadata service, the computer system, the client application, the server application, and the metadata service each hosted separately from one another on the computer network, the computer system, the client application, the server application, and the metadata service configured to use network communication to communicate with another, the client application configured to use COM messaging and the server application configured to user SOAP messaging the computer system comprising:
-
one or more processors; system memory; and
one or more computer-readable storage media having stored thereon a proxy creation module configured to;while the application is executing at runtime; receive a proxy creation request from the client application , the proxy creation request requesting creation of a proxy instance to facilitate compatible network communication between the client application and the server application, the proxy creation request including parameters indicating a contract, binding, and address that are to be used for compatible network communication; create a proxy instance in response to the proxy creation request; send a network metadata request message to the metadata service, the network metadata request message requesting service description metadata describing the server application, the metadata service maintaining metadata service descriptions describing a plurality of different server applications such that metadata service descriptions describing the plurality of different server applications are centrally accessible via network communication; receive a network response message from the metadata service, the network response message including service description metadata describing the server application; parse the service description metadata to identify metadata matching the parameters indicating a contract, binding, and address included in the proxy creation request; and configure the proxy instance in accordance with the identified metadata such that the proxy instance can facilitate compatible communication between the client application using COM messaging and the server application using SOAP messaging without having to conduct negotiations between the client application and server application while the client application is executing at runtime; receive an operation request from the client application, the operation request requesting that an operation be performed at the server application, the operation described in the contract metadata for the server application; establish a communication channel to the server application in accordance with the identified metadata in response to operation request; internet the operation request to formulate an appropriate request message to send over the established communication channel, the request message configured to indicate to the server application that it is to perform the operation; send the request message to the server application; receive a response message from the server application, the response message indicating the outcome of performing the operation; internet the response message to formulate an appropriate operation response to send to the client application, the operation responce configured to indicate outcome of the operation to the client application; and send the operation response to the client application.
-
Specification