Home > Tutorial
Introduction
This tutorial describes how to build a Master Data repository starting from a sample relational database and then enhance it with controls and services.
We will go through each of the following steps:
-
get the adaptation model from the ground up, in sync with the data types and the relations between elements expressed in the database,
-
add XML schema features to implement specific business rules and integrity constraints,
-
add advanced constraints, filling the gaps that XML schema does not natively support,
-
add UI components and filters, mainly to customize EBX.Manager user interface,
-
add Import / Export services, allowing a complete interaction between the Master Data repository and all legacy systems.
Run EBX.Platform Tutorial
Install EBX.Platform
See Deployment and configuration examples for more information
Install EBX.Tutorial
Deploy ebx-tutorial.war file on your application server ; it must be visible to all Web applications. This file is provided in the directory ebx.tutorial/webapps/wars-packaging/.
We will install ebx.tutorial on the Tomcat application server.
For any other application server, please refer to the corresponding installation notes (the .ear file to import is located in ebx.tutorial\webapps\ear-packaging/).
Example for Tomcat :
Copy the file ebx-tutorial.war under $CATALINA_HOME/webapps/ (or $CATALINA_BASE/webapps/)
Run Start Wizard
See EBX.Platform start wizard for more information.
Make sure to select "install a sample adaptation" in the "Repository" configuration section.
The Sample Database
The sample database, called publications, contains data that represent a fictitious publishing business.
Database structure
Diagram of the publications database:

Here is a brief description of each table:
-
Publishers table contains the identification numbers, names, cities, and states of publishing companies.
-
Authors table contains an identification number, first and last name, address information, and contract status for each author.
-
Titles table contains the book ID, name, type, publisher ID, price, advance, royalty, year-to-date sales, comments, and publication date for each book.
-
Royalties table lists the unit sales ranges and the royalty connected with each range. The royalty is some percentage of the total sales.
Fields definitions
We provide here the definition of all the table fields:
|
Table |
Field |
Type |
Key |
Mandatory |
Comment |
|
Publishers |
pub_id |
Char(4) |
PK |
Y |
Only numeric characters allowed |
|
name |
Char(40) |
Y |
|||
|
city |
Char(20) |
N |
|||
|
Titles |
title_id |
Char(7) |
PK |
Y |
Must comply to pattern [A-Z][0-9]{6} (ex:A1234567) |
|
title |
Char(80) |
Y |
|||
|
type |
Char(30) |
Y |
Among the following values: - Business & Technology - Arts & Entertainment - Fiction - Health & Spirituality - Lifestyle, Family & Home - Non fiction - Recreation - Unknown (default value) | ||
|
pub_id |
Char(4) |
FK |
Y |
Refers to Publishers’ pub_id field | |
|
au_id |
Char(8) |
FK |
Y |
Refers to Authors’ au_id field | |
|
unit_price |
Numeric |
N |
|||
|
total_sales |
Numeric |
N |
|||
|
pub_date |
Date |
N |
|||
|
Authors |
au_id |
Char(8) |
PK |
Y |
Must comply to pattern [0-9][0-9]-[0-9]-[0-9][0-9][0-9] (ex:01-2-123) |
|
lastname |
Char(40) |
Y |
|||
|
firstname |
Char(20) |
Y |
|||
|
address |
Char(40) |
N |
|||
|
city |
Char(20) |
N |
|||
|
country |
Char(12) |
N |
|||
|
Royalties |
title_id |
Char(5) |
PK,FK |
Y |
Refers to Titles’ title_id field |
|
lo_range |
Int |
N |
|||
|
hi_range |
Int |
N |
|||
|
royalty |
Numeric |
N |
Next: Design an Adaptation Model >
Home > Tutorial