Automated object persistence for JavaScript

Brett Cannon, Eric Wohlstadter · 2010

Traditionally web applications have required an internet con-nection in order to work with data. Browsers have lacked any mechanisms to allow web applications to operate offline with a set of data to provide constant access to applica-tions. Recently, through browser plug-ins such as Google Gears, browsers have gained the ability to persist data for offline use. However, until now it’s been difficult for a web developer using these plug-ins to manage persisting data both locally for offline use and in the internet cloud due to: synchronization requirements, managing throughput and la-tency to the cloud, and making it work within the confines of a standards-compliant web browser. Historically in non-browser environments, programming language environments have offered automated object persistence to shield the de-veloper from these complexities. In our research we have cre-ated a framework which introduces automated persistence of data objects for JavaScript utilizing the internet. Un-like traditional object persistence solutions, ours relies only on existing or forthcoming internet standards and does not rely upon specific runtime mechanisms such as OS or in-terpreter/compiler support. A new design was required in order to be suitable to the internet’s unique characteristics of varying connection quality and a browser’s specific restric-tions. We validate our approach using benchmarks which show that our framework can handle thousands of data ob-jects automatically, reducing the amount of work needed by developers to support offline Web applications.

Read the paper · More papers on PaperTik