Home > Models
Concepts and XML Schema Prerequisites
An adaptation model is a data model for a set of Master Data. It is an XML Schema document, which provides a rich typing system that is used by EBX.Platform for ensuring Master Data consistency, and making it easy to manage them. Rich typing involves features such as :
- Well-defined basic datatypes (simple types : integer, boolean, decimal, date, time, ...) ;
- The ability to build more complex structures (complex types) ;
- The ability to define list of items (multiple occurrences) ;
- Validation constraints (facets) : enumerations, minimum/maximum boundaries, ....
EBX.Platform also uses XML Schema extensibility features for other useful informations, such as :
- Useful predefined types (locale, resource, html, ...) ;
- Definition of tables and foreign key constraints ;
- Mapping of Master Data to Java beans ;
- Advanced validation constraints (extended facets), like dynamic enumerations ;
- Presentation information : label, description, data format, error messages...
References
For an introduction to XML Schema, we recommend the W3School web site.
W3C specification documents: XML Schema Part 0: Primer, Part 1: Structures, Part 2: Datatypes.
Links between adaptations and adaptation models
An adaptation model is registered in EBX.Platform by its root adaptation. This root adaptation is created with EBX.Manager, by indicating the XML Schema URI.
In order to create a root adaptation, log in EBX.Manager - Provider profile:
- http://localhost:8080/ebx/
- Default login: provider
- Default password: provider
On the left side of the screen, click on the create link. You have to type a valid XML Schema address. The URI can be absolute or relative.

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 the EBX.Platform repositories where the adaptation will be deployed.
Note : An adaptation model can be packaged in a Web application, using a Module. In this case it benefits from Web applications features : class-loading isolation, WAR or EAR packaging, static Web resources exposition.
We strongly recommand to use Modules for your projects. Referencing adaptation models into EBX.Manager should be used for Data modeling only or projects that don't require any specific Service.
Pre-requisite for XML Schemas
In order to be accepted by EBX.Platform, an XML Schema must include a global element declaration which has an attribute osd:access="--".
<!---->
<!-- Copyright © Orchestra Networks 2000-2007. All rights reserved. -->
<!---->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:osd="urn:ebx-schemas:common_1.0" xmlns:fmt="urn:ebx-schemas:format_1.0">
<xs:import namespace="urn:ebx-schemas:common_1.0" schemaLocation="http://schema.orchestranetworks.com/common_1.0.xsd"/>
<xs:element name="root" osd:access="--">
</xs:element>
</xs:schema>
Conventions
By convention, namespaces are always defined as below:
Prefix |
Namespace |
| xs: | http://www.w3.org/2001/XMLSchema |
| osd: | urn:ebx-schemas:common_1.0 |
| fmt: | urn:ebx-schemas:format_1.0 |
Schemas with reserved names
Several schemas have reserved names on EBX.Platform.
We considered as reserved every reference to another schema (attribute schemaLocation of a tag import, include or redefine) that ends with one of the following strings:
- common_1.0.xsd
- org_1.0.xsd
- coreModel_1.0.xsd
- session_1.0.xsd
Those files correspond to the schemas provided for the module “ebx-root-1.0”, path /WEB-INF/ebx/schemas. The attribute schemaLocation can reference those files at this location or reference a copy, if the file name is the same. This is useful if you want to avoid the module dependency to “ebx-root-1.0”.
For security reasons, EBX.Platform takes back an internal definition of those schemas (to avoid any modification).
Concepts et prérequis XML Schema
Un modèle d’adaptation EBX.Platform est un modèle de données défini au moyen du standard XML Schema (recommandation W3C). Chaque nœud du modèle de données correspond à un type de données XML Schema et peut spécifier :
- Des types de données (types simples : integer, boolean, decimal, date, time, ...) ;
- La possibilité de définir des structures complexes (complex types) ;
- La possibilité de définir des listes d'éléments (multiple occurrences) ;
- Des contraintes de validation (facets) : enumerations, bornes minimum/maximum , ....
EBX.Platform utilise également les capacités d'extension de XML Schema afin de définir des informations utiles telles que :
- Types pré-définis (locale, resource, html, ...) ;
- Definition de tables et contraintes de clé étrangère ;
- Mapping de données et de Java beans ;
- Contraintes de validation avancées (extended facets), telles que des nomenclatures dynamiques ;
- Informations de présentation : libellé, description, format de la donnée, messages d'erreur...
Références
Pour une introduction à XML Schema, nous vous recommandons de consulter le site W3School.
Documents de spécification du W3C : XML Schem Part 0: Primer, Part 1: Structures, Part 2: Datatypes.
Lien entre adaptations et modèle d'adaptation
Un modèle d'adaptation est référencé dans EBX.Platform par son adaptation racine. Cette dernière est créée à l'aide de l'outil EBX.Manager en indiquant l'URI du schéma XML.
Pour créer une adaptation racine, connectez vous à l'outil EBX.Manager en profil Fournisseur :
- http://localhost:8080/ebx/
- Default login: provider
- Default password: provider
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.

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 EBX.Platform courant. Il devra aussi l'identifier dans les référentiels EBX.Platform où elle sera éventuellement déployée plus tard.
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é.
Note : Un modèle d'adaptation peut également être packagé dans une application Web au moyen d'un module EBX. Cela permet de bénéficier des caractéristiques des applications Web : isolation du class-loading, packaging WAR ou EAR, exposition des ressources Web statiques...
Nous recommadons d'utiliser les Modules pour vos projets. Le référencement de modèles d'adaptation dans EBX.Manager est en principe utilisé uniquement dans les phases de modélisation ou dans les projets n'utilisant aucune ressource additionnelle ni aucun service.
Prérequis pour XML Schemas
Pour être accepté par EBX.Platform, un schéma XML doit inclure la déclaration d'un élément global qui comporte l'attribut osd:access="--".
<!---->
<!-- Copyright © Orchestra Networks 2000-2007. All rights reserved. -->
<!---->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:osd="urn:ebx-schemas:common_1.0" xmlns:fmt="urn:ebx-schemas:format_1.0">
<xs:import namespace="urn:ebx-schemas:common_1.0" schemaLocation="http://schema.orchestranetworks.com/common_1.0.xsd"/>
<xs:element name="root" osd:access="--">
</xs:element>
</xs:schema>
Conventions
Par convention, les espaces de namespaces sont toujours définis comme suit :
Prefix |
Namespace |
| xs: | http://www.w3.org/2001/XMLSchema |
| osd: | urn:ebx-schemas:common_1.0 |
| fmt: | urn:ebx-schemas:format_1.0 |
Schémas avec noms réservés
Un certain nombre de schémas ont des noms réservés pour EBX.Platform.
Est considérée comme réservée, toute référence à un autre schéma (attribut schemaLocation d’une des balises import, include ou redefine) qui se termine par l’une des chaînes de caractères suivantes :
- common_1.0.xsd
- org_1.0.xsd
- coreModel_1.0.xsd
- session_1.0.xsd
En ce cas, les fichiers indiqués correspondent aux schémas fournis pour le module “ebx-root-1.0”, chemin /WEB-INF/ebx/schemas. Plus précisément, l’attribut schemaLocation peut référencer ces fichiers à ce même emplacement ou bien en référencer une copie, la condition étant que le nom du fichier reste le même. Ceci est utile si l’on veut soustraire le module à la dépendance de “ebx-root-1.0”.
Pour plus de sécurité, EBX.Platform reprend une définition interne protégée de ces schémas (au cas où par inadvertance un de ces fichiers aurait été modifié).
Home > Models