Changes for page Considering the impact of business logic
Last modified by Danniar Firdausy on 2024/09/18 21:32
From version 49.2
edited by Erik Bakker
on 2022/06/10 13:10
on 2022/06/10 13:10
Change comment:
Update document after refactoring.
To version 54.2
edited by Danniar Firdausy
on 2024/08/20 15:13
on 2024/08/20 15:13
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. ebakker1 +XWiki.dfirdausy - Content
-
... ... @@ -5,9 +5,6 @@ 5 5 6 6 Should you have any questions, please get in touch with [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 7 7 8 -* Last update: April 6th, 2021 9 -* Required reading time: 4 minutes 10 - 11 11 == 1. Prerequisites == 12 12 13 13 Advanced knowledge of the eMagiz platform ... ... @@ -35,34 +35,25 @@ 35 35 36 36 What is acceptable and what is not acceptable in eMagiz then quickly becomes the question. You could argue that any business rule is too much in eMagiz. However, that is a bit too strict of a definition as there are scenarios in which it is pretty helpful to manipulate the destination of messages while transporting them between systems. One example of this would be logic in the asynchronous routing that allows you to develop functionality within the routing and ensure that each piece of the functionality comes with an on/off switch. This way, you reduce problems when deploying and make it clear to all that data can be sent (or not sent) to certain offramps. 37 37 38 - 39 39 Another valid scenario would be to filter messages based on a single criterion to reduce the data load sent to specific systems. For example, when you have one system that sends out employee information that needs to be sent to ten different systems, you could use the messaging pattern and filter out the relevant information in the offramp. However, you could also publish all employee information on a topic, let all those systems consume from it, and do the filtering themselves. Both are possible. The most interesting question in this scenario would be whether it can hurt if all systems access all employee information. If that is the case, then filtering in eMagiz becomes highly relevant suddenly. 40 40 41 - 42 42 On the flip side, you should not implement business logic in eMagiz if the rules consist of multiple criteria and are dependent on other (tables of) information. So gathering all that and making the decision will become so complex that you should consider moving the logic to the business application itself. That way, you reduce the complexity of the integration. This reduces the risks of things going wrong and reduces the time needed to develop and maintain the integration. 43 43 44 44 45 45 The main takeaway should be that adding business logic comes at a price. Depending on the specific requirements, you have to decide whether the pros outweigh the cons. The most crucial part of using business logic is proper documentation. That way, it is clear what the business logic does, why it is there, and how it can be controlled. 46 46 47 -== 4. Assignment ==42 +== 4. Key takeaways == 48 48 49 -See if you can determine which business logic is implemented in your project and whether that was a wise decision. This assignment can be completed with the help of the (Academy) project that you have created/used in the previous assignment. 50 - 51 -== 5. Key takeaways == 52 - 53 53 * Check out the pros and cons to determine whether business logic in eMagiz makes sense 54 54 * Documentation is key 55 55 56 -== 6. Suggested Additional Readings ==47 +== 5. Suggested Additional Readings == 57 57 58 -* [[Asynchronous Routing>>doc:Main.eMagiz Academy.Microlearnings.WebHome]] 49 +* [[Crash Courses (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]] 50 +** [[Crash Course Messaging (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Messaging.WebHome||target="blank"]] 51 +*** [[Asynchronous Routing (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Messaging.crashcourse-messaging-asynchronous-routing]] 52 +*** [[Filter (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Messaging.crashcourse-messaging-filter||target="blank"]] 53 +))) 59 59 60 - 61 -== 7. Silent demonstration video == 62 - 63 -There is no video for this microlearning. 64 - 65 -{{video attachment="advanced-active-monitoring-determining-cause-of-log-entry.mp4"/}}))) 66 - 67 67 ((({{toc/}}))){{/container}} 68 68 {{/container}}