The transformation from current architecture to the modular architecture will be iterative and incremental.

Iterative

At the end of each iteration, a production-ready version of openIMIS will be delivered.

To be production-ready implies that, at each iteration:

Each project will have the choice to join the new openIMIS platform at that iteration or not.

Incremental

The aim is to cover all current openIMIS features (of each implementation) with plugins in the (new) openIMIS.

However, not everything will be ready at first iteration. To ensure a production-ready delivery, openIMIS will, as a consequence, be built upon proxy plugins to (legacy) implementation.

Proxy plugins will be developed in the various layers and will be replaced once the new implementation is ready.


Transformation Phases


Proxy replacement with standardisation

Replacing a proxy (by own implementation or delegation) is one opportunity to adopt existing standards.

The relevance of the various standards (FIHR,...) will be analysed prior to (re)implementation of the concerned plugins.

The migration feasibility (and cost) is probably the major concern for this transformation. One alternative is to have several implementations of specific modules, to be chosen according to each project's needs.