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.

Enterprise Repository

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:

  1. Open CDO editor
  2. Add some changes
  3. Save your editor
  4. CDO sends changes in the repository

Our contribution introduces the concept of Local Transaction. It adds a step to this worflow:

  1. Open CDO editor
  2. Add some changes
  3. Save your editor
  4. CDO store all deltas in a local binary file
  5. 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.