Thursday, September 06, 2007

Trimpath Junction - Synchronization between local and remote databases using JavaScript/Google Gears

I just bumped into Trimpath Junction from the Google Gears mailing list.

Trimpath is a JavaScript-based MVC framework inspired by Ruby On Rails that can run on both the client (browser) and the server (e.g. using Rhino). It also appears to allow synchronization between client- and server-side SQLite databases via Google Gears.

Pretty cool.

One interesting choice they made was to do database-level synchronization. I believe database-level synchronization has a lot of issues:
  • A service-level transaction may span multiple database transactions with multiple backend databases or services.
  • You lose the higher-level semantics of the application when you just work with the database
  • You are creating a hardcoded dependency on a particular database schema
I believe web-service-level synchronization makes more sense, but they seem to feel this is a better approach. I guess if you're tying yourself to Google Gears/SQLite on both ends it could work, but I wonder... I guess we'll have to see...

No comments: