Changes for page Exercises
Last modified by Carlijn Kokkeler on 2022/10/19 13:32
From version 14.1
edited by Carlijn Kokkeler
on 2022/10/19 12:29
on 2022/10/19 12:29
Change comment:
There is no comment for this version
To version 7.1
edited by Carlijn Kokkeler
on 2022/09/30 09:54
on 2022/09/30 09:54
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -13,92 +13,68 @@ 13 13 14 14 == 3. CDM, CDM & system message, message mapping == 15 15 By following the steps below, you should gain a better understanding of the differences between CDM, CDM messages, and system messages. 16 + 17 +== 3.1 Creating a CDM == 18 +Please add the following entities and attributes to your CDM: 19 + 20 +* Person, with attributes ID, Name, and Email 21 +* PlatformCourse, with attributes ID and Name 16 16 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. 28 28 29 - The solutionsto theseexercisescanbefound [[here>>doc:Main.eMagizAcademy.UseCases.DatamodelinginDesign.Exercises.Solutions.WebHome||target="blank"]].24 +One person has access to many platform courses. It should look like the following: 30 30 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}} 26 +[[image:Main.Images.Usecase.WebHome@data-modeling-in-design-exercises--adding-attributes-entities-CDM.png]] 27 + 28 +== 3.2 Creating a CDM message == 29 +Now, go to your CDM message and add the Person and PlatformCourse to your message definition, including all attributes. It should look like the following: 30 + 31 +[[image:Main.Images.Usecase.WebHome@data-modeling-in-design-exercises--adding-message-definition-CDM-message.png]] 32 + 33 +== 3.3 Creating a system message == 34 +In System message, create the following entities and attributes: 35 + 36 +* User, with attributes ID and Name 37 +* Course, with attributes ID and Name 38 + 39 + 40 +One user has access to many courses. It should look like the following: 41 + 42 +[[image:Main.Images.Usecase.WebHome@data-modeling-in-design-exercises--adding-attributes-entities-system-message.png]] 43 + 44 +Now, remove the attribute Name in Course by using the Toggle canvas edit mode. It should result in the following: 45 + 46 +[[image:Main.Images.Usecase.WebHome@data-modeling-in-design-exercises--remove-attribute-system-message.png]] 47 + 48 +== 3.4 Complete message mapping == 49 + 50 +Now that you have completed these steps, go to Message mapping and complete the mapping. 51 + 52 +[[image:Main.Images.Usecase.WebHome@data-modeling-in-design-exercises--complete-message-mapping.png]] 53 + 54 +== 4. Assignment == 55 + 56 +Navigate to Design and open the message definition option of at least one integration within your project. 57 +This assignment can be completed within the (Academy) project that you have created/used in the previous assignment. 58 + 91 91 == 5. Key takeaways == 92 92 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. 61 +* 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 62 +* Some message definitions are specific to a system. Others are generic across systems 96 96 97 97 65 + 98 98 == 6. Suggested Additional Readings == 99 99 100 -If you are interested in this topic and want more information on it please read the help text provided by eMagiz. 68 +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: 101 101 70 +* [API Gateway model](crashcourse-api-gateway-api-data-model.md) 71 +* [Understanding the eMagiz CDM](crashcourse-messaging-what-is-cdm.md) 72 +* [Event Streaming data model](intermediate-configuring-event-streaming-data-model.md) 102 102 74 +== 7. Silent demonstration video == 103 103 76 +This video demonstrates a working solution and how you can validate whether you have successfully completed the assignment. 77 + 78 +{{video attachment="crashcourse-platform-design-what-is-a-message-definition.mp4" reference="Main.Videos.Microlearning.WebHome"/}} 79 + 104 104 )))((({{toc/}}))){{/container}}{{/container}}