Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 A data domain (domain) defines the model schema and other properties for a collection specific focus. Common examples of master data recordsdata domains are customers, students, employees, parts and product orders.

Once a version of a domain is created and its master data records (MDRs) are loaded (or mapped in a federated model), it can be referenced by other data domains, adaptors and by API consumers as a source of truth. Domains have version numbers so that other domains, adaptors and applications can bind to a specific domain and version (e.g. states:v3).

JSON Representation of a Domain and a Description of its Properties

A domain . states:v3).

Domain Types

The master data for a domain can be stored either:

CENTRALIZED When the domain master data is centrally stored in YOUnite. This is used when the entire organization is comfortable or mandated to migrate a domain to a single store. Central stores are optimal for reference data such as a list of states countries, zip-codes, etc. 

FEDERATED domains do not store their data centrally in YOUnite but retrieve and update data on the systems in which it resides for example MIS, ERP or CRM systems. Federated domains require adaptors and metadata and scope configurations and are covered in detail *TODO: TUTORIAL ON FEDERATED*

Domain Model Schemas

A  domain model schema (model) is a JSON object describing the schema for a data domain; it defines the properties that make up the domain's schema. The root node of the model schema is the properties element. See Domains and Domains below.

Create a Domain

The first step in creating a domain is to define the domain name, its type and the owning zone:

Code Block
languagetext
{
	"name": <domain-name>,
	"domainType": "CENTRALIZED" || "FEDERATED",
    "zoneUuid": "<owning_zone_uuid>"
}

The model is not created in this step. Models are tied to specific versions covered below.

Create a Domain Version

With the domain in place, its first version can be created. The domain version defines the properties that make up domain version's model. The domain version numbers are automatically generated and start with 1 and continue in ascending order. The root node of the model schema is the properties element. See Domains and Domains below.

A domain version is defined with a domain JSON Object as described below:

Code Block
languagetext
{
	"name": <domain-name>,
	"version": <version>,
	"domainType": "CENTRALIZED" || "FEDERATED",
	"modelSchema": {
		"properties": {
			"<property-name>": {
				"type": "<property-type>",
				...item1 properties....
			},
			"<property-name>": {
				 ... 
			}
		}
	},
	"displayProperty": "<property-name>",
	"uniquenssRuless": "<property-name1> [, <property-name2>, .....]"
}

Descriptions of the Domain Version Properties:

propertyrequiredvalid valuesdescription
nameyesMust be at least 3 characters long but no longer than 128.The domain name. Must be unique to the entire YOUnite deployment since domains are typically shared.
versionnoPositive integerThe version number. If the version number is omitted the version starts with 1 and is incremented for each new version of the domain.
domainTypenoCENTRALIZED or FEDERATED

The domain type which can be either:

CENTRALIZED (default) When the domain master data is centrally stored in YOUnite. This is used when the entire organization is comfortable or mandated to migrate a domain to a single store. Central stores are optimal for reference data such as a list of states countries, zip-codes, etc. 

FEDERATED domains do not store their data centrally in YOUnite but reference and update data on the systems in which it resides. Federated domains require adaptors and metadata and scope configurations and are covered in detail *TODO: TUTORIAL ON FEDERATED*

modelSchemayesSee Domains and Domains below.A JSON model describing the schema for the data domain; it defines the properties that make up the domains schema. The root node of the model schema is the properties element. See Domains and Domains below.
displayPropertyyesA valid model schema property nameA property defined in the modelSchema that acts as an index for the domain. The data values for the displayProperty must always be unique. See Domains below.
uniquenessRulesnoOne or more valid model schema property namesRequired data and their associated rules that are cache'd to make sure duplicate data entries are not POSTed to the domain. This defaults to the displayProperty if it is not provided. See Domains below.

...