Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
First Claim
1. A method for retrieving information from one or more data sources, the method including the steps of:
- receiving, from a particular type of client, a request for a service;
wherein said request for said service is received at a system located separately from said client;
wherein said request is sent by a particular user;
within said system generating, based on a first set of parameters, a request object;
wherein said first set of parameters includes identity of said service;
based on said request object, said system transmitting requests to one or more data sources;
at said system receiving responses to said requests from said one or more data sources in one or more formats other than a particular format;
at said system converting said responses into said particular format;
at said system generating, based on said responses, a composite response document in said particular format;
at said system transforming said composite response document into a client-formatted response based on a second set of parameters;
wherein said second set of parameters includes identity of said particular type of client; and
at said system transmitting said client-formatted response to said particular user.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for allowing clients to retrieve data from data sources that do not necessarily support the same protocols and formats as the clients. The clients issue service requests. A pre-processor responds to the requests by generating XML-structured request objects with unresolved links to the data sources that have information required by the clients. An XML processor resolves the links by issuing requests through one or more gateways. The gateways convert the responses received from the data sources into XML, which the XML processor uses to create XML composite response documents. A post-processor filters the XML response documents, and applies XSL stylesheets to transform the XML composite response documents into client-specific responses that conform to the format required by the clients. The client-specific responses are then sent to the clients.
398 Citations
37 Claims
-
1. A method for retrieving information from one or more data sources, the method including the steps of:
-
receiving, from a particular type of client, a request for a service;
wherein said request for said service is received at a system located separately from said client;
wherein said request is sent by a particular user;
within said system generating, based on a first set of parameters, a request object;
wherein said first set of parameters includes identity of said service;
based on said request object, said system transmitting requests to one or more data sources;
at said system receiving responses to said requests from said one or more data sources in one or more formats other than a particular format;
at said system converting said responses into said particular format;
at said system generating, based on said responses, a composite response document in said particular format;
at said system transforming said composite response document into a client-formatted response based on a second set of parameters;
wherein said second set of parameters includes identity of said particular type of client; and
at said system transmitting said client-formatted response to said particular user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 36)
embedding within said request object one or more filtering criteria, and filtering data from said composite response document based on said filtering criteria prior to transforming said composite response document. -
3. The method of claim 2 wherein
one of said requests invokes a search mechanism at a data source based on a first set of search criteria; - and
the step of filtering data includes filtering data that originated from said data source based on a second set of search criteria.
- and
-
4. The method of claim 1 wherein said first set of parameters for generating said request object includes identity of said particular user.
-
5. The method of claim 1 wherein:
-
the step of generating the request object includes generating filtering criteria; and
the method includes filtering data from the composite response document based on the filtering criteria before transforming the composite response document.
-
-
6. The method of claim 1 wherein:
-
the step of receiving responses to said requests from said one or more data sources in one or more formats other than a particular format involves receiving responses to said requests from said one or more data sources in one or more formats other than XML;
the step of converting said responses into said particular format involves converting responses into XML;
the step of generating a composite response document in said particular format involves generating a composite response document in XML; and
the step of transforming said composite response document into a client-formatted response involves transforming said composite response document into a format other than XML.
-
-
7. The method of claim 6 wherein the step of transforming includes:
-
identifying one or more XSL stylesheets based on said second set of parameters; and
applying said one or more XSL stylesheets to said composite response document.
-
-
8. The method of claim 1 wherein:
-
said one or more data sources include a first data source that supports a first protocol and is accessible through a first gateway, and a second data source that supports a second protocol and is accessible through a second gateway; and
the step of converting said responses into said particular format includes said first gateway converting a response from said first data source to said particular format; and
said second gateway converting a response from said second data source to said particular format.
-
-
9. The method of claim 8 wherein at least one of said first data source and said second data source is a database system.
-
10. The method of claim 8 wherein at least one of said first data source and said second data source is an HTTP server.
-
11. The method of claim 10 wherein the client-formatted response is an HTML document.
-
12. The method of claim 6 wherein:
-
the step of generating a request object involves generating an XML request document that includes unresolved links; and
the step of transmitting requests involves resolving said unresolved links.
-
-
13. The method of claim 12 wherein the step of generating said composite response document involves replacing said unresolved links in said XML request document with XML data generated based on said responses from said one or more data sources.
-
14. The method of claim 1 wherein said particular type of client is a mobile phone.
-
15. The method of claim 1 wherein:
-
the method further comprises the steps of receiving data that indicates user-specific customizations to services;
storing said data in a configuration database;
searching said configuration database for said user-specific customizations in response to receiving said request for said service;
said first set of parameters used to generate said request object includes said user-specific customizations.
-
-
16. The method of claim 1 wherein:
-
said one or more data sources include a first web site accessible through a gateway, and a second web site accessible through said gateway; and
the step of converting said responses into said particular format includes said gateway converting a first response from said first web site to said particular format; and
said gateway converting a second response from said second web site to said particular format.
-
-
36. The method of claim 1 wherein:
-
said one or more data sources include a plurality of data sources; and
said composite response document reflects information from each of said plurality of data sources.
-
-
-
17. A system for transferring information between devices, the system comprising:
-
a request preprocessor, which is located separately from clients, configured to receive service requests from said clients, generate request objects for said service requests, and pass said request objects to a request processor, which is located separately from said clients;
said request processor operatively coupled to said request preprocessor and to one or more gateways, said request processor being configured to respond to said request objects by transmitting requests to data sources through said one or more gateways;
said one or more gateways operatively coupled between said request processor and said data sources, said one or more gateways being configured to translate between a particular format and one or more other formats, convert said requests to said one or more other formats prior to issuing said requests to said data sources, convert responses from said data sources to said particular format, and pass said responses in said particular format to said request processor;
wherein said request processor is further configured to generate composite response documents in said particular format based on said responses, and to pass said composite response documents to a post processor;
said post processor operatively coupled to said request processor, said post processor being configured to transform said composite response documents from said particular format to client-specific responses having formats required by clients, and transmit said client-specific response documents to said clients. - View Dependent Claims (18, 19, 20, 21)
selecting one or more XSL stylesheets based on a first set of parameters, said first set of parameters including type of the clients; - and
applying said one or more XSL stylesheets.
-
-
21. The system of claim 17 wherein the pre-processor generates the request objects based on a particular set of parameters, said particular set of parameters including identity of users that submit said service requests.
-
22. A computer-readable medium bearing instructions for retrieving information from one or more data sources, the computer-readable medium including instructions for performing the steps of:
-
receiving, from a particular type of client, a request for a service;
wherein said request for said service is received at a system located separately from said client;
wherein said request is sent by a particular user;
within said system generating, based on a first set of parameters, a request object;
wherein said first set of parameters includes identity of said service;
based on the request object, said system transmitting requests to one or more data sources;
at said system receiving responses to said requests from said one or more data sources in one or more formats other than a particular format;
at said system converting said responses into said particular format;
at said system generating, based on said responses, a composite response document in said particular format;
at said system transforming said composite response document into a client-formatted response based on a second set of parameters;
wherein said second set of parameters includes identity of said particular type of client; and
at said system transmitting said client-formatted response to said particular user. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37)
the step of generating the request object includes generating filtering criteria;
the computer-readable medium includes instructions for filtering data from the composite response document based on the filtering criteria before transforming the composite response document.
-
-
25. The computer-readable medium of claim 22 wherein:
-
the step of receiving responses to said requests from said one or more data sources in one or more formats other than a particular format involves receiving responses to said requests from said one or more data sources in one or more formats other than XML;
the step of converting said responses into said particular format involves converting responses into XML;
the step of generating a composite response document in said particular format involves generating a composite response document in XML; and
the step of transforming said composite response document into a client-formatted response involves transforming said composite response document into a format other than XML.
-
-
26. The computer-readable medium of claim 25 wherein the step of transforming includes:
-
identifying one or more XSL stylesheets based on said second set of parameters; and
applying said one or more XSL stylesheets to said composite response document.
-
-
27. The computer-readable medium of claim 22 wherein:
-
said one or more data sources include a first data source that supports a first protocol and is accessible through a first gateway, and a second data source that supports a second protocol and is accessible through a second gateway; and
the step of converting said responses into said particular format includes said first gateway converting a response from said first data source to said particular format; and
said second gateway converting a response from said second data source to said particular format.
-
-
28. The computer-readable medium of claim 27 wherein at least one of said first data source and said second data source is a database system.
-
29. The computer-readable medium of claim 27 wherein at least one of said first data source and said second data source is an HTTP server.
-
30. The computer-readable medium of claim 29 wherein the client-formatted response is an HTML document.
-
31. The computer-readable medium of claim 25 wherein:
-
the step of generating a request object involves generating an XML request document that includes unresolved links; and
the step of transmitting requests involves resolving said unresolved links.
-
-
32. The computer-readable medium of claim 31 wherein the step of generating said composite response document involves replacing said unresolved links in said XML request document with XML data generated based on said responses from said one or more data sources.
-
33. The computer-readable medium of claim 22 wherein said particular type of client is a mobile phone.
-
34. The computer-readable medium of claim 22 wherein:
-
the computer-readable medium further comprises instructions for performing the steps of receiving data that indicates user-specific customizations to services;
storing said data in a configuration database;
searching said configuration database for said user-specific customizations in response to receiving said request for said service;
said first set of parameters used to generate said request object includes said user-specific customizations.
-
-
35. The computer-readable medium of claim 22 wherein:
-
said one or more data sources include a first web site accessible through a gateway, and a second web site accessible through said gateway; and
the step of converting said responses into said particular format includes said gateway converting a first response from said first web site to said particular format; and
said gateway converting a second response from said second web site to said particular format.
-
-
37. The computer-readable medium of claim 22 wherein:
-
said one or more data sources include a plurality of data sources; and
said composite response document reflects information from each of said plurality of data sources.
-
Specification