After some more research on embeddable databases and offline RIA and offline AJAX (or LAJAX as some refer to it - see and I have come to the conclusion that, considering my requirements (see below), I should drop both of the two alternatives presented in my previous post. The first one relies on Javascript which isn’t, to say the least, among my preferred programming languages. The other one involves far too many potential road bumps concerning sequrity (applet needs to be signed to be allowed access to the locl file system) or OS idiosynchrasies (if the applet is not signed it needs to be installed in the lib/ext directory of the JRE). I want the chosen solution to be:

  • Easy to install.
  • Have a minimum of requirements on the hardware and software.

My current plan is to supply a small program that implements an embedded database server (Apache Derby DB) and a small XML-RPC servlet (Apache XML-RPC). This program responds to requests sent from the WebbApp written using Google WebToolKit. With these technologies I restrict all the implementation to Java, which I know well and have grown familiar to. Further, these concepts blend in well with some of the ideas I have for offline browsing of Integra XML archives and some of the code is likely to be re-usable in the Integra project. Finally, I have chosen well established and widely used libraries for my framework (Apache and Google). Further, the WebApp can easily be made to redirect its RPC requests to an online server if so demanded. IOW, with the extra layer of abstraction between the WebApp and the database, I can easily have a more developed database sitting on a server somewhere (Postgres or MySQL) in which updates and ammendments are being made and still keep the local, embedded database engine small and simple.

Click the tag/category for related posts