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.
EBX® supports a subset of the W3C recommendations, as some features are not relevant to Master Data Management.
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.
For an introduction to XML Schema, see the W3Schools XML Schema Tutorial.
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.
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="http://schema.orchestranetworks.com/common_1.0.xsd"/> <xs:element name="root" osd:access="--"> ... </xs:element> </xs:schema>
By convention, namespaces are always defined as follows:
Prefix | Namespace |
---|---|
|
|
|
|
|
|
|
|
|
|
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.