User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

MDM Configuration

Overview

These articles are intended to provide a detailed description of the configuration files and configuration possibilities in general.

MDM consists of the following artifacts:

  1. MDM Server. Spring Boot-based server for the MDM Engine.

    1. MDM Admin Center. Enables to administer MDM via a graphical user interface. See MDM Admin Center Extras for additional engine component items added into the standard WebConsole.

    2. Runtime Server Integration. Some components require the use of the ONE Runtime Server. See Runtime Server components and Server Configuration for MDM Web App.

  2. MDM Engine. Adds integrated framework based on Ataccama best practices. Configuration is in the New Matching Engine (NME) - an engine capable of handling large volume loads as well as online queries and modifications.

    1. MDM Engine Configuration File. See MDM Engine Configuration File.

    2. Persistent Storage. Tables and columns including pseudocolumns. See Persistence Layer

  3. MDM Web App. A GUI frontend for the MDM Engine. See MDM Web Application Configuration.

  4. MDM model project templates. Definitions written in Advanced Metadata Editor (AME), which is represented in the Model Explorer.

    1. Sample projects suitable for the matching engine.

      1. General CDI project. A sample project including a small data set.

      2. Blank general MDM project. Project structure without content.

See also ONE Desktop and ONE Runtime Server documentation for more information.

MDM Server (Spring Boot application)

The MDM Server serves as a Spring Boot wrapper for the Runtime Server, which is used for workflows and online services. The start-mdm-server.bat script uses serverConfig as a parameter:

call %MDM_SERVER_HOME%\bin\start.bat -config="%PROJECT_HOME%\etc\mdm.serverConfig" start
The HttpDispatcher and LoggingComponent are to be used only when running the Runtime Server as a standalone solution.

Runtime Server components

Only the components listed here can be used as part of the serverConfig file that is referenced by the MDM server.

When the MDM server starts, additional items are shown in the Admin Center (see MDM Admin Center Extras).

To see an example of all supported settings and components, see the following example.

mdm.serverConfig example
<?xml version='1.0' encoding='UTF-8'?>
<server>
    <port>8059</port>
    <runtimeConfiguration>mdm.runtimeConfig</runtimeConfiguration>
    <serverComponents>

        <component class="com.ataccama.dqc.server.services.HealthStateProviders"
            pathVariableRefreshRate="60" dataSourceRefreshRate="60" />

        <component class="com.ataccama.dqc.web.console.WebConsoleComponent" />

        <component class="com.ataccama.dqc.web.health.HealthStateWebConsole" />

        <component class="com.ataccama.dqc.server.services.VersionedFileSystemComponent">
            <versionedFolders>
                <versionedFolder>../data/ext/lkp</versionedFolder>
            </versionedFolders>
        </component>

        <component class="com.ataccama.dqc.online.OnlineServicesComponent">
            <serviceLookupFolders>
                <configFolder>../services</configFolder>
            </serviceLookupFolders>
        </component>

        <component class="com.ataccama.adt.web.WorkflowServerComponent">
            <sources>
                <source>
                    <path>../workflows</path>
                    <id>WF1</id>
                </source>
            </sources>
            <resourcesFolder>../storage/resources/workflow</resourcesFolder>
            <stateStorageProvider
                class="com.ataccama.adt.runtime.state.storage.FileStateStorageProvider" />
        </component>

        <component
            class="com.ataccama.adt.scheduler.server.SchedulerServerComponent">
            <sources>
                <source>
                    <path>../schedulers</path>
                    <id>S1</id>
                </source>
            </sources>
            <resourcesFolder>../storage/resources/scheduler</resourcesFolder>
            <resultPersister
                class="com.ataccama.adt.scheduler.persister.FileStateResultPersister" />
        </component>

        <component class="com.ataccama.dqc.streaming.KafkaProviderComponent">
            <!-- <kafkaResources>
                <string>myKafkaResource</string>
            </kafkaResources> -->
        </component>
        <component class="com.ataccama.dqc.jms.JmsProviderComponent">
            <!--
            <connectionPoolSize>5</connectionPoolSize>
            <healthStateRefreshRate>60</healthStateRefreshRate>

            <filters>
                <jmsFilterBean>
                    <filter logRequestContents="true" logResponseContents="true" logFile="myRequestResponse.log" logRequestHeaders="true" maxResponseLogSize="128" appendLog="true" class="com.ataccama.dqc.jms.filters.JmsLoggingFilter" logResponseHeaders="true" maxRequestLogSize="128"/>
                    <mappings>
                        <filterMappingBean destination="myMessageQueue1" connection="myJmsConnection1"/>
                        <filterMappingBean destination="myMessageQueue2" connection="myJmsConnection2"/>
                    </mappings>
                </jmsFilterBean>
                <jmsFilterBean>
                    <filter level="INFO" name="myTimeLogger" class="com.ataccama.dqc.jms.filters.JmsResponseTimeLogger"/>
                    <mappings>
                        <filterMappingBean destination="*" connection="myJmsConnection2"/>
                    </mappings>
                </jmsFilterBean>
            </filters>
            <jmsResources>
                <resource>myJmsConnection1</resource>
                <resource>myJmsConnection2</resource>
                <resource>myJmsConnection3</resource>
            </jmsResources> -->
        </component>

    </serverComponents>
</server>

Configuration files naming convention

The main configuration is defined in the MDM Server application.properties file, which links to the MDM Engine configuration file nme-config.xml.

The names of configuration files are generally used as outlined previously and also on related pages. See the typical names used in this description and their hierarchy.

Was this page useful?