[helios] HowTo get CDO 3.0 to push View Modifications into running RCP Apps

Eclipse 3.6 (Helios) Milestone 2

Eclipse 3.6 (Helios) has reached the 2nd Milestone and this year the first time so early you can download SDK or EPP packages.

I tried downloading Helios M2 EPP Modeling Package for OSX cocoa 64-bit and got all the projects important to my modeling IDE:

  • Xpand/Xtend 0.8.0
  • Xtext 0.8.0
  • MWE 0.8.0
  • EMF 2.6.0
  • and more
  • but missing: CDO 3.0

Pushing Model Changes into running RCP Apps

Recently we integrated CDO into redView (Riena EMF Dynamic Views for Business Applications) which enables a live-pushing from redView WYSIWYG Editor into running RCP Applications.

Curious ? Here’s a short snapshot, where you see the redView Designer from inside Eclipse IDE and three running RCP Application besides this editor.

…you should switch HD ON…

The Business View Designer is designing the View using redView Editor:

  • Drag’n’Drop of Elements
  • Adding something new
  • Undo Modifications etc.

After saving the View these changes are pushed to all running RCP Applications by magic.

Thats behind the magic:

All SWT Views are dynamically rendered by redView, the Views are EMF models, which itself are generated using openArchitectureWare (Xpand/Xtend, MWE) from an UML (Magicdraw) model.

All redView view models are stored into a CDO repository living on a server in another city. All changes are pushed from CDO over the Internet to all connected clients. Without the need of restarting the app or updating/refreshing bundles.

Isn’t this cool ?

(Before you ask: no, there’s currently no download of redView available – you have to wait until november, because we have to prepare a customer event before.)

HowTo install CDO 3.0

We need CDO 3.0 because there was a small problem: CDO scaled well for large models because of lazy loading, but failed loading a small “deep” model like a SWT view at once over the internet. Thanks to Eike Stepper now there’s a new fetching strategy available and it works great 🙂

An here’s the solution how to get CDO 3.0 into your Helios M2 installation until there’s a CDO – P2 updatesite online available again.

Please got to the CDO Build: https://build.eclipse.org/hudson/view/Modeling/job/cbi-emf-net4j-cdo-3.0/ and open the last successfull build:

cdo last successfully build

then click on build/N2009….. and from the list select the emf-cdo-update, which is a downloadable P2 Update Site:


After downloading you can unzip and use this as a Local P2 Updatesite:

cdo local site

Now you can install CDO 3.0 and Net4J and finally your Helios M2 Modeling Installation looks like

cdo installation done

3 responses

  1. Lovely! I think this is promising for making cloud applications based on EMF and CDO.

    I’m working on something similar myself: Share an EMF model of UI among editor and clients. In my case the shared model is changed both when it is explicitly edited (editor) and when the user interacts with it (client), e.g. selects an item in a list. In addition, the sharing is ad-hoc, i.e. not set up in advance.

    Three problems I’ve encountered are 1) how to share just a part of the model, 2) how to control updates resulting from interaction (without commands/save) and 3) how to control how the data that goes into the UI is shared.

    • I’ll describe the usecases of redView in detail together with some examples in november.
      EMF and CDO is only used for the UI model, at startup of RCP app the app connects to a CDO server and reads all business views from there.
      Those business views are SWT views (in real: Riena Ridgets) and dynamically rendered.

      Databinding of these Views is not done by EMF – its classical Eclipse databinding and backend in my case is EJB3/JPA/Hibernate,
      connection from RCP clients to OSGI server using Riena Remote Services.

      The redView Designer editor is running inside Eclipse IDE – here you can connect to more then one CDO server to support different clients.
      A Business Designer can make changes to the UI model using Drag’n’drop and all clients connected to the CDO server will get it by pushing the modifications.
      Here it makes no sense to push each single step – so we push if designer saves his work.

      redview can also be used only for prototyping: EMF view models are generated from UML model, the business customer can test the Views, make changes via Designer, Developer gets it, can also do changes etc.

  2. Pingback: Java Blog » Ekkehard Gentz: [helios] HowTo get CDO 3.0 to push View Modifications into running RCP Apps

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: