Skip to content

Commit 873eccb

Browse files
author
Lutz Ashauer
committed
Removed the wording Master Data Model from the superordinate Data Models definition to define a Master Data Model in its own context as a community provided model.
1 parent 10bedbf commit 873eccb

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

DataModels/DataModels.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ One consequence is, that it must be possible to sent data records to and receive
66

77
A data model representing a certain professional domain normally consists of numerous entities. Hence, it is necessary to split such a data model into smaller parts to enable the transfer of optimized amounts of data through an OIH:
88

9-
* __Every OIH-Master-Data-Model (MDM) consists of one or multiple _loosely coupled_ sub-models.__
9+
* __Every OIH Data-Model consists of one or multiple _loosely coupled_ sub-models.__
1010

1111
Although it is necessary to split (especially big) data models into smaller sub-models, it often does not make sense to send each entity on its own, when there is a _high cohesion_ between certain entities. Hence,
1212

13-
* __each sub-model of an MDM can consist of one _or more_ entities.__
13+
* __each sub-model of an OIH Data-Model can consist of one _or more_ entities.__
1414

1515
## Aggregates
1616

@@ -22,19 +22,19 @@ In case the model consists of multiple entities, it *must* be modeled as an __ag
2222
>
2323
> [s. [Martin Fowler: DDD_Aggregate](https://martinfowler.com/bliki/DDD_Aggregate.html)]
2424
25-
# Rules and Regulation for MDMs
25+
# Rules and Regulation for OIH Data-Models
2626

2727
To enable the OIH to follow its purpose, the data records being processed have to fulfill some criteria and follow some rules. Some of these rules have to be applied already on the modelling level.
2828

2929
## OIH Data Records
3030

31-
An OIH expects and needs, depending on the scenario and the involved components (e.g. with or without a Data Hub involved), more or less meta data on a data record to integrate two or more applications. This is achieved by modelling each sub-model of an MDM as a so called _OIH Data Record_. The OIHDataRecord defines a superset of mandatory and optional (meta) data for records processed by an OIH instance:
31+
An OIH expects and needs, depending on the scenario and the involved components (e.g. with or without a Data Hub involved), more or less meta data on a data record to integrate two or more applications. This is achieved by modelling each sub-model of an OIH Data-Model as a so called _OIH Data Record_. The OIHDataRecord defines a superset of mandatory and optional (meta) data for records processed by an OIH instance:
3232

3333
![OIH Record](Assets/OIHDataRecord.svg)
3434

35-
* __Each of the the sub-models of a MDM has to be marked as an *OIHDataRecord*.__
35+
* __Each of the the sub-models of a OIH Data-Model has to be marked as an *OIHDataRecord*.__
3636

37-
I.e., the root of an MDM's sub-model **must** inherit from / extend _OIHDataRecord_, no matter whether it is modeled as an
37+
I.e., the root of an OIH Data-Model's sub-model **must** inherit from / extend _OIHDataRecord_, no matter whether it is modeled as an
3838
aggregate or as a single entity.
3939

4040
* __Every record passed into an OIH instance must at least be provided with a reference to the record of the application or service being the source of the record__,
@@ -45,27 +45,27 @@ called an _OIHApplicationDataRecord_ containing ...
4545
+ the record's ID within the application (both mandatory) and
4646
+ optionally its creation and last modification dates within the application.
4747

48-
When receiving such a record from an OIH, there might also be entries of other applications being part of the integrations scenario with the same MDM in the same OIH.
48+
When receiving such a record from an OIH, there might also be entries of other applications being part of the integrations scenario with the same OIH Data-Model in the same OIH.
4949

5050
Additionally, depending on the scenario and the involved components again, the OIH itself or a connector (according to rules provided by the OIH __==> TO BE DISCUSSED!__) may also provide an OIH-internal UID for the record, along with the creation and last modification dates of the record within the OIH.
5151

5252
## JSON-Schema
5353

5454
The OIH specifies JSON as the format that data is processed with. Accordingly,
5555

56-
* __[JSON Schema](http://json-schema.org) is the given format to describe MDMs__
56+
* __[JSON Schema](http://json-schema.org) is the given format to describe OIH Data-Models__
5757

58-
in a way an OIH instance is able to validate data at runtime. And, as MDMs are split into sub-models and the records of those sub-models must be processable independently,
58+
in a way an OIH instance is able to validate data at runtime. And, as OIH Data-Models are split into sub-models and the records of those sub-models must be processable independently,
5959

60-
* __for every sub-model of an MDM there must be a _seperate_ JSON schema describing the entity or aggregate.__
60+
* __for every sub-model of an OIH Data-Model there must be a _seperate_ JSON schema describing the entity or aggregate.__
6161

6262
As there are situations where entities are reused in (i.e. are part of) two or more aggregates, it is of course adequat to encapsulate those entities in an additional schema file and reference them from the several sub-models to avoid redundancy.
6363

64-
### Making a sub-model of an MDM an OIH Data Record on the schema level
64+
### Making a sub-model of an OIH Data-Model an OIH Data Record on the schema level
6565

6666
There is a predefined JSON-Schema defining the OIHDataRecord (s. [oih-data-record.json](../src/main/schema/oih-data-record.json)).
6767

68-
* __Every sub-model of an MDM must reference the OIHDataRecord schema and "inherit" from the defined type.__
68+
* __Every sub-model of an OIH Data-Model must reference the OIHDataRecord schema and "inherit" from the defined type.__
6969

7070
This is done by adding an `allOf`-element to every sub-model's schema:
7171

0 commit comments

Comments
 (0)