Systems, methods, and articles of manufacture for dynamically providing web services
First Claim
1. A method for providing a web service to a user, comprising:
- determining a set of web services the user is authorized to access based on a user profile;
receiving a request by the user to invoke a web service from the set of authorized web services;
locating the web service using a first data value included in a set of data values that are defined based on the user request;
invoking the located web service using a generic interface that is capable of invoking at least one other web service;
generating result data by the web service based on a second data value included in the set of data values;
generating result content from the result data; and
displaying the result content to the user.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and articles of manufacture are disclosed for dynamically providing web services in a distributed system. In one embodiment, a distribution server uses a generic interface to invoke any one of a plurality of web services based on a user request at a client system. The distribution server provides content information that a client system uses to display a customized web page for an authorized user. When the user selects content on a customized web page associated with a web service, the client'"'"'s system sets data values in one or more hidden fields and provides the fields to the distribution server. The server passes the field information to the selected web service to produce result data. The distribution server may use the result data and collected format data to generate the content information that is used to generate the customized web page for the authorized user. Embodiments of the present invention enable the distributed system to modify a web service without having to reprogram any consumers of the modified web service. Further, the distribution server is configured such that it dynamically and automatically determines any web services that a user may access and provides access to the authorized web services through the generic interface.
-
Citations
50 Claims
-
1. A method for providing a web service to a user, comprising:
-
determining a set of web services the user is authorized to access based on a user profile;
receiving a request by the user to invoke a web service from the set of authorized web services;
locating the web service using a first data value included in a set of data values that are defined based on the user request;
invoking the located web service using a generic interface that is capable of invoking at least one other web service;
generating result data by the web service based on a second data value included in the set of data values;
generating result content from the result data; and
displaying the result content to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for distributing content to a user in a distributed web service environment including a distribution server, a client system operated by a user, and web services including an authentication web service, the method comprising:
-
receiving a request by the user to access the distribution server;
invoking the authentication web service using an identifier and location data corresponding to the authentication web service included in the directory service;
authenticating the user based on user information included in the request;
retrieving session tags associated with the authenticated user from a directory service, wherein the session tags identify, for the user, a set of authorized web services and their corresponding location in the environment;
generating, at the distribution server, a session directory map using the session tags, wherein the session directory map is temporarily stored in the distribution server during a user session between the authenticated user and the distribution server; and
providing a web page to the client system including content corresponding to at least one of the authorized web services that, when selected by the user, initiates a request to invoke the at least one of the authorized web services.
-
-
19. A method for saving current state information in an environment including a client system operated by a user and a distribution server that manages access to web services including a host web service that has been invoked by the distribution server and is executing a process for the user during a user session between the distribution server and the client system, wherein the client system includes a browser that displays a web page including a set of data fields corresponding to the host web service, the method comprising:
-
receiving a request to save the current state of the user'"'"'s browser during the user session;
setting as a function of the request, a first hidden field to identify a storage web service, a second hidden field to identify a save function to be performed by the storage web service, and a third hidden field to identify the host web service;
providing the first, second, and third hidden fields, and the set of data fields, from the client system to the distribution server;
invoking the storage web service using the first hidden field and a generic interface that is used by the distribution server to invoke any of the web services;
storing, by the storage web service, data fields and hidden fields in a database as a single stream of XML data; and
generating result content indicating that the browser state information is successfully saved. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A method of dynamically provisioning a web service enterprise, comprising:
-
receiving a request to invoke a web service from an authorized user;
executing a generic interface to locate and invoke the web service to produce result data, wherein the generic interface capable of invoking other web services included in the web service enterprise; and
providing the result data to the user.
-
-
25. A method for dynamically establishing a web service enterprise in a distributed system during a user session between a distribution server and a client system operated by the user, the method comprising:
-
determining during the user session any web services that the user is authorized to access based on a user profile;
creating a temporary session directory identifying the authorized web services and their location in the distributed system;
managing an exchange of data between the client system and the authorized web services during the user session such that web services are invoked using a common preprogrammed interface to produce result data that is displayed at the client system in customized content rendered based on the user profile; and
removing the temporary session directory when the user session ends.
-
-
26. A method for providing a web service enterprise, comprising:
-
authenticating a user;
creating an associative structure noting associations between identifiers for any web services the user is authorized to use and location information for identified web services;
generating, at a client system operated by the user, a web page including content associated with the web service;
receiving, from the user, a request to invoke the web service through the content;
setting a first hidden field identifying the web service and a second hidden field indicating a type of function to be performed by the web service based on the user selecting the content in the web page;
locating, at a distribution server, the web service using the first hidden field and the location information in the associative structure;
providing, from the distribution server, at least one field array to the located web service using a generic interface that is used to invoke other web services that the user is authorized to access, wherein the at least one field array includes the first and second hidden fields;
producing result data at the web service based on the second hidden field;
retrieving from a database format content corresponding to the result data and user profile information;
providing the format content and result data to the distribution server;
generating result content using the provided format content and result data; and
generating a customized result web page at the client system based on the result content.
-
-
27. A method for modifying a web service in a distributed system including a distribution server that invokes an existing web service using a generic interface in response to a invocation request from an authorized user during a user session between the user and the distribution server, the method comprising:
-
modifying the existing web service;
deploying the modified web service on a web server; and
updating a directory service with information reflecting an identifier of the modified web service and a relationship including (i) a location of the web service in the distributed system and (ii) the authorized user, wherein the distribution server uses the information to locate and invoke the modified web service using the same generic interface used to invoke the existing web service before its modification. - View Dependent Claims (28, 29)
-
-
30. A method for deploying a new a web service in a distributed system including a distribution server that invokes at least one existing web service through a generic interface in response to a invocation request from an authorized user during a user session between the user and the distribution server, the method comprising:
-
creating the new web service;
deploying the new web service on a web server; and
updating a directory service with information reflecting an association between an identifier of the new web service and (i) a location of the web service in the distributed system and (ii) the authorized user, wherein the distribution server uses the information to locate and invoke the new web service using the same generic interface used to invoke the at least one existing web service.
-
-
31. A system for creating a web service enterprise, comprising:
-
a client system operated by an authorized user;
a directory service including map information reflecting an association between the authorized user and a first web service;
a plurality of web services including the first web service and an authentication web service; and
a distribution server configured to invoke the authentication web service using a preprogrammed interface to authenticate the user and receive the map information from the authentication web service when the user is authenticated to create a temporary session directory map, wherein the distribution server uses the temporary session directory map to locate and invoke the first web service based on an invocation request from the user received by the client system.
-
-
32. A system for dynamically providing a web service enterprise including web services, comprising:
-
a client system operated by an authorized user; and
a distribution server configured to provide content information used by the client system to generate a customized web page for the authorized user based on a user profile, wherein the customized custom web page includes web service content corresponding to a web service that the authorized user is allowed to access and one or more hidden fields that are set with data values in response to the user selecting the web service content in the customized web page, wherein the content information is based on web service information received from the web service when invoked by the distribution server using a preprogrammed interface in response to the user selection, and wherein the distribution server uses the preprogrammed interface to locate and invoke other web services included in the enterprise.
-
-
33. A system for dynamically providing web services to a user, comprising:
-
a plurality of servers each implementing one or more web services that perform one or more processes that produce corresponding result data;
a client system operated by a user including software that, when executed by a processor, sets data values to one or more hidden fields and a user data field associated with an authorized web service included in the one or more web services based on input received by the user; and
a distribution server configured to;
receive the one or more hidden fields and a user defined data field from the client system, generate a temporary directory map identifying the authorized web service and its location in the system based on a user profile during a user session between the client system and the distribution server, wherein the distribution server is configured to remove the temporary directory map when the user session ends, provide the hidden data fields and user data field to the authorized web service using a preprogrammed interface that is used to invoke any of the one or more web services, and receive result data generated by the authorized web service using the at least one of the hidden data fields and the user data field, and generate content information based on the result data that is used to by the client system to provide the client side content.
-
-
34. A system for dynamically providing web services, comprising:
-
a client system; and
a computing system configured to dynamically configure a web service enterprise for an authorized user including a web service that the authorized user is allowed to access, wherein the computing system manages the exchange of data between the web service and the client system using a preprogrammed interface that is configured to establish a communication session with any of the web services, wherein the data includes request data provided by the client system in response to an invocation request by the user and result data generated by a web service included in the set of web services in response to the invocation request provided by the user.
-
-
35. A computer-readable medium including instructions for performing a method, when executed by a processor, for providing a web service to a user, the method comprising:
-
determining a set of web services the user is authorized to access based on a user profile;
receiving a request by the user to invoke a web service from the set of authorized web services;
locating the web service using a first data value included in a set of data values that are defined based on the user request;
invoking the located web service using a generic interface that is capable of invoking at least one other web service;
generating result data by the web service based on a second data value included in the set of data values;
generating result content from the result data; and
displaying the result content to the user.
-
-
36. A computer-readable medium including instructions for performing, when executed by a processor, a method for distributing content to a user in a distributed web service environment including a distribution server, a client system operated by a user, and web services including an authentication web service,.the method comprising:
-
receiving a request by the user to access the distribution server;
invoking the authentication web service using an identifier and location data corresponding to the authentication web service included in the directory service;
authenticating the user based on user information included in the request;
retrieving session tags associated with the authenticated user from a directory service, wherein the session tags identify, for the user, a set of authorized web services and their corresponding location in the environment;
generating, at the distribution server, a session directory map using the session tags, wherein the session directory map is temporarily stored in the distribution server during a user session between the authenticated user and the distribution server; and
providing a web page to the client system including content corresponding to at least one of the authorized web services that, when selected by the user, initiates a request to invoke the at least one of the authorized web services.
-
-
37. A computer-readable medium including instructions for performing, when executed by a processor, a method for saving current state information in an environment including a client system operated by a user and a distribution server that manages access to web services including a host web service that has been invoked by the distribution server and is executing a process for the user during a user session between the distribution server and the client system, wherein the client system includes a browser that displays a web page including a set of data fields corresponding to the host web service, the method comprising:
-
receiving a request to save the current state of the user'"'"'s browser during the user session;
setting as a function of the request, a first hidden field to identify a storage web service, a second hidden field to identify a save function to be performed by the storage web service, and a third hidden field to identify the host web service;
providing the first, second, and third hidden fields, and the set of data fields, from the client system to the distribution server;
invoking the storage web service using the first hidden field and a generic interface that is used by the distribution server to invoke any of the web services;
storing, by the storage web service, data fields and hidden fields in a database as a single stream of XML data; and
generating result content indicating that the browser state information is successfully saved.
-
-
38. A computer-readable medium including instructions for performing, when executed by a processor, a method of dynamically provisioning a web service enterprise, the method comprising:
-
receiving a request to invoke a web service from an authorized user;
executing a generic interface to locate and invoke the web service to produce result data, wherein the generic interface capable of invoking other web services included in the web service enterprise; and
providing the result data to the user.
-
-
39. A computer-readable medium including instructions for performing, when executed by a processor, a method for dynamically establishing a web service enterprise in a distributed system during a user session between a distribution server and a client system operated by the user, the method comprising:
-
determining during the user session any web services that the user is authorized to access based on a user profile;
creating a temporary session directory identifying the authorized web services and their location in the distributed system;
managing an exchange of data between the client system and the authorized web services during the user session such that web services are invoked using a common preprogrammed interface to produce result data that is displayed at the client system in customized content rendered based on the user profile; and
removing the temporary session directory when the user session ends.
-
-
40. A computer-readable medium including instructions for performing, when executed by a processor, a method for providing a web service enterprise, the method comprising:
-
authenticating a user;
creating an associative structure noting associations between identifiers for any web services the user is authorized to use and location information for identified web services;
generating, at a client system operated by the user, a web page including content associated with the web service;
receiving, from the user, a request to invoke the web service through the content;
setting a first hidden field identifying the web service and a second hidden field indicating a type of function to be performed by the web service based on the user selecting the content in the web page;
locating, at a distribution server, the web service using the first hidden field and the location information in the associative structure;
providing, from the distribution server, at least one field array to the located web service using a generic interface that is used to invoke other web services that the user is authorized to access, wherein the at least one field array includes the first and second hidden fields;
producing result data at the web service based on the second hidden field;
retrieving from a database format content corresponding to the result data and user profile information;
providing the format content and result data to the distribution server;
generating result content using the provided format content and result data; and
generating a customized result web page at the client system based on the result content.
-
-
41. A computer-readable medium including instructions for performing, when executed by a processor, a method for modifying a web service in a distributed system including a distribution server that invokes an existing web service using a generic interface in response to a invocation request from an authorized user during a user session between the user and the distribution server, the method comprising:
-
modifying the existing web service;
deploying the modified web service on a web server; and
updating a directory service with information reflecting an identifier of the modified web service and a relationship including (i) a location of the web service in the distributed system and (ii) the authorized user, wherein the distribution server uses the information to locate and invoke the modified web service using the same generic interface used to invoke the existing web service before its modification.
-
-
42. A computer-readable medium including instructions for performing, when executed by a processor, a method for deploying a new a web service in a distributed system including a distribution server that invokes at least one existing web service through a generic interface in response to a invocation request from an authorized user during a user session between the user and the distribution server, the method comprising:
-
creating the new web service;
deploying the new web service on a web server; and
updating a directory service with information reflecting an association between an identifier of the new web service and (i) a location of the web service in the distributed system and (ii) the authorized user, wherein the distribution server uses the information to locate and invoke the new web service using the same generic interface used to invoke the at least one existing web service.
-
-
43. A system for providing a web service to a user, comprising:
-
means for determining a set of web services the user is authorized to access based on a user profile;
means for receiving a request by the user to invoke a web service from the set of authorized web services;
means for locating the web service using a first data value included in a set of data values that are defined based on the user request;
means for invoking the located web service using a generic interface that is capable of invoking at least one other web service;
means for generating result data by the web service based on a second data value included in the set of data values;
means for generating result content from the result data; and
means for displaying the result content to the user.
-
-
44. A system for distributing content to a user in a distributed web service environment including a distribution server, a client system operated by a user, and web services including an authentication web service, the system comprising:
-
means for receiving a request by the user to access the distribution server;
means for invoking the authentication web service using an identifier and location data corresponding to the authentication web service included in the directory service;
means for authenticating the user based on user information included in the request;
means for retrieving session tags associated with the authenticated user from a directory service, wherein the session tags identify, for the user, a set of authorized web services and their corresponding location in the environment;
means for generating, at the distribution server, a session directory map using the session tags, wherein the session directory map is temporarily stored in the distribution server during a user session between the authenticated user and the distribution server; and
means for providing a web page to the client system including content corresponding to at least one of the authorized web services that, when selected by the user, initiates a request to invoke the at least one of the authorized web services.
-
-
45. A system for saving current state information in an environment including a client system operated by a user and a distribution server that manages access to web services including a host web service that has been invoked by the distribution server and is executing a process for the user during a user session between the distribution server and the client system, wherein the client system includes a browser that displays a web page including a set of data fields corresponding to the host web service, the system comprising:
-
means for receiving a request to save the current state of the user'"'"'s browser during the user session;
means for setting as a function of the request, a first hidden field to identify a storage web service, a second hidden field to identify a save function to be performed by the storage web service, and a third hidden field to identify the host web service;
means for providing the first, second, and third hidden fields, and the set of data fields, from the client system to the distribution server;
means for invoking the storage web service using the first hidden field and a generic interface that is used by the distribution server to invoke any of the web services;
means for storing, by the storage web service, data fields and hidden fields in a database as a single stream of XML data; and
means for generating result content indicating that the browser state information is successfully saved.
-
-
46. A system for dynamically provisioning a web service enterprise, comprising:
-
means for receiving a request to invoke a web service from an authorized user;
means for executing a generic interface to locate and invoke the web service to produce result data, wherein the generic interface capable of invoking other web services included in the web service enterprise; and
means for providing the result data to the user.
-
-
47. A system for dynamically establishing a web service enterprise in a distributed system during a user session between a distribution server and a client system operated by the user, the system comprising:
-
means for determining during the user session any web services that the user is authorized to access based on a user profile;
means for creating a temporary session directory identifying the authorized web services and their location in the distributed system;
means for managing an exchange of data between the client system and the authorized web services during the user session such that web services are invoked using a common preprogrammed interface to produce result data that is displayed at the client system in customized content rendered based on the user profile; and
means for removing the temporary session directory when the user session ends.
-
-
48. A system for providing a web service enterprise, comprising:
-
means for authenticating a user;
means for creating an associative structure noting associations between identifiers for any web services the user is authorized to use and location information for identified web services;
means for generating, at a client system operated by the user, a web page including content associated with the web service;
means for receiving, from the user, a request to invoke the web service through the content;
means for setting a first hidden field identifying the web service and a second hidden field indicating a type of function to be performed by the web service based on the user selecting the content in the web page;
means for locating, at a distribution server, the web service using the first hidden field and the location information in the associative structure;
means for providing, from the distribution server, at least one field array to the located web service using a generic interface that is used to invoke other web services that the user is authorized to access, wherein the at least one field array includes the first and second hidden fields;
means for producing result data at the web service based on the second hidden field;
means for retrieving from a database format content corresponding to the result data and user profile information;
means for providing the format content and result data to the distribution server;
means for generating result content using the provided format content and result data; and
means for generating a customized result web page at the client system based on the result content.
-
-
49. A system for modifying a web service in a distributed system including a distribution server that invokes an existing web service using a generic interface in response to a invocation request from an authorized user during a user session between the user and the distribution server, the system comprising:
-
means for modifying the existing web service;
means for deploying the modified web service on a web server; and
means for updating a directory service with information reflecting an identifier of the modified web service and a relationship including (i) a location of the web service in the distributed system and (ii) the authorized user, means for wherein the distribution server uses the information to locate and invoke the modified web service using the same generic interface used to invoke the existing web service before its modification.
-
-
50. A system for deploying a new a web service in a distributed system including a distribution server that invokes at least one existing web service through a generic interface in response to a invocation request from an authorized user during a user session between the user and the distribution server, the method comprising:
-
means for creating the new web service;
means for deploying the new web service on a web server; and
means for updating a directory service with information reflecting an association between an identifier of the new web service and (i) a location of the web service in the distributed system and (ii) the authorized user, wherein the distribution server uses the information to locate and invoke the new web service using the same generic interface used to invoke the at least one existing web service.
-
Specification