SideCache is a framework for deploying web services that must be updated periodically. SideCache supports several types of services including proxy access with rate control, local caching, and automatic web service updates.
Web services that access busy sites such as NCBI are subject to rate and access restrictions. The SideCache proxy service allows developers to take advantage of local caching to reduce traffic to other sites, while keeping access rates within restrictions.
Many biological web services rely on information that is frequently updated. Deployers of these services must then manually redownload the needed information and rerun deployment algorithms. SideCache rebuildable services allow the developer to specify an update schedule at the time of deployment and SideCache handles the necessary synchronization and updating.
Many client-side applications can only access their originating server for security reasons. SideCache allows client-side applications housed on the same server to access remote sites using pass through.
The deployer specifies which sites are accessed in the settings.xml file located in the proxy_config directory of the proxy webservice.
The deployer may also specify the access rate for the remote site in settings.xml.
Typical web service applications may request information multiple times. By storing the responses to remote requests locally (i.e., caching), SideCache can improve responses for web services that require on-the-fly access to remote sites.
When web services are periodically updated, they may require downloads of large files. Careful management and use of caching can improve performance, particularly during development and testing.
When multiple clients funnel through the same server, the stream of external requests to a highly-accessed site such as NCBI can violate the rate restrictions of such sites.
SideCache allows developers to specify rate restrictions for remote accesses.
Many algorithms in bioinformatics require the downloading of files from multiple sites and then perform complex and possibly lengthy computations.
The creators of these algorithms often make their results available through a web page or a web service. Many journals require authors to commit to making the web page available for a certain period of time and to specify how often the information will be updated.
SideCache allows developers to automate this process by specifying the files to be downloaded, the computations to run and the update schedule. SideCache automatically handles the update and deployment without interrupting the services.
Sidekick uses the SideCache caching system developed by the Visualization and Modeling Laboratory at UTSA.
An initial version of the SideCache proxy and caching service was written by Cory Burkhardt. The system has been further developed by Mark Doderer and Kay Robbins.
The automatic update infrastructure with rebuildable services was developed by Mark Doderer and Kay Robbins.
SideCache was partially supported by NIH Research Centers in Minority Institutions 2G12RR01364-06A1 (RCMI). We also acknowledge computational support from the SA Computational Biology Initiative (CBI).
SideCache is under development at the UTSA Visualization and Modeling Laboratory. To make a comment use the comment form provided on this site. We would appreciate your feedback. For further information contact:
Department of Computer Science
University of Texas at San Antonio
One UTSA Circle
San Antonio, TX 78249