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 EBX.Platform is XML Schema.

We will start with the creation of a sample model provided with EBX.Platform. 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 EBX.Platform. This schema is simple, but will show you the main concepts of Master Data modeling in EBX.Platform. It is located in the ebx_home/schemas/ directory.

You can use this schema or create a new one. We recommend to store your XML schemas in the ebx_home/ directory. This will allow EBX.Platform 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 EBX.Manager.

To create the root adaptation, log in EBX.Manager with a Provider profile:

On 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 specify a relative URI:

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

You must then type a name for the root adaptation. This name identifies the adaptation in the current EBX.Platform repository, in a unique and persistent way. It will also identify it in all EBX.Platform 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 EBX.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 EBX.Manager.

> Learn more on Concepts & XML Schema Prerequisites

3. Define Master Data

Below, we design 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 © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0xmlns:osd="urn:ebx-schemas:common_1.0
xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation
="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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 © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0xmlns:osd="urn:ebx-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation
="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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 EBX.Manager to display the mode

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0xmlns:osd="urn:ebx-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation
="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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>
                                        <
osd:label>Rate discount</osd:label>
                                        <
osd:description>Discount rate offered, 
in percent (%)</osd: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 © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0xmlns:osd="urn:ebx-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation
="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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>
                                        <osd:label>Rate discount</osd:label>
                                        <osd:description>Discount rate offered, 
in percent (%)</osd: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 EBX.Manager

To visualize our Master Data, log in EBX.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 EBX.Platform. 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 EBX.Platform. Il se trouve dans le répertoire ebx_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 ebx_home/. Cela permettra à EBX.Platform 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 EBX.Manager.

Pour créer l'adaptation racine, connectez vous à l'outil EBX.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 ebx_home/schemas/. Nous indiquons donc une URI relative :

${ebx.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 EBX.Platform 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 EBX.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 EBX.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 © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0xmlns:osd="urn:ebx-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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 © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0xmlns:osd="urn:ebx-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation
="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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 EBX.Manager.

<?xml version="1.0encoding="UTF-8"?>
<!--                                                                  -->
<!--    Copyright © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0
xmlns:osd
="urn:ebx-schemas:common_1.0xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation
="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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>
                                        <
osd:label>Rate discount</osd:label>
                                        <
osd:description>Discount rate offered, 
in percent (%)</osd: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 © Orchestra Networks 2000-2007. All rights reserved.  -->
<!--                                                                  -->
<xs:schema xmlns:fmt="urn:ebx-schemas:format_1.0xmlns:osd="urn:ebx-schemas:common_1.0
xmlns:xs
="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="urn:ebx-schemas:common_1.0
schemaLocation
="http://schema.orchestranetworks.com/common_1.0.xsd"/>
    <xs:element name="rootosd: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>
                                        <osd:label>Rate discount</osd:label>
                                        <osd:description>Discount rate offered, 
in percent (%)</osd: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 EBX.Manager

Pour visualiser les Master Data créées, connectez-vous à EBX.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