Home > Models

Getting Started

An adaptation model is a data model for a set of Master Data (please read Important Concepts first). The language used by webMethods MDM is XML Schema.

We will start with the creation of a sample model provided with webMethods MDM. We recommend to use an XML Schema graphical editor such as XML Spy(tm) from Altova.

1. Create an XML Schema

A sample XML schema gettingStarted.xsd is provided with webMethods MDM. This schema is simple, but will show you the main concepts of Master Data modeling in webMethods MDM. Its is located in the mdm_home/schemas/ directory.

You can use this schema or create a new one. We recommend to store your XML schemas in the mdm_home/ directory. This will allow webMethods MDM to access it with a relative path, and to avoid deployment errors.

2. Create a root adaptation

A root adaptation is the initial adaptation created from the adaptation model and visible in webMethods Master Data Manager.

To create the root adaptation, log in webMethods Master Data Manager with a Provider profile:

At the left side of the screen, click on the create link and choose external schema. You have to type a valid XML Schema address. The URI can be absolute or relative

In our example, we indicate a relative URI:

${mdm.home}/schemas/gettingStarted.xsd.

You must then type a name for the root adaptation. This name identifies the adaptation in the current webMethods MDM repository, in a unique and persistent way. It will also identify it in all webMethods MDM repositories where the adaptation will be deployed. In our example, we name the root adaptation gettingStarted.

Finally, you may notice that the name of the root adaptation is displayed in webMethods Master Data Manager.

Now we have an adaptation model and a root adaptation. We will edit the adaptation model. At the end of this section, we will visualize the result in webMethods Master Data Manager.

> Learn more on Concepts & XML Schema Prerequisites

3. Define Master Data

We design below a promotion Master Data called "rebate" ; it defines a label, a begin date, a end date and a rate.

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0xmlns:mdm="urn:mdm-schemas:common_1.0
xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation
="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <
xs:sequence>
                <
xs:element name="rebate">
                    <
xs:complexType>
                        <
xs:sequence>
                            <
xs:element name="labeltype="xs:string"/>
                            <
xs:element name="beginDatetype="xs:date"/>
                            <
xs:element name="endDatetype="xs:date"/>
                            <
xs:element name="rate" type="xs:decimal"/>
                        </xs:sequence
>
                    </xs:complexType
>
                </xs:element
>
            </xs:sequence
>
        </xs:complexType
>
    </xs:element>
</xs:schema>

> Learn more on Data Types

4. Define a constraint

We will now define a facet on the rate, in order to specify min/max boundaries (rate between 0 and 50%).

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0xmlns:mdm="urn:mdm-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation
="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rebate">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="labeltype="xs:string"/>
                            <xs:element name="beginDatetype="xs:date"/>
                            <xs:element name="endDatetype="xs:date"/>
                            <xs:element name="rate">
                                <
xs:simpleType>
                                    <
xs:restriction base="xs:decimal">
                                        <
xs:maxInclusive value="50"/>
                                        <
xs:minExclusive value="0"/>
                                    </xs:restriction
>
                                </xs:simpleType
>
                            </xs:element
>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

> Learn more on Constraints

5. Add presentation information

We add presentation information to the rate Master Data (label and description, the default locale is defined in the module.xml file).
Those optional information allow to document the model and are used by webMethods Master Data Manager to display the mode

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0xmlns:mdm="urn:mdm-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation
="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rebate">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="labeltype="xs:string"/>
                            <xs:element name="beginDatetype="xs:date"/>
                            <xs:element name="endDatetype="xs:date"/>
                            <xs:element name="rate">
                                <xs:annotation>
                                    <
xs:documentation>
                                        <
mdm:label>Rate discount</mdm:label>
                                        <
mdm:description>Discount rate offered, 
in percent (%)</mdm:description
>
                                    </xs:documentation
>
                                </xs:annotation
>
                                <xs:simpleType>
                                    <xs:restriction base="xs:decimal">
                                        <xs:maxInclusive value="50"/>
                                        <xs:minExclusive value="0"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

> Learn more on Labels & Error Messages

6. Create a resuable type

We will now create a complex product type that contain 4 Master Data. This type will be reusable in the adaptation model. We create this type at the end of the XML Schema:

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0xmlns:mdm="urn:mdm-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation
="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rebate">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="labeltype="xs:string"/>
                            <xs:element name="beginDatetype="xs:date"/>
                            <xs:element name="endDatetype="xs:date"/>
                            <xs:element name="rate">
                                <xs:annotation>
                                    <xs:documentation>
                                        <mdm:label>Rate discount</mdm:label>
                                        <mdm:description>Discount rate offered, 
in percent (%)</mdm:description>
                                    </xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:decimal">
                                        <xs:maxInclusive value="50"/>
                                        <xs:minExclusive value="0"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="product_xv34type="ProductType"/>
                <
xs:element name="product_xv37type="ProductType"/>
                <
xs:element name="product_xz12type="ProductType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="ProductType">
        <
xs:sequence>
            <
xs:element name="productLabeltype="xs:string"/>
            <
xs:element name="availabilitytype="xs:date"/>
            <
xs:element name="pricetype="xs:decimal"/>
            <
xs:element name="isDisplayedtype="xs:boolean"/>
        </xs:sequence
>
    </xs:complexType
>
</xs:schema>

> Learn more on Complex Types

7. Final result in webMethods Master Data Manager

To visualize our Master Data, log in webMethods Master Data Manager in Provider profile :

First, you need to refresh the model, using the Refresh model link in the yellow developer bar at the top of the screen. Click on the CONFIGURE menu, select the adaptation model, then the root adaptation. to visualize parameters, click on the tab Parameters (selected by default).

You can navigate in the adaptation model and change Master Data values of the root adaptation. See Manager help.

Démarrage rapide

Le modèle d'adaptation définit des Master Data (données de référence) (Veuillez lire la section (Concepts Importants). Il prend la forme d'un document XML Schema qui contient des types de données et de contraintes sur ces types ("facettes" en terminologie XML Schema).

Nous allons procéder dans ce "démarrage rapide" à l'édition d'un modèle d'adaptation d'exemple fourni avec webMethods MDM. Nous vous recommandons d'utiliser un éditeur XML Schema graphique tel que XML Spy(tm) d'Altova.

1. Creation d'un schema XML

Un schéma XML d'exemple gettingStarted.xsd vous est fourni avec webMethods MDM. Il se trouve dans le répertoire mdm_home/.

Vous pouvez utiliser ce schéma ou en créer un nouveau. Nous vous recommandons de sauvergarder vos schémas XML dans le répertoire mdm_home/. Cela permettra à webMethods MDM d'y accéder selon un chemin relatif, et ainsi d'éviter toute erreur de déploiement.

2. Creation d'une adaptation racine

Une adaptation racine est l'adaptation initiale créée à partir du modèle d'adaptation et visible dans l'outil webMethods Master Data Manager.

Pour créer l'adaptation racine, connectez vous à l'outil webMethods Master Data Manager en profil Fournisseur :

En dessous de la liste à gauche de l'écran, cliquez sur le lien créer... Vous devez saisir l'adresse d'un schéma XML. L'URI peut être absolue ou relative.

Dans notre exemple, le schéma XML gettingStarted.xsd est livré dans le dossier mdm_home/schemas/. Nous indiquons donc une URI relative :

${mdm.home}/schemas/gettingStarted.xsd.

Vous devez ensuite saisir un nom pour l'adaptation racine. Ce nom identifie de manière unique et persistente l'adaptation dans le référentiel courant. Il devra aussi l'identifier dans les référentiels webMethods MDM où elle sera éventuellement déployée plus tard.

Dans notre exemple, nous nommons l'adaptation racine gettingStarted.

Enfin, vous pouvez modifier l'intitulé de l'adaptation racine qui apparaît dans webMethods Master Data Manager. Par défaut, le nom saisi précédemment est utilisé.

A présent que nous disposons d'un modèle d'adaptation et de son adaptation racine, nous allons éditer le modèle pour l'enrichir. A la fin de cette partie, nous visualiserons le résultat dans webMethods Master Data Manager.

> En savoir plus sur les modèles et les prérequis XML Schema

3. Définir des Master Data

Nous modélisons ci-dessous une Master Data complexe de promotion "rebate" qui définit un libellé, une date de début, une date de fin et un taux.

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0xmlns:mdm="urn:mdm-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <
xs:sequence>
                <
xs:element name="rebate">
                    <
xs:complexType>
                        <
xs:sequence>
                            <
xs:element name="labeltype="xs:string"/>
                            <
xs:element name="beginDatetype="xs:date"/>
                            <
xs:element name="endDatetype="xs:date"/>
                            <
xs:element name="rate" type="xs:decimal"/>
                        </xs:sequence
>
                    </xs:complexType
>
                </xs:element
>
            </xs:sequence
>
        </xs:complexType
>
    </xs:element>
</xs:schema>

> En savoir plus sur les types de données

4. Définir une contrainte

Nous allons à présent créer une facette sur le taux du rabais afin de définir des bornes inférieure et supérieure (taux compris entre 0 et 50%). Pour cela, nous modifons l'élément rate du modèle :

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0xmlns:mdm="urn:mdm-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation
="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rebate">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="labeltype="xs:string"/>
                            <xs:element name="beginDatetype="xs:date"/>
                            <xs:element name="endDatetype="xs:date"/>
                            <xs:element name="rate">
                                <
xs:simpleType>
                                    <
xs:restriction base="xs:decimal">
                                        <
xs:maxInclusive value="50"/>
                                        <
xs:minExclusive value="0"/>
                                    </xs:restriction
>
                                </xs:simpleType
>
                            </xs:element
>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

> En savoir plus sur les contraintes

5. Ajout d'informations de présentation

Nous allons ajouter à la Master Data rate des informations de présentation (libellé et description, la locale par défaut est définie dans le fichier module.xml). Ces informations optionnelles permettent de documenter le modèle et sont utilisées par l'outil webMethods Master Data Manager.

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0
xmlns:mdm
="urn:mdm-schemas:common_1.0xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation
="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rebate">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="labeltype="xs:string"/>
                            <xs:element name="beginDatetype="xs:date"/>
                            <xs:element name="endDatetype="xs:date"/>
                            <xs:element name="rate">
                                <xs:annotation>
                                    <
xs:documentation>
                                        <
mdm:label>Rate discount</mdm:label>
                                        <
mdm:description>Discount rate offered, 
in percent (%)</mdm:description
>
                                    </xs:documentation
>
                                </xs:annotation
>
                                <xs:simpleType>
                                    <xs:restriction base="xs:decimal">
                                        <xs:maxInclusive value="50"/>
                                        <xs:minExclusive value="0"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

> En savoir plus sur les labels et messages d'erreur

6. Creation d'un type réutilisable

Nous allons à présent créer un type complexe product contenant 4 Master Data. Ce type sera réutilisable dans le modèle d'adaptation. Ce type complexe est créé à la fin du document XML Schema :

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Software AG 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:mdm-schemas:format_1.0xmlns:mdm="urn:mdm-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:mdm-schemas:common_1.0
schemaLocation
="http://schema.softwareag.com/common_1.0.xsd"/>
    <xs:element name="rootmdm:access="--">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="rebate">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="labeltype="xs:string"/>
                            <xs:element name="beginDatetype="xs:date"/>
                            <xs:element name="endDatetype="xs:date"/>
                            <xs:element name="rate">
                                <xs:annotation>
                                    <xs:documentation>
                                        <mdm:label>Rate discount</mdm:label>
                                        <mdm:description>Discount rate offered, 
in percent (%)</mdm:description>
                                    </xs:documentation>
                                </xs:annotation>
                                <xs:simpleType>
                                    <xs:restriction base="xs:decimal">
                                        <xs:maxInclusive value="50"/>
                                        <xs:minExclusive value="0"/>
                                    </xs:restriction>
                                </xs:simpleType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="product_xv34type="ProductType"/>
                <
xs:element name="product_xv37type="ProductType"/>
                <
xs:element name="product_xz12type="ProductType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="ProductType">
        <
xs:sequence>
            <
xs:element name="productLabeltype="xs:string"/>
            <
xs:element name="availabilitytype="xs:date"/>
            <
xs:element name="pricetype="xs:decimal"/>
            <
xs:element name="isDisplayedtype="xs:boolean"/>
        </xs:sequence
>
    </xs:complexType
>
</xs:schema>

> En savoir plus sur les types complexes

7. Résultat final dans webMethods Master Data Manager

Pour visualiser les Master Data créées, connectez-vous à webMethods Master Data Manager en profil Fournisseur.

Il est préalablement nécessaire de rafraîchir le modèle à l'aide du lien Rafraîchir modèle situé dans la barre Développeurs en haut de l'écran. Dès qu'une modification est apportée à un modèle d'adaptation, il est nécessaire de rafraîchir le modèle.

Cliquez sur le menu Configurer, sélectionnez le modèle d'adaptation, puis sur l'Adaptation Racine. Pour visualiser les Master Data, cliquez sur l'onglet Paramètres (sélectionné par défaut).

Voir la documentation de l'outil Manager.

 

Home > Models