System for dynamically invoking remote network services using service descriptions stored in a service registry
First Claim
1. A method for invoking the performance of a designated service by a service provider in response to a request from a requester sent to said service provider via a network, said method comprising, in combination, the steps of:
- storing a description of said designated service at a location accessible to said requester, said description comprising, in combination;
an input description specifying the content of an acceptable input message which may be received by said service provider to initiate the performance of said designated service;
a designation of a unique network address to which said input message is to be sent to invoke the performance of said designated service, and an output description specifying the content of each output message produced by said service provider during the performance of said designated service, transmitting a request message that conforms to said input description via said network to said unique network address, performing said designated service at said service provider in response to the receipt of said request message to generate a response conforming to said output description, and returning said response via said network to said service consumer.
2 Assignments
0 Petitions
Accused Products
Abstract
A dynamic services infrastructure accepts data describing data resources and stores that data in a relational database from which it may be retrieved to handle service requests issued by application programs. The database stores Service Definition data which is initially supplied in the form of XML Service Descriptor documents which are then mapped into the database from which they may be accessed. Each Service Definition includes an input specification which identifies the address of a resource as well as the nature of the input data to be supplied to the resource with the request, and further includes an output specification which describes the nature of the output information which is supplied by the resource in response to the request. The Service Definition further includes information describing the service provider which supplies the resource, test information including fixed input and output values which permit the operability of the resource to be verified, update information which permits the infrastructure to insure that the Service Definition information is kept current, and security information which permits the system to validate users and provide secure encrypted information exchanges. When a client sends a request for services to the infrastructure, obtains the service description for the desired resource from the database, transmits an output information request to the address specified in said the service description, supplying input information meeting the specification contained in said particular service description to said particular resource, and receives and routs output information provided by said particular resource in response to said output information request to the executing application program.
-
Citations
28 Claims
-
1. A method for invoking the performance of a designated service by a service provider in response to a request from a requester sent to said service provider via a network, said method comprising, in combination, the steps of:
-
storing a description of said designated service at a location accessible to said requester, said description comprising, in combination;
an input description specifying the content of an acceptable input message which may be received by said service provider to initiate the performance of said designated service;
a designation of a unique network address to which said input message is to be sent to invoke the performance of said designated service, and an output description specifying the content of each output message produced by said service provider during the performance of said designated service, transmitting a request message that conforms to said input description via said network to said unique network address, performing said designated service at said service provider in response to the receipt of said request message to generate a response conforming to said output description, and returning said response via said network to said service consumer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
13. A system for invoking the performance of a selected one of a plurality of diverse services via the Internet, said system comprising, in combination:
-
a database coupled to the Internet for storing a description of each of said services, each of said descriptions describing a designated service and comprising;
an input description specifying the content of an input message that may be received and used by said designated service to perform said designated service;
a designation of the unique Internet address to which said input message is to be directed to invoke the performance of said designated service, and an output description specifying the content of each output message produced by the performance of said designated service, first processing means at a client location for executing an application program that includes means for transmitting a request message that conforms to said input description to said Internet address, and second processing at said Internet address for performing said designated service in response to the receipt of said request message to generate a response conforming to said output description and to return said response via the Internet to said first processing means.
-
-
22. A system for performing a programmatic data exchange via the Internet between a consumer application executing on a client computer and a selected one of a plurality of different service applications, at least some of which are performed by computers located remotely from said client computer and connected to said client computer via the Internet, said system comprising, in combination,
a registry database coupled to the Internet, said registry database comprising, in combination: -
registration means for storing in said registry database a service description which specifies, for each given one of said service applications;
the content and format of an input message which may be received and processed by said given one of said service applications;
the Internet address to which said input message is to be sent in order to invoke the operation of said given one of said service applications; and
the content and format of any output messages which are produced by the operation of said given one of said service applications;
means responsive to a listing request received from a list requester for returning a listing of said plurality of different service applications to said list requester; and
means responsive to a service description request received from a service description requester for returning a designated one of said service descriptions to said service requester; and
interface means for integrating the operation of said consumer application with said selected one of said service applications, said interface means comprising;
means for transmitting a listing request to said registry database and for receiving in response thereto a listing of said plurality of different service applications;
means for transmitting a description request to said registry database and for receiving in response thereto a description of said selected one of said service applications;
means for forming an input message that conforms to said selected service description, means for transmitting said input message via the Internet to the Internet address specified in said selected service description; and
means for receiving a responsive output message via the Internet from said selected one of said service applications and for supplying data contained therein to said consumer application. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification