My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Links

WattDepot-GData implements a "persistent cache" for WattDepot data using Google Spreadsheets. For each of these caches, it also provides a visualization using Google Charts or Google Visualization.

A WattDepot-GData service is a Java program that runs in background. Tasks wake up periodically, query WattDepot for values, then write out the results to Google Spreadsheet instances. These spreadsheets typically provide WattDepot data in a format tailored to the requirements for Google Visualizations such as Gauges, Bar Charts, Annotated Timelines, and so forth.

The figure below illustrates the flow of data. Several clients at the top of the figure are each displaying a visualization of WattDepot data. To generate this visualization, they query a Google Docs spreadsheet. The spreadsheet is periodically updated by a WattDepot-GData process. This process gets its data from a WattDepot server.

The WattDepot-GData service provides the following advantages:

  • Scalability. Rather than individual web clients querying WattDepot directly, web clients instead query the Google spreadsheet (typically via Javascript calls to the Google Visualization API). This reduces the load on the WattDepot server dramatically.
  • Responsiveness. Depending upon the complexity of the request, a single WattDepot query could take many seconds to process. Such delays are typically unacceptable for many web applications. By precomputing the desired results and storing them in a Google spreadsheet, the persistent cache query can be satisfied quickly, typically in under a second.

These advantages come at the following costs:

  • Complexity. The overall architecture of the system is more complicated; you must now manage a separate program and make sure it is running.
  • Inflexibility. Client applications can only reap the benefits of WattDepot-GData if it is possible to anticipate in advance what WattDepot data they will require. This system is not suited to highly "exploratory" situations where the user desires access to the complete WattDepot API. For those situations, a more suitable interface might be WattDepot-Apps.
Powered by Google Project Hosting