Application architecture supporting multiple services and caching
First Claim
1. A computing device, comprising:
- one or more processors; and
a computer-readable storage device having program instructions stored thereon that, upon execution by the one or more processors, provides on the computing device;
a client application comprising a user interface configured to generate a user interface display that receives a user input, wherein the client application is configured to, based on the user input, select a service provided by a server that is remote from the computing device,wherein the selected service comprises first and second service implementations on the server, the first and second service implementations comprising different implementations of the selected service that each have a different application interface for communicating data from the selected service to the client application, andwherein the client application is independent of the first and second service implementations; and
a service agent coupled to the client application, the service agent configured to;
receive, from the client application, a request for data from the selected service;
based on the request received from the client application, select one of the first or second service implementations;
create a service instance at runtime that corresponds to the selected service implementation, the service instance providing a service interface that is specific to the application interface of the selected service implementation;
receive, through the service interface, the requested data from the selected service; and
create a cache service instance at runtime based on the selected service, the cache service instance providing the requested data to the client application.
3 Assignments
0 Petitions
Accused Products
Abstract
A service agent provides an interface for the actions that a client application needs to perform against a server. The service agent selects an appropriate service implementation based on configuration information. The service implementation is associated with a particular service version or source. A number of service implementations are available to the service agent. The service agent also creates a cache service instance that is compatible with the service instance. The client application makes data requests through the service agent. The cache service retrieves requested data from a local storage or from a selected service, if the data is not available locally. The cache service stores an expiration value with the data in the cache. The expiration value is retrieved when data is requested from the cache. The cache data is returned only if the expiration value has not exceeded an expiration policy.
-
Citations
20 Claims
-
1. A computing device, comprising:
-
one or more processors; and a computer-readable storage device having program instructions stored thereon that, upon execution by the one or more processors, provides on the computing device; a client application comprising a user interface configured to generate a user interface display that receives a user input, wherein the client application is configured to, based on the user input, select a service provided by a server that is remote from the computing device, wherein the selected service comprises first and second service implementations on the server, the first and second service implementations comprising different implementations of the selected service that each have a different application interface for communicating data from the selected service to the client application, and wherein the client application is independent of the first and second service implementations; and a service agent coupled to the client application, the service agent configured to; receive, from the client application, a request for data from the selected service; based on the request received from the client application, select one of the first or second service implementations; create a service instance at runtime that corresponds to the selected service implementation, the service instance providing a service interface that is specific to the application interface of the selected service implementation; receive, through the service interface, the requested data from the selected service; and create a cache service instance at runtime based on the selected service, the cache service instance providing the requested data to the client application. - View Dependent Claims (2, 3, 4, 5, 14)
-
-
6. A computer-implemented method comprising:
-
receiving, by a service agent from a client application, a request for data associated with a selected service, wherein the selected service comprises first and second service implementations on a server that is remote from the client application, the first and second service implementations comprising different implementations of the selected service that each have a different application interface for communicating data froms the selected service to the client application, wherein the client application is independent of the first and second service implementations; selecting one of the first or second service implementations based on the request from the client application; using the service agent to create a service instance at runtime that corresponds to the selected service implementation, the service instance providing a service interface that is specific to the application interface of the selected service implementation; and using the service agent to create a cache service instance at runtime based on the selected service, the cache service instance being adapted to use the service instance to provide the requested data to the application. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
15. A computer-implemented method for caching data, comprising:
-
receiving, by a service agent from a client application, a request for data associated with a service on a server that is remote from the client application, the service comprising first and second service implementations that each have a different application interface for communicating data from the service to the client application; selecting, by the service agent, one of the first or second service implementations; creating, by the service agent, a service instance that corresponds to the selected service implementation, the service instance providing a service interface that is specific to the application interface of the selected service implementation; creating, by the service agent, a cache service instance based on the selected service, the cache service instance being configured to use the service instance to access the service on the server; retrieving the data from the service through the service interface; determining an expiration value for the data retrieved from selected service; using the cache service instance to store the data to a local data store, that is local to the client application, the cache service instance storing the expiration value in association with the data; and using the cache service instance to provide the client application with access to the data in the local data store instance based on the expiration value. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification