Thursday, March 28, 2013

Modeling, Diagramming, Collaborating

This year's EclipseCon in Boston is just awesome. So many great sessions, nice people and excellent seafood everywhere. My own talk yesterday seemed to be a great success, given the ratings I got so far. I'd like to encourage you to write a comment about my talk, in case you enjoyed it.

Then I've been so impressed by the Sirius technology that Obeo and Thales have been demonstrating and I'm totally excited that they're going to show how they integrated their modeling workbench with CDO model repositories in order to take model collaboration to the next level. I strongly recommend to not miss their session today:


Collaborative Modeling applied to avionic design: give wings to your team

I hope to see you there...

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...

Sunday, October 28, 2012

Release Notes and API Evolution Reports

The Open Source Initiative cites transparency in their prime mission statement:
Open source is a development method for software that harnesses the power of distributed peer review and transparency of process.
It is important to consumers to know what's going on in a project because it (ideally) creates trust in the project results and in the way those are being consumed.

To help our users to keep up with the rapid (though mostly compatible) change in CDO our downloads page now provides detailed release notes and API evolution reports for each drop:


Here you can see some examples:

Saturday, October 27, 2012

An Automated Tutorial

The EclipseCon Europe 2012 is over and it was, again, a pleasure to attend it. According to the excellent feedback I received my show in the theater has been a great success. I promised to upload the plugin that's been driving my Eclipse IDE automatically and make it available together with the slides. It's now available on the CDO homepage:


You can download the ZIP archive and unzip the contained plug-in JAR to the dropins/ folder of your Eclipse IDE. After restarting Eclipse you'll see this trim widget:


By clicking the yellow arrow button (or pressing the F5 key) repeatedly you can advance through the tutorial step by step and watch your workspace being updated until you end up with a fully functional distributed application system.

Lean back and enjoy...

Now that I've Got a Model – Where's My Application?

Models are efficient for capturing enterprise knowledge at a high level of abstraction, independent of technical concerns. Using the Eclipse Modeling Framework (EMF) I can generate an Eclipse editor for my model on a click of a button and instantly play with it. Once I've iterated on the model I need to develop an application around it to put it to use. Now I realize that modeling didn't eliminate any technical aspects, it just relieved me from thinking about them early.
What about the background threads that are expected to cooperate nicely with my model? What if real data are magnitudes bigger than the data I've played with? How do I store this data and broadcast changes to the other users of my application? Can I prevent multiple users from accidentally modifying the same object? My application seems to disappear behind a curtain of challenges until I discover that the Connected Data Objects (CDO) framework provides me with a sophisticated platform for the technical aspects of my model.

In my EclipseCon presentation today I'll tell you how best to employ the runtime aspects of these frameworks to build a scalable, transactional and distributed application for your modeled data with little more than a mouse click.

The session will be in the Theatre from 10:30 to 11:30. I've prepared quite some gimmicks for you and I'm looking forward to seeing you there...

Thursday, October 25, 2012

Now that I've Got a Model – Where's My Application?

Models are efficient for capturing enterprise knowledge at a high level of abstraction, independent of technical concerns. Using the Eclipse Modeling Framework (EMF) I can generate an Eclipse editor for my model on a click of a button and instantly play with it. Once I've iterated on the model I need to develop an application around it to put it to use. Now I realize that modeling didn't eliminate any technical aspects, it just relieved me from thinking about them early.
What about the background threads that are expected to cooperate nicely with my model? What if real data are magnitudes bigger than the data I've played with? How do I store this data and broadcast changes to the other users of my application? Can I prevent multiple users from accidentally modifying the same object? My application seems to disappear behind a curtain of challenges until I discover that the Connected Data Objects (CDO) framework provides me with a sophisticated platform for the technical aspects of my model.

In my EclipseCon presentation today I'll tell you how best to employ the runtime aspects of these frameworks to build a scalable, transactional and distributed application for your modeled data with little more than a mouse click.

The session will be in the Theatre from 10:30 to 11:30. I've prepared quite some gimmicks for you and I'm looking forward to seeing you there...