Changes for page Data Models

Last modified by Erik Bakker on 2024/08/19 21:31

From version 37.1
edited by Carlijn Kokkeler
on 2024/08/07 16:54
Change comment: There is no comment for this version
To version 39.1
edited by Erik Bakker
on 2024/08/08 11:07
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.CarlijnKokkeler
1 +XWiki.ebakker
Content
... ... @@ -14,8 +14,6 @@
14 14  * Within a data model, you define all relevant attributes of an entity
15 15  * eMagiz uses data models in each of the patterns to structure the data (flow)
16 16  
17 -
18 -
19 19  == 3. Data Models ==
20 20  
21 21  In this fundamental, we will zoom in on what data models are and how they are used within the various integration patterns we support in the platform. Then, we start our journey with a more theoretical look at the concept of data models. Following, we will zoom in on each of the three integration patterns. Finally, per integration pattern, we will explain the role of the data model within each of these three patterns.
... ... @@ -22,55 +22,55 @@
22 22  
23 23  === 3.1 What is a data model ===
24 24  
25 -A data model is a visual representation of how a system has structured its data. With the help of a data model, you can show the relationships between entities and define the attributes on the entity level. See below for a small example of a data model.
23 +A data model visually represents how a system has structured its data. It can help show the relationships between entities and define the attributes on the entity level. Below is a small example of a data model.
26 26  
27 27  [[image:Main.Images.Fundamental.WebHome@fundamental-data-models--example-structure.png]]
28 28  
29 -As you can see above, we have several entities (i.e., Order, Invoice) related to each other in a certain way. Furthermore, we see that our entities are defined through the help of attributes. So, for example, our Order entity holds an ID, Date, and Description attribute. The data model also tells us the data types of the entity's attributes. Therefore the picture above tells us that the ID is represented as an integer, the Date is a DateTime, and the Description is defined as a String (Text).
27 +As you can see above, we have several entities (i.e., Order, Invoice) that are related to each other in a certain way. Furthermore, we see that our entities are defined through the help of attributes. So, for example, our Order entity holds an ID, Date, and Description attribute. The data model also tells us the data types of the entity's attributes. Therefore, the picture above tells us that the ID is represented as an integer, the Date is a DateTime, and the Description is defined as a String (Text).
30 30  
31 -Lastly, data models provide information about the type of association between two entities. Within data models, there are three types of associations possible.
29 +Lastly, data models provide information about the type of association between two entities. Within data models, there are three possible types of associations.
32 32  
33 33  * One-to-One
34 34  * One-to-Many or Many-to-One
35 35  * Many-to-Many
36 36  
37 -Applying this knowledge to the example above teaches us that one Invoice contains multiple orders and that one Order contains multiple OrderLines. Furthermore, it tells us that each OrderLine only holds one Address reference.
35 +Applying this knowledge to the example above teaches us that one Invoice contains multiple orders and that one Order contains multiple Order Lines. Furthermore, it tells us that each Order Line only holds one Address reference.
38 38  
39 -Now that we know what data models are in the conceptual sense, we will focus on how data models are used within each of the three integration patterns we support in eMagiz.
37 +Now that we understand data models conceptually, we will focus on how they are used within each of the three integration patterns we support in eMagiz.
40 40  
41 -=== 3.2 Data models in Messaging ===
39 +=== 3.2 Data Models in Messaging ===
42 42  
43 43  In the messaging pattern of eMagiz, we use a Canonical Data model (CDM). Canonical data models are a type of data model that aims to present data entities and relationships in the simplest possible form to integrate processes across various systems and databases. More often than not, the data exchanged across multiple systems rely on different languages, syntax, and protocols.
44 44  
45 45  [[image:Main.Images.Fundamental.WebHome@fundamental-data-models--canonical-data-model.jpg]]
46 46  
47 -For more information on further understanding the CDM please check out this [microlearning](../microlearning/crashcourse-messaging-what-is-cdm.md).
45 +For more information on understanding the CDM, please check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Messaging.crashcourse-messaging-what-is-cdm||target="blank"]].
48 48  
49 -=== 3.3 Data models in API Management ===
47 +=== 3.3 Data Models in API Management ===
50 50  
51 -As with every integration pattern, eMagiz gives you the option to create your data model. This data model can be based on standards (i.e., OTM5), custom-made, or a combination of both.
52 -For API, the data model represents the structure of messages that you want to publish to the outside (other parties or other internal systems) world.
49 +As with every integration pattern, eMagiz allows you to create your data model. This data model can be based on standards (i.e., OTM5), custom-made, or a combination of both.
50 +For API, the data model represents the structure of messages that you want to publish to the outside world (other parties or other internal systems).
53 53  
54 -With the help of this data model, you can create a uniform layer through which you expose your data to the outside world. In terms of the API Management pattern, we extend this uniform layer to include not only the data model but also the security (i.e., OAuth 2.0 * Client Credentials) and the message format (JSON).
52 +This data model helps you create a uniform layer through which you expose your data to the outside world. Regarding the API Management pattern, we extend this uniform layer to include the data model, the security (i.e., OAuth 2.0 * Client Credentials), and the message format (JSON).
55 55  
56 56  An example of an API Data model in eMagiz is shown below.
57 57  
58 58  [[image:Main.Images.Fundamental.WebHome@fundamental-data-models--import-data-model-in-design-filled-in.png]]
59 59  
60 -For further understanding of the API Data Model, please check out this [microlearning](../microlearning/crashcourse-api-gateway-api-data-model.md).
58 +To further understand the API Data Model, please check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-api-data-model||target="blank"]].
61 61  
62 -=== 3.4 Data models in Event Streaming ===
60 +=== 3.4 Data Models in Event Streaming ===
63 63  
64 -As with every integration pattern, eMagiz gives you the option to create your data model. This data model can be based on standards, custom-made, or a combination of both.
65 -For Event Streaming, the data model represents the structure of messages exchanged between parties with the help of topics.
62 +As with every integration pattern, eMagiz allows you to create your data model. This data model can be based on standards, custom-made, or a combination.
63 +For Event Streaming, the data model represents the structure of messages exchanged between parties using topics.
66 66  
67 -With the help of this data model, you can create a shared understanding between producers and consumers on topics of what kind of data is exchanged. This can help, especially the consumer, define what they can expect when consuming data and adapt their logic based on the provided information.
65 +With the help of this data model, you can create a shared understanding between producers and consumers regarding what kind of data is exchanged. This can help consumers, especially, define what they can expect when consuming data and adapt their logic based on the provided information.
68 68  
69 69  An example of an Event Streaming Data model in eMagiz is shown below.
70 70  
71 71  [[image:Main.Images.Fundamental.WebHome@fundamental-data-models--data-model-in-design-filled-in.png]]
72 72  
73 -For more information on how to further understand the Event Streaming Data Model, please check out this [microlearning](../microlearning/intermediate-configuring-event-streaming-data-model.md)
71 +For more information on how to further understand the Event Streaming Data Model, please check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Configuring Event Streaming.intermediate-configuring-event-streaming-data-model||target="blank"]].
74 74  
75 75  
76 76  
... ... @@ -86,10 +86,10 @@
86 86  
87 87  If you are interested in this topic and want to learn how you can control your Cloud with the help of the eMagiz platform, please check out our microlearnings offering on eMagiz Cloud Management:
88 88  
89 -* [[Understanding the eMagiz CDM>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Messaging.crashcourse-messaging-what-is-cdm||target="blank"]]
87 +
90 90  * [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
91 -** [[Crash Course API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]]
92 -*** [[API Gateway Data Model (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-api-data-model||target="blank"]]
89 +** [[Understanding the eMagiz CDM (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Messaging.crashcourse-messaging-what-is-cdm||target="blank"]]
90 +** [[API Gateway Data Model (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-api-data-model||target="blank"]]
93 93  ** [[Crash Course Platform (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.WebHome||target="blank"]]
94 94  *** [[What is a message definition (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-design-what-is-a-message-definition||target="blank"]]
95 95  * [[Event Streaming Data Model>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Configuring Event Streaming.intermediate-configuring-event-streaming-data-model||target="blank"]]