Changes for page Asynchronous Routing

Last modified by Danniar Firdausy on 2024/09/04 09:01

From version 20.1
edited by Erik Bakker
on 2022/08/15 08:05
Change comment: There is no comment for this version
To version 15.1
edited by eMagiz
on 2022/05/10 11:13
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,0 @@
1 -Asynchronous Routing
Parent
... ... @@ -1,1 +1,0 @@
1 -WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ebakker
1 +XWiki.marijn
Default language
... ... @@ -1,1 +1,0 @@
1 -en
Content
... ... @@ -1,8 +1,20 @@
1 -{{container}}{{container layoutStyle="columns"}}(((
1 +{{html wiki="true"}}
2 +<div class="ez-academy">
3 + <div class="ez-academy_body">
4 +
5 +<div class="doc">
6 +
7 +
8 +
9 += Asynchronous Routing =
10 +
2 2  In this microlearning, we will explain the basics of asynchronous routing that plays a vital role in the distribution of messages within the five-layer model of messaging.
3 3  
4 -Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]].
13 +Should you have any questions, please contact academy@emagiz.com.
5 5  
15 +* Last update: February 25th, 2021
16 +* Required reading time: 7 minutes
17 +
6 6  == 1. Prerequisites ==
7 7  
8 8  * Basic knowledge of the eMagiz platform
... ... @@ -18,6 +18,8 @@
18 18  * Based on a decision made within the routing the message is routed to one or more offramp queues
19 19  * Each offramp queue will receive data based on the decision unless you add another filter before the messages are sent to the offramp queue
20 20  
33 +
34 +
21 21  == 3. Asynchronous routing ==
22 22  
23 23  Asynchronous routing plays a crucial role in the distribution of messages it receives to one or more offramps.
... ... @@ -39,19 +39,19 @@
39 39  
40 40  This SpEL expression does the following things:
41 41  
42 -* It looks for the header called {technicalnameofproject}\_targetSystem and will split each entry based on the separator (a comma)
43 -* It will trim the result of this split and combine it the value in the header called {technicalnameofproject}\_messageType
44 -* For every unique combination it will search to a pre-configured list to see to which channel the message should be sent
56 +1. It looks for the header called {technicalnameofproject}\_targetSystem and will split each entry based on the separator (a comma)
57 +2. It will trim the result of this split and combine it the value in the header called {technicalnameofproject}\_messageType
58 +3. For every unique combination it will search to a pre-configured list to see to which channel the message should be sent
45 45  
46 46  In the standard router component this will look as follows:
47 47  
48 -[[image:Main.Images.Microlearning.WebHome@crashcourse-messaging-asynchronous-routing--routing-decision.png]]
62 +<p align="center">[[image:crashcourse-messaging-asynchronous-routing--routing-decision.png||]]</p>
49 49  
50 50  In this simple case, we only have one channel as a result because all routings start simple.
51 51  The moment you add new offramps to your project you need to add the new entry(s) to this list.
52 52  Doing so is easy when you are in Start Editing Mode. Simply open the router component and select the button New Mapping
53 53  
54 -[[image:Main.Images.Microlearning.WebHome@crashcourse-messaging-asynchronous-routing--new-value-mapping.png]]
68 +<p align="center">[[image:crashcourse-messaging-asynchronous-routing--new-value-mapping.png||]]</p>
55 55  
56 56  In here you fill in the correct unique combination of a target system and the message type and select the channel you want to route the message to.
57 57  When you are satisfied you can press Save and the new entry will be registered in eMagiz.
... ... @@ -73,13 +73,13 @@
73 73  
74 74  Below you see how this will look on flow level.
75 75  
76 -[[image:Main.Images.Microlearning.WebHome@crashcourse-messaging-asynchronous-routing--filter-construction.png]]
90 +<p align="center">[[image:crashcourse-messaging-asynchronous-routing--filter-construction.png||]]</p>
77 77  
78 78  When we zoom in on the filter component we see a simple SpEL expression that checks the value of a certain property.
79 79  When the value of the property is true the message can pass. If the value of the property is any other value the message will be halted.
80 80  The best practice would be to work with false to get clarity on what the intended use of the property value is.
81 81  
82 -[[image:Main.Images.Microlearning.WebHome@crashcourse-messaging-asynchronous-routing--filter-configuration.png]]
96 +<p align="center">[[image:crashcourse-messaging-asynchronous-routing--filter-configuration.png||]]</p>
83 83  
84 84  === 3.4 Step by step guide ===
85 85  
... ... @@ -107,8 +107,9 @@
107 107  The result of setting up your asynchronous routing in this manner
108 108  is that you have one single point of entry, one single piece of decision logic, and a way to control the output per specific output channel.
109 109  
110 -[[image:Main.Images.Microlearning.WebHome@crashcourse-messaging-asynchronous-routing--simple-asynchronous-routing-example.png]]
124 +<p align="center">[[image:crashcourse-messaging-asynchronous-routing--simple-asynchronous-routing-example.png||]]</p>
111 111  
126 +===== Practice =====
112 112  
113 113  == 4. Assignment ==
114 114  
... ... @@ -121,6 +121,8 @@
121 121  * Control the output with a filter to prevent data to be sent to a queue too early
122 122  * Use the annotations to write down the step by step guide within your asynchronous routing
123 123  
139 +
140 +
124 124  == 6. Suggested Additional Readings ==
125 125  
126 126  If you are interested in this topic and want more information on it please read the help text provided by eMagiz.
... ... @@ -129,6 +129,10 @@
129 129  
130 130  This video demonstrates how you could have handled the assignment and gives you some context on what you have just learned.
131 131  
132 -{{video attachment="crashcourse-messaging-asynchronous-routing.mp4" reference="Main.Videos.Microlearning.WebHome"/}}
149 +<iframe width="1280" height="720" src="../../vid/microlearning/crashcourse-messaging-asynchronous-routing.mp4" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
133 133  
134 -)))((({{toc/}}))){{/container}}{{/container}}
151 +</div>
152 +</div>
153 +</div>
154 +
155 +{{/html}}