- Eclipse-Databinding and its new features
- EMF-Databinding (Provisional but working very smoothly)
- Teneo: Persist your model via hibernate in a SQL-Database
- CDO: Share your model between different clients and persist it into an SQL-Database (with Revision support)
- New Extension Points to enhance the Expression Framework
- Spring & OSGi
- P2 to install the Products using the P2-Agent
As always when learning new technologies I created an example application but before I started I defined some goals I think are curcial to all Enterprise Datacentric Desktop Applications:
- Nice L&F (as good as I can make an UI Look without a designer)
- Plugable storage technology
- Undo/Redo Support
- How to create an EditingDomain myself when not using the generated editor-classes from EMF?
- How to use the new org.eclipse.ui.services-Extension point to enhance the expression framework?
- Best strategy to use Extension Points when bundles are installed/uninstalled/updated while the application is running
All those things are not hard if you know how to do it but if you don't it's quite tricky to solve these problems. It even gets harder if the technologies you plan to use are quite new and/or are not used together and because of this bugs arise.
So the immediate output of my work was that 2 bugs [239015, 245183] in Eclipse-Databinding got fixed in 3.4.1.
The longterm output for me is:
- I now have a good picture how our next technology stack looks like
- I have an example application (I will add other things in the next weeks) to teach my co-workers the technologies
- I had a lot of fun (besides struggeling with P2)
- You have a small application showing you a lot of different concepts around RCP+EMF+Databinding applications
- Usage/Creation of your own Extension Points
- Using EditingDomain outside the scope of EMF-Generated artefacts
- Using Teneo
- Using CDO
- I started summerizing all the ideas, technologies and concepts combined in this example in a document, I'm working on from time to time. So maybe some time you'll get a "book" explaining you everything
- Some nice reusable classes e.g. one to use EMF/Databinding-LabelProviders with cool features, a new drop down widget showing a Tree in the popup, ...
This is the application:
If you want to run it locally get a copy of the P2-Agent and point the metadata repository and artifacts repository to this location.
To use the CDO-Version you also need a server component which can be installed when pointing the agent to this location. After having installed the CDO-Server you also have to create a CDO-Configuration (cdo-server.xml) in the installations "configuration" directory which you can fetch from here.
The repository name in the above config "CDO-1" has to be the id of the CDO-Configuration you create in your application.
Finally if you are interested only in the sources then install a subversion plugin in your eclipse and use one of te Team-ProjectSet files from here to check out the necessary projects.
If you want to learn more about these cool technologies. I've proposed beside a talk about E4 - The new platform-ui concepts a talk about this example application on ESE.