Tuesday, November 20, 2012

Fail Server, Fail!

To use online data offline certainly opens entirely new operation spaces for application systems. The most obvious advantage is that an application becomes tolerant against network failure and can continue to work with replicated offline data until the master server is reachable again.

Of course it also protects against server failure, but only to a certain degree. If the master server fails an application can continue to work with offline data but without the master server to broadcast change notifications there is no real-time collaboration anymore. And the risk that the offline modifications lead to non-trivial conflicts at the time the master server comes back and the changes are to be merged up increases over time.

Leveraging the same replication mechanisms that CDO uses for offline clone repositories you can easily build up fail-over repository clusters. The most sophisticated topology involves a separate fail-over monitor which manages a dynamically growing or shrinking set of repositories. It elects new master repositories in case the current master fails and communicates with special fail-over sessions in the clients.

With the new CDO Offline Example application it's now easier than ever to play with these complex setups. I've recorded another screencast (which builds upon this one) for you to give you a clue on how to start:

Switch to HD on YouTube

I hope you're inspired by the demo and develop new ideas for your own applications...

Monday, November 19, 2012

Use Online Data Offline

You may know that a CDO model repository can be used like an online database with change notifications to make your modeled applications truly collaborative with no more than a handful lines of code.

You may not know, yet, that CDO supports a number of additional repository configurations which help to build up more complex topologies of replicating repositories.

To make it easy to explore the possibilities I've created a new example application that you can install through Eclipse's example wizard.

To make it even easier I've recorded a screencast for you that guides you through the first example and shows you how to embed local offline clone repositories into client applications.

With this setup applications use online data while they're online and continue to work with offline data while they're offline:

Switch to HD on YouTube

I hope you're inspired by the demo and develop new ideas for your own applications...