Changes for page eMagiz Messaging

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

From version 28.1
edited by Erik Bakker
on 2023/01/23 13:27
Change comment: There is no comment for this version
To version 29.1
edited by Erik Bakker
on 2024/08/05 13:24
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,5 +1,5 @@
1 1  {{container}}{{container layoutStyle="columns"}}(((
2 -In this fundamental, we will introduce the essential concepts of eMagiz Messaging. The focus will be to address the fundamental concepts of this pattern. Please refer to other Fundamentals to learn more about related items and look at the relevant microlearnings available to learn how to configure messaging flows in eMagiz.
2 +This microlearning introduces the eMagiz Messaging pattern. This messaging integration consists of five layers and is based on the VETRO architectural pattern, which stands for Validate, Enrich, Transform, Route, and Operate. The microlearning covers various aspects such as the canonical data model (CDM), transformation, queueing, and error handling within eMagiz. It provides a comprehensive overview of how messaging integration works in eMagiz and the crucial components involved in the process.
3 3  
4 4  Should you have any questions, please get in touch with academy@emagiz.com.
5 5  
... ... @@ -13,27 +13,32 @@
13 13  
14 14  == 3. Introducing Messaging ==
15 15  
16 -The eMagiz Messaging is the pattern in which you can connect various parties via various connectivity mechanisms to the messaging engine of eMagiz. These external applications can connect in the most appropriate way (i.e., REST, SOAP, SFTP, and many more) to eMagiz. eMagiz will subsequently place the input messages on a specific queue. For example, you can distribute the message to various other external applications and deliver the messages via the connectivity method most desirable for each external application.
16 +eMagiz Messaging is the pattern in which you can connect various parties via various connectivity mechanisms to the eMagiz messaging engine. These external applications can connect in the most appropriate way (e.g., REST, SOAP, SFTP, and many more) to eMagiz. eMagiz will subsequently place the input messages on a specific queue. For example, you can distribute the message to various other external applications and deliver the messages via the connectivity method most desirable for each external application.
17 17  
18 18  [[image:Main.Images.Fundamental.WebHome@fundamental-messaging-introduction--logical-view-landscape.png]]
19 19  
20 -Any messaging integration in eMagiz consists of five layers. The message starts in the entry and moves via the onramp, routing, offramp, and exit to the other application.
20 +Any messaging integration in eMagiz consists of five layers. The message starts in the entry and moves to the other application via the onramp, routing, offramp, and exit.
21 21  
22 22  [[image:Main.Images.Fundamental.WebHome@fundamental-messaging-introduction--five-layers.png]]
23 23  
24 24  === 3.1 The five layers of eMagiz Messaging ===
25 25  
26 -eMagiz has implemented a five-layered model based on the integration architectural pattern VETRO, which stands for Validate, Enrich, Transform, Route, and Operate. Each of these layers plays a role in the pattern. Below is an explanation of these five layers. Each of these layers will result in integration components referred to as flows in eMagiz. Each of these flows will run strategically across the integration landscape in a specific runtime position (see section "Architectural components" in this document).
26 +eMagiz has implemented a five-layered model based on the integration architectural pattern VETRO, which stands for Validate, Enrich, Transform, Route, and Operate. Each of these layers plays a role in the pattern. Below is an explanation of these five layers. Each layer will result in integration components referred to as flows in eMagiz. These flows will run strategically across the integration landscape in a specific runtime position (see section "Architectural components" in this document).
27 27  
28 -1. Entry * in the entry flow, you can configure the connectivity with the system that will send a message to eMagiz. It can be a push from the external system or a pull from eMagiz to the external system. Once the message is received, the message will be queued directly to the next step in the model
29 -2. Onramp * In this part, the message will be transformed and validated, preparing it for the following steps to send it to the external system. Specific elements exist here also to enrich the message where needed with additional attributes
30 -3. Routing * Using specific header information, the message can be routed to one of more offramps for further processing
31 -4. Offramp * In this process, the message passed on from the routing can be first validated if it meets the expected structure and then transformed to the target system. Once processed, the message is put in the exit queue.
32 -5. Exit * the exit will read the message from the queue and then connect to the target system
28 +* Entry
29 +** In the entry flow, you can configure the system's connectivity, which will send a message to eMagiz. It can be a push from the external system or a pull from eMagiz to the external system. Once the message is received, the message will be queued directly to the next step in the model
30 +* Onramp
31 +** In this part, the message will be transformed and validated, preparing it for the following steps to send to the external system. Specific elements exist here also to enrich the message where needed with additional attributes
32 +* Routing
33 +** Using specific header information, the message can be routed to one or more offramps for further processing
34 +* Offramp
35 +** In this process, the message passed on from the routing can be validated if it meets the expected structure and then transformed to the target system. Once processed, the message is put in the exit queue.
36 +* Exit
37 +** The exit will read the message from the queue and then connect to the target system
33 33  
34 34  === 3.2 Canonical Data Model (CDM) ===
35 35  
36 -The Canonical Data Model is a crucial part of the messaging pattern, which we call the CDM in layman terms. The CDM is the data model at the heart of all your messaging integration and defines how a specific message should look from your point of view. For example, when you have an Order and Invoice integration, the CDM will explain what an Order looks like, how an Invoice looks, and how the two are related (or not). Based on this model, you can select portions of the CDM to act as the CDM message for a specific message type (i.e., Order).
41 +The Canonical Data Model is a crucial part of the messaging pattern, which we call the CDM in layman's terms. The CDM is the data model at the heart of all your messaging integration and defines how a specific message should look from your point of view. For example, when you have an Order and Invoice integration, the CDM will explain what an Order looks like, how an Invoice looks, and how the two are related (or not). Based on this model, you can select portions of the CDM to act as the CDM message for a specific message type (i.e., Order).
37 37  
38 38  [[image:Main.Images.Fundamental.WebHome@fundamental-messaging-introduction--cdm-example.png]]
39 39  
... ... @@ -50,25 +50,25 @@
50 50  [[image:Main.Images.Fundamental.WebHome@fundamental-messaging-introduction--transformation-example.png]]
51 51  
52 52  === 3.3 Queueing ===
53 -Within eMagiz, we use the queueing mechanism to transport messages from one queue to the other. The JMS orchestrates this mechanism of queues. The JMS registers and deregisters queues dynamically when there is a need for the queue to be created or destroyed. For example, a customer needs to be registered on any queue to pick up messages. Once the message is delivered to the next queue and the transaction is finished, the message leaves the previous queue. For a more in-depth analysis of how queues work within the platform, please check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Orchestration of data packets.intermediate-orchestration-of-data-packets-queues-how-do-they-work||target="blank"]].
58 +Within eMagiz, we use the queueing mechanism to transport messages from one queue to the other. The JMS orchestrates this mechanism of queues. The JMS registers and deregisters queues dynamically when there is a need for the queue to be created or destroyed. For example, customers must be registered on any queue to pick up messages. Once the message is delivered to the next queue and the transaction is finished, the message leaves the previous queue. For a more in-depth analysis of how queues work within the platform, please check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Orchestration of data packets.intermediate-orchestration-of-data-packets-queues-how-do-they-work||target="blank"]].
54 54  
55 55  === 3.4 Error Handling ===
56 56  
57 -Each messaging flow related to a messaging queue (i.e., onramp, routing, offramp, exit) contains a subprocess that will send the error to the error flow if the operational process fails. As a result, the error will show up in the Dashboard in the Manage phase of eMagiz so the user can analyze it. An example of what this Dashboard looks like can be found below.
62 +Each messaging flow related to a messaging queue (i.e., onramp, routing, offramp, exit) contains a subprocess that will send the error to the error flow if the operational process fails. As a result, the error will appear in the Dashboard in the Manage phase of eMagiz so the user can analyze it. An example of what this Dashboard looks like can be found below.
58 58  
59 59  [[image:Main.Images.Fundamental.WebHome@fundamental-messaging-introduction--error-handling-manage-dashboard.png]]
60 60  
61 -With the help of this information, you can easily determine the origin of an error message. For more information on that please check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-manage-determining-origin-of-error-message||target="blank"]].
66 +This information can help you easily determine the origin of an error message. For more information, please check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-manage-determining-origin-of-error-message||target="blank"]].
62 62  
63 63  === 3.5 Architectural components ===
64 64  
65 -Connecting various systems via the messaging pattern allows you to deploy parts of your architecture as close to the system as possible. This means that you can deploy part of the solution in the eMagiz Cloud and part of the runtimes that hold the entries and exits on-premise if the system you want to connect to is also deployed on-premise. This makes the connection between the entry or exit and the system in question more stable in nature.
70 +Connecting various systems via the messaging pattern allows you to deploy parts of your architecture as close to the system. This means you can deploy part of the solution in the eMagiz Cloud and part of the runtimes that hold the entries and exits on-premise if the system you want to connect to is also deployed on-premise. This makes the connection between the entry or exit and the system in question more stable.
66 66  
67 67  An example of such a hybrid setup is depicted below.
68 68  
69 69  [[image:Main.Images.Fundamental.WebHome@fundamental-messaging-introduction--hybrid-architectural-setup.png]]
70 70  
71 -Logically if all your systems are cloud systems, the most logical choice would be to deploy the complete eMagiz model within the eMagiz Cloud. An example of such a cloud setup is depicted below.
76 +Logically, if all your systems are cloud systems, the most logical choice would be to deploy the complete eMagiz model within the eMagiz Cloud. An example of such a cloud setup is depicted below.
72 72  
73 73  [[image:Main.Images.Fundamental.WebHome@fundamental-messaging-introduction--cloud-architectural-setup.png]]
74 74