Changes for page Exercises

Last modified by Carlijn Kokkeler on 2022/10/19 13:32

From version 4.1
edited by Carlijn Kokkeler
on 2022/09/30 09:32
Change comment: There is no comment for this version
To version 14.1
edited by Carlijn Kokkeler
on 2022/10/19 12:29
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -11,45 +11,94 @@
11 11  
12 12  This microlearning centers around understanding the concept data modeling in design.
13 13  
14 -== 3. Please complete the following steps ==
14 +== 3. CDM, CDM & system message, message mapping ==
15 +By following the steps below, you should gain a better understanding of the differences between CDM, CDM messages, and system messages.
15 15  
17 +* Creating a CDM
18 + Please import the file Order.xsd in your CDM. The code for this file can be found in section 4. Code for xsd files.
19 +* Creating a CDM message
20 + Now, go to your CDM message and select Order as root entity.
21 + Add all other entities and attributes from Order.xsd, which were imported into the CDM, to your CDM message definition.
22 +* Creating a system message
23 + In one of your System messages, import the file TransportOrder.xsd. The code for this file can be found at the bottom of this page.
24 +* Creating a CDM message
25 + Select CreateOrder as root entity and add all other entities and attributes to your system definition.
26 +* Complete message mapping
27 + Now that you have completed these steps, go to Message mapping and complete the mapping.
16 16  
17 -=== 3.1 Creating entities and attributes in your CDM ===
29 +The solutions to these exercises can be found [[here>>doc:Main.eMagiz Academy.Use Cases.Data modeling in Design.Exercises.Solutions.WebHome||target="blank"]].
18 18  
19 -Please add the following entities and attributes to your CDM:
20 -
21 -* Person, with attributes ID, Name, and Email.
22 -* PlatformCourse, with attributes ID and Name.
23 -
24 -One person has access to many platform courses. It should look like the following:
25 -
26 -
27 -
28 -
29 -== 4. Assignment ==
30 -
31 -Navigate to Design and open the message definition option of at least one integration within your project.
32 -This assignment can be completed within the (Academy) project that you have created/used in the previous assignment.
33 -
31 +== 4. Code for xsd files ==
32 +Order.xsd:
33 + {{code language="xml"}}
34 +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
35 + xmlns="http://www.carlijnsplatform.com/ns/capetms/cdm/1.0/"
36 + attributeFormDefault="unqualified"
37 + elementFormDefault="qualified"
38 + targetNamespace="http://www.carlijnsplatform.com/ns/capetms/cdm/1.0/">
39 + <xs:complexType name="Order">
40 + <xs:sequence>
41 + <xs:element name="Date" type="xs:dateTime"/>
42 + <xs:element name="OrderId" type="nonEmptyString"/>
43 + <xs:element name="Customer" type="Customer"/>
44 + <xs:element name="PickupAddress" type="PickupAddress"/>
45 + <xs:element name="DeliveryAddress" type="DeliveryAddress"/>
46 + <xs:element maxOccurs="unbounded" name="OrderLine" type="OrderLine"/>
47 + </xs:sequence>
48 + </xs:complexType>
49 + <xs:complexType name="Customer">
50 + <xs:sequence>
51 + <xs:element name="Name" type="nonEmptyString"/>
52 + <xs:element name="Email" type="nonEmptyString"/>
53 + </xs:sequence>
54 + </xs:complexType>
55 + <xs:complexType name="PickupAddress">
56 + <xs:sequence>
57 + <xs:element name="Name" type="nonEmptyString"/>
58 + <xs:element name="Street" type="nonEmptyString"/>
59 + <xs:element name="StreetNumber" type="nonEmptyString"/>
60 + <xs:element name="PostalCode" type="nonEmptyString"/>
61 + <xs:element name="City" type="nonEmptyString"/>
62 + <xs:element name="Country" type="nonEmptyString"/>
63 + </xs:sequence>
64 + </xs:complexType>
65 + <xs:complexType name="DeliveryAddress">
66 + <xs:sequence>
67 + <xs:element name="Name" type="nonEmptyString"/>
68 + <xs:element name="Street" type="nonEmptyString"/>
69 + <xs:element name="StreetNumber" type="nonEmptyString"/>
70 + <xs:element name="PostalCode" type="nonEmptyString"/>
71 + <xs:element name="City" type="nonEmptyString"/>
72 + <xs:element name="Country" type="nonEmptyString"/>
73 + </xs:sequence>
74 + </xs:complexType>
75 + <xs:complexType name="OrderLine">
76 + <xs:sequence>
77 + <xs:element name="PackageUnit" type="nonEmptyString"/>
78 + <xs:element name="Quantity" type="xs:long"/>
79 + <xs:element name="Description" type="nonEmptyString"/>
80 + <xs:element name="Weight" type="xs:decimal"/>
81 + </xs:sequence>
82 + </xs:complexType>
83 + <xs:simpleType name="nonEmptyString">
84 + <xs:restriction base="xs:string">
85 + <xs:minLength value="1"/>
86 + </xs:restriction>
87 + </xs:simpleType>
88 + <xs:element name="Order" type="Order"/>
89 +</xs:schema>
90 +{{/code}}
34 34  == 5. Key takeaways ==
35 35  
36 -* A message definition is a visual representation of how the elements are related to each other, whether they are mandatory and the data types they have that can be used in the message mapping
37 -* Some message definitions are specific to a system. Others are generic across systems
93 +* The CDM holds all entities and attributes that are relevant within the context of your complete integration landscape.
94 +* The CDM message is tailor-made for a specific piece of data and only holds the entities and attributes relevant for that piece of data.
95 +* A system message is specific to a system.
38 38  
39 39  
40 -
41 41  == 6. Suggested Additional Readings ==
42 42  
43 -If you are interested in this topic and want more information on it please read the help text provided by eMagiz. Furthermore check out these links if you want a more in-depth knowledge of the eMagiz data models:
100 +If you are interested in this topic and want more information on it please read the help text provided by eMagiz.
44 44  
45 -* [API Gateway model](crashcourse-api-gateway-api-data-model.md)
46 -* [Understanding the eMagiz CDM](crashcourse-messaging-what-is-cdm.md)
47 -* [Event Streaming data model](intermediate-configuring-event-streaming-data-model.md)
48 48  
49 -== 7. Silent demonstration video ==
50 50  
51 -This video demonstrates a working solution and how you can validate whether you have successfully completed the assignment.
52 -
53 -{{video attachment="crashcourse-platform-design-what-is-a-message-definition.mp4" reference="Main.Videos.Microlearning.WebHome"/}}
54 -
55 55  )))((({{toc/}}))){{/container}}{{/container}}