Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{container}}{{container layoutStyle="columns"}}((( | ||
| 2 | In this microlearning, we will educate you on what we mean when we talk about message definitions. | ||
| 3 | |||
| 4 | Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]]. | ||
| 5 | |||
| 6 | == 1. Prerequisites == | ||
| 7 | |||
| 8 | * Basic knowledge of the eMagiz platform | ||
| 9 | |||
| 10 | == 2. Key concepts == | ||
| 11 | |||
| 12 | This microlearning centers around understanding the concept data modeling in design. | ||
| 13 | |||
| 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. | ||
| 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 | |||
| 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"]]. | ||
| 30 | |||
| 31 | == 4. Code for xsd files == | ||
| 32 | Order.xsd: | ||
| 33 | {{code language="xsd"}} | ||
| 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}} | ||
| 91 | == 5. Key takeaways == | ||
| 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. | ||
| 96 | |||
| 97 | |||
| 98 | == 6. Suggested Additional Readings == | ||
| 99 | |||
| 100 | If you are interested in this topic and want more information on it please read the help text provided by eMagiz. | ||
| 101 | |||
| 102 | |||
| 103 | |||
| 104 | )))((({{toc/}}))){{/container}}{{/container}} |