Using common Lisp to prototype offline work in web applications for rich domains

  • Authors:
  • Edgar E. M. Gonçalves;António Menezes Leitão

  • Affiliations:
  • Technical University Of Lisbon, Portugal;Technical University Of Lisbon, Portugal

  • Venue:
  • Proceedings of the 6th European Lisp Workshop
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Web applications have been getting more and more attention from organizations as they seek out better infrastructures for their collaborative business processes. However, many tasks must be done while being offline, which goes against today's Web architecture that is based on a remote server that must be contacted for each performed operation. Development of this offline work isn't a one step operation, due to architectural differences from the traditional client-server approach. This makes both developing new applications and adapting existing ones a hard task. We describe a methodology to help perform such tasks. It centers on an adaptive data prefetching mechanism that will feed a suggestion producer on the server, so that a client may always ask for information it is probably going to need, according to statistical data. This solution differs from current data caching and prefetching systems by using an heuristic-based system to evaluate the situation the user is in, and providing dynamic content to the client. Another important result is the feedback a developer can extract from the suggestion maker: based on the suggestions efficiency, one can tell if the heuristics are being misused or if the functionality is poorly defined. We also describe a Common Lisp-based prototype implementation, called dshow, where we enhance a web server with our solution. We explain how the Common Lisp language features made the prototype development easier.