Architecture
MDM is composed of the following:
-
Master Data Management Engine (MDM): The superset engine that includes all other engines, including the Data Quality engine. This engine works with the MDM model and the storage.
-
Master Data Management Web App (MDM Web App): A web application that serves as the user interface for managing master data hosted by MDM.
-
Shared platform components: A set of supporting components (such as batch interfaces, online interfaces, adapters) that can be added into MDM to support development, orchestration, high availability (HA), or other special functionalities. The shared components are a result of modular architecture of the Ataccama ONE Platform.
The Master Data Management engine encompasses the following:
-
Modeling: MDM follows a model-based MDM implementation. The model is the central piece used to derive all functionality and to speed up the MDM implementation. For more information, see MDM Model.
-
Repositories: MDM relies on the MDM storage for persistence of master data. The MDM storage consists of a set of repositories supporting incremental MDM operations: repositories for MDM-hosted data and matching repositories for the matching metadata of mastered entities. To learn more, see MDM Storage.
-
DQ Engine: A state-of-the-art rule-based engine with high performance. This engine is encompassed by the MDM technology to provide all the DQ needed in the MDM cleansing process.
MDM user interfaces
The following components are MDM user interfaces:
-
MDM Web App: A web application for browsing the MDM-hosted data. It includes features such as a powerful text search and favorites.
-
Admin Center: A web application for managing operational tasks and monitoring the state of the MDM server. This includes DQ and MDM services, active workflows, scheduled and on-demand executions, resource monitoring, and more. Most of the elements are optional and must be first enabled. To learn more, see MDM Web App Admin Center.
MDM engine
The MDM backend is formed by the following:
-
MDM Engine: An engine capable of handling large-volume batch loads and exports and supporting online interfaces for data modification and data providing.
-
MDM Web App Logic: A component that handles communication between MDM Engine and shared components and prepares data for visualization.
-
MDM Server: A Springboot-based server for the MDM Engine.
-
Shared components:
-
Server components like Workflow, Scheduler, Admin Center, and others.
-
Non-functional components like audit, monitoring, logging, access rights, and high availability.
-
-
Client-specific libraries and modules (with functionality specific to the client or beyond the out-of-the-box feature set).
Engine details
The MDM Engine is suitable for both consolidation and transactional use. It includes the following:
-
Batch Interfaces: Batch interfaces (both load and export) communicate with the data hub or other sources when using MDM for batch jobs.
-
Native Services: An MDM engine element representing the online interfaces, which provide the abstraction for service gates and allow the engine to integrate in SOA. Native services are MDM services derived from the data model and are available in a variety of types (using different formats over different protocols).
-
Stream Interface: An interface that allows to group messages and process them in bigger chunks. The chunk size is defined by the number of messages or by the maximum latency parameter.
Processing is triggered by the parameter that is first fullfilled. Currently, JMS and Kafka interfaces are available.
-
Master Data Engine: This component is in charge of defining the operation plan and taking the steps of the MDM process to execution. The Engine is triggered by batch interfaces or native services to load or provide data.
It is also connected to the Event Handler, Publisher, and Task Listener for triggering different actions when processing data.
-
Event Handler and Publisher: This element is close to Master Data Engine and captures data events or changes, allowing to propagate them to consuming systems.
-
Task Listener: A component triggering different actions based on Master Data Engine events and allows event-based orchestration.
-
Persistence Layer: An MDM engine element that provides durability of the MDM-hosted data. Except for current data, MDM engine can collect historical data as well. See MDM Storage.
MDM integration
MDM can work in online, stream, batch, as well as hybrid mode, supporting all the integration tasks behind those different deployments.
On a SOA environment, MDM offers the following:
-
Native services: A set of out-of-the-box services for common MDM operation and other services, such as maintenance, monitoring, and supporting operations. These services are derived from the model built as the core of the MDM project.
Supported types of services are SOAP over HTTP, XML over HTTP, and XML over JMS. All services are also available as JSON (using REST API plugin).
-
Custom services: Services created and maintained by developers. All created processes can be exported as online services.
The tool supports SOAP over HTTP, JMS, and JSON services out-of-the-box, and custom CSV over HTTP service to allow for bulk processing with minimal overhead.
Developers can also create compound services by integrating MDM with an ESB and building complex composite services. Those services can be composed using both native and custom services.
MDM contains fully customizable reader and writer steps for both delimited and fixed-width text files. These files can be encoded in as many formats as supported by the Java technology. MDM is able to understand both the encoding and the structure and parse the data from the files adequately.
Various industry-adopted binary formats (such as MS Excel or DBF) are supported:
-
Microsoft Excel readers and writers support multiple versions as well as Excel templates for creating formula-based and rich Excel files.
-
Support for reading different file formats. This is provided via the Component Library, where individual readers or adapters are developed on top of the MDM Generic Data Reader step. For example, DTAUS file, mainframe/COBOL binary files with Copybook metadata, and other file formats.
MDM supports integration with files that follow a structured standard, for example:
-
MDM can read and write to structured data files on XML. XML is the main standard used throughout the tool, and there is a special group of steps to both read and write data.
The data is flattened through a process of stream reading and deflattened by confectioning template structures, which are parametrized with the values coming from the records in the MDM flow. xPath is supported to access the data more efficiently.
-
MDM also supports other structured data types, such as JSON, in a similar fashion.
MDM can connect to a wide array of database systems. This integration can be achieved in two different ways: natively or by using special connectors to particular legacy or non-RDBMS systems.
-
Connectivity to all industry-standard RDBMS engines is provided by JDBC and ODBC drivers. These can be for input and output operations, as sources or targets.
Out of the box, MDM includes JDBC drivers for most common enterprise databases, such as Oracle, MS SQL, Teradata, DB2, and PostgreSQL.
-
In addition, MDM can use special connectors or adapters that support all major relational and non-relational databases, as well as legacy systems, information systems, CRM/ERP systems, and more.
Connectivity to non-relational and legacy systems is maintained by the aforementioned adapters. These offer connectivity to over 300 systems, enabling access to virtually any other system.
Was this page useful?