The openMDM® Eclipse Working Group is developing intensively on openMDM® 5. Basis for this is a completely new multi-layer architecture. The graph below gives an overview.
The MDM Components shown there make different functionalities available, such as data navigation, search and selection. There are two types of MDM Components: Rich and Headless. The distinction is made solely regarding the UI capabilities that a component may expose. Rich components deliver at least one UI part based on the Remote Presentation Model Pattern. Headless components do not expose an UI part.
The Remote Presentation Model enables developers to push the logic of a component to the server side. This frees them from re-implementing application logic for each different UI stack. Building a new client using a different UI technology results in more reusability as it is only the new visuals that must be created. The logic and data interactions remain the same.
MDM Components – whether located local or remote – may expose their inputs/outputs and operations using REST. This enables a low coupling of components.
The Data Access Module is responsible for transforming data from and to ASAM ODS, as well as executing specific operations on said data. It is comprised of 3 parts:
- The MDM API is the layer that defines openMDM® entities (business objects), their relationships and interactions
- The ODS Adapter shields the MDM API from any ODS features. Other persistence solutions can hooked on too, for example simple ATFx files or Big Data infrastructures
- The Connector Service, is for communication between MDM Components and Data Access Modules
This allows to support multiple data stores and to host Data Access Modules at different places. Of course, there can be data sources also outside of a particular physical site or network area.
Additionally the openMDM® 5 platform defines a set of core services (not shown in the graph), which are used to instantiate and manage MDM Components as well as to allow user to configure openMDM® systems and applications. This includes also services for authentication, monitoring, logging, auditing and internationalization.
All this adds up to a modern application architecture, which provides a flexible, versatile, robust and scalable foundation for the implementation of global, multi side solutions for test data management.