Introduction
A data model is a structural definition of the data to be managed in the TIBCO EBX® repository. Data models contribute to EBX®'s ability to guarantee the highest level of data consistency and to facilitate data management.
Specifically, the data model is a document that conforms to the XML Schema standard (W3C recommendation). Its main features are as follows:
-
A rich library of well-defined simple data types, such as integer, boolean, decimal, date, time;
-
The ability to define additional simple types and complex types;
-
The ability to define simple lists of items, called aggregated lists;
-
Validation constraints (facets), for example: enumerations, uniqueness constraints, minimum/maximum boundaries.EBX® also uses the extensibility features of XML Schema for other useful information, such as:
-
Predefined types, for example: locale, resource, html;
-
Definition of tables and foreign key constraints;
-
Mapping data in EBX® to Java beans;
-
Advanced validation constraints (extended facets), such as dynamic enumerations;
-
Extensive presentation information, such as labels, descriptions, and error messages.
Note:
EBX® supports a subset of the W3C recommendations, as some features are not relevant to Master Data Management.
Related information
Editing the data model
There are two different ways to define a data model:
-
The data model can be defined using an XML Schema editor or through the data model assistant. The data model assistant has the advantage of being integrated into the EBX® user interface, abstracting the verbose underlying XML. For more information, see Introduction to data models.The data model assistant allows using features that are not documented to be used outside of the DMA; e.g. Toolbars and Widgets.
-
By using an external XML Schema document editor.
References
For an introduction to XML Schema, see the W3Schools XML Schema Tutorial.
See also:
Relationship between datasets and data models
Each root dataset is associated with a single data model. At the dataspace creation, an associated data model is selected, on which to base the dataset.
See also:
Pre-requisite for XML Schemas
In order for an XML Schema to be accepted by EBX®, it must include a global element declaration that includes the attribute
osd:access="--".
<?xml version="1.0" encoding="UTF-8"?>
<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="https://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 follows:
| Prefix | Namespace |
|---|---|
xs: |
http://www.w3.org/2001/XMLSchema |
osd: |
urn:ebx-schemas:common_1.0 |
fmt: |
urn:ebx-schemas:format_1.0 |
usd: |
urn:ebx-schemas:userServices_1.0 |
emd: |
urn:ebx-schemas:entityMappings_1.0 |
Schemas with reserved names
Several data models in EBX® have reserved names.
All references to other data models (using the attribute
schemaLocation for an import, include or redefine) that end with one of the following strings are reserved:
-
common\_1.0.xsd
-
org\_1.0.xsd
-
coreModel\_1.0.xsd
-
session\_1.0.xsd
-
userServices\_1.0.xsd
-
entityMappings\_1.0.xsd
These XSD files correspond to the schemas provided for the module
ebx-root-1.0, at the path /WEB-INF/ebx/schemas. The attribute schemaLocation can reference the files at this location or a copy, if the file names are identical. This is useful if you want to avoid a module dependency on ebx-root-1.0.
For security reasons, EBX® uses an internal definition for these schemas to prevent any modification.