Building an Enterprise Repository with EMF, CDO and EEF Technologies
Par Jérôme le mercredi 13 janvier 2010, 15:48 - IDM/MDE... - Lien permanent
Last week, we have delivered a prototype of an enterprise repository for a big french insurance company.
What's an enterprise repository?
An enterprise repository can create a multi-dimensionnal space involving all components of an information system. The implementation of such a tool is part of a governance policy on a large scale information system.

The figure above illustrates how a repository is used to align the IT vision on the Business dimension. This tool aggregates all the foundations of the Information System and can easily navigate to this logical view in order to study changes impacts, and define transformations and modernization plans, ...
In our case most of the information already existed, so we decided to create connectors to feed the repository. Existing information are generally collected from :
- Existing tools : in fact several tools are used to manage information system, but each tools are isolate. In example we have develop a connector to extract the content of MEGA Repository and add the capability to reference this content with other contents.
- Legacy systems : Database schemas, existing application (Cobol, Natural, Java,...)
Technically, we use the Eclipse Modeling technologies:
- EMF: to define metamodels
- CDO: to store and share our big model
- EEF: to provide editor and sexy properties views
So, A great opportunity for the Obeo Guys to contribute to the CDO project!
In fact, with Gonzague we developed a new feature, the "push mode" aka the
local transaction support. We have carried out in collaboration with Eike, our
CDO mentor

Some details about this feature:
In CDO, the publishing workflow in the repository is:
- Open CDO editor
- Add some changes
- Save your editor
- CDO sends changes in the repository
Our contribution introduces the concept of Local Transaction. It adds a step to this worflow:
- Open CDO editor
- Add some changes
- Save your editor
- CDO store all deltas in a local binary file
- When the user invokes the "Push" action, CDO sends all changes in the repository.
With this feature, we can also restart eclipse, and restore your local changes later on a new session.
Special thanks for Gonzague and Eike for their works! (#298055,#298178,#298568,#297967,#298334)
The next step, is use GMF with Obeo Designer facilities to provide dedicated viewpoints for each kind of actors.