Changes for page Considerations for API Gateway or Messaging
Last modified by Erik Bakker on 2024/09/03 08:20
From version 1.1
edited by eMagiz
on 2022/05/05 10:08
on 2022/05/05 10:08
Change comment:
There is no comment for this version
To version 13.1
edited by Danniar Firdausy
on 2024/08/20 13:30
on 2024/08/20 13:30
Change comment:
There is no comment for this version
Summary
-
Page properties (5 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,0 +1,1 @@ 1 +Considerations for API Gateway or Messaging - Parent
-
... ... @@ -1,0 +1,1 @@ 1 +WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. marijn1 +XWiki.dfirdausy - Default language
-
... ... @@ -1,0 +1,1 @@ 1 +en - Content
-
... ... @@ -1,20 +1,8 @@ 1 -{{html wiki="true"}} 2 -<div class="ez-academy"> 3 - <div class="ez-academy_body"> 4 - 5 -<div class="doc"> 6 - 7 - 8 - 9 -= Considerations for API Gateway or Messaging = 10 - 1 +{{container}}{{container layoutStyle="columns"}}((( 11 11 In this microlearning we'll take a moment to discuss several considerations for making the right choice between the two patterns 12 12 13 -Should you have any questions, please get in touch with academy@emagiz.com. 4 +Should you have any questions, please get in touch with [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 14 14 15 -* Last update: December 2021 16 -* Required reading time: 10 minutes 17 - 18 18 == 1. Prerequisites == 19 19 20 20 * Advanced knowledge of the eMagiz platform ... ... @@ -25,62 +25,45 @@ 25 25 26 26 Please refer to the following Fundamentals to learn the key concepts of both patterns 27 27 28 -* [eMagiz API Gateway ](../../docs/fundamental/fundamental-api-gateway-introduction)29 -* [eMagiz Messaging ](../../docs/fundamental/fundamental-event-streaming-introduction)16 +* [[eMagiz API Gateway>>doc:Main.eMagiz Academy.Fundamentals.fundamental-api-gateway-introduction||target="blank"]] 17 +* [[eMagiz Messaging>>doc:Main.eMagiz Academy.Fundamentals.fundamental-messaging-introduction||target="blank"]] 30 30 19 +== 3. Considerations for API Gateway or Messaging == 31 31 32 - 33 -== 3. Considerations for selecting Messaging or Event Streaming == 34 - 35 35 The following sections are helpful to understand what things to consider in selecting the right pattern. 36 36 37 37 * **Synchronous** 38 - * Both patterns in this discussion are synchronous in nature. In case a asynchronous message is the right choice, pelase refer to the relevant microlearning that compares Messaging and Event Streaming 24 + ** Both patterns in this discussion are synchronous in nature. In case a asynchronous message is the right choice, pelase refer to the relevant microlearning that compares Messaging and Event Streaming 39 39 * **Data** 40 - * Both patterns can handle similar type data - usually record based 26 + ** Both patterns can handle similar type data - usually record based 41 41 * **Online vs. offline** 28 + ** For Messaging, the delivering and receiving system need to be online with high availability ratio's in order to process the messages. The same is true for a backend API provider which needs to be online to provide or consume data from API operations 42 42 43 - * For Messaging, the delivering and receiving system need to be online with high availability ratio's in order to process the messages. The same is true for a backend API provider which needs to be online to provide or consume data from API operations 44 - 45 45 * **Error handling** 46 - * In the case of an API Gateway, the requesting application needs to be handle the error messages that are returned by the API gateway in case there are any. The API Gateway provides the errors from the backend API directly back to the requestor who can then decide how to process the request. 47 - * For Messagaging, the errors that are generated are pushed inside the general error process of eMagiz and displayed in the Error Dashboard in the Manage phase. However, the requestor also gets the error messages back from the Messaging system in order to handle these properly 31 + ** In the case of an API Gateway, the requesting application needs to be handle the error messages that are returned by the API gateway in case there are any. The API Gateway provides the errors from the backend API directly back to the requestor who can then decide how to process the request. 32 + ** For Messagaging, the errors that are generated are pushed inside the general error process of eMagiz and displayed in the Error Dashboard in the Manage phase. However, the requestor also gets the error messages back from the Messaging system in order to handle these properly 48 48 * **Contract & communication** 49 - * Messaging required a fixed contract between the message definitions that are exchanged. A change of definition would result in validation issues and therefore more communication is required 50 - * For an API Gateway solution, the contract is published via the API Gateway outwards. The basic idea is that the data definition is fixed and standardized, and that requesting application will adapt their request to this definition. In that sense the API Gateway offers standardization in the landscape 34 + ** Messaging required a fixed contract between the message definitions that are exchanged. A change of definition would result in validation issues and therefore more communication is required 35 + ** For an API Gateway solution, the contract is published via the API Gateway outwards. The basic idea is that the data definition is fixed and standardized, and that requesting application will adapt their request to this definition. In that sense the API Gateway offers standardization in the landscape 51 51 * **Technical disqualifiers** 52 - 53 - * For an API Gateway, the requestor needs to be able to call a REST based webservice using JSON formatted messages. 54 - * Messaging allows other web services such as SOAP, but can also handle XML for instance 55 - 37 + ** For an API Gateway, the requestor needs to be able to call a REST based webservice using a supported messaging format 38 + ** Messaging allows other web services such as SOAP, but can also handle XML for instance 56 56 * **Centralized User Management** 57 - * API gateway offers a easy to configure user management capability to protect operations. Users and roles can be designed in the Design phase, and various authentication methods are allowed such as OAuth2.0 and API Keys. eMagiz offers easy to use configurations for that 58 - * For Messaging, no such user management options exit and all needs to be created inside the flows that handle the requests & replies. 40 + ** API gateway offers a easy to configure user management capability to protect operations. Users and roles can be designed in the Design phase, and various authentication methods are allowed such as OAuth2.0 and API Keys. eMagiz offers easy to use configurations for that 41 + ** For Messaging, no such user management options exit and all needs to be created inside the flows that handle the requests & replies. 59 59 60 -== ===Practice =====43 +== 4. Key takeaways == 61 61 62 -== 4. Assignment == 63 - 64 -There is no assignment for now in this microlearning 65 - 66 -== 5. Key takeaways == 67 - 68 68 * There are a set of considerations to make decisions for API gateway vs. messaging 69 69 * Make sure to read the eMagiz Fundamentals properly before taking this section into account in your project 70 70 48 +== 5. Suggested Additional Readings == 71 71 50 +Take a moment to read the following [[Use Case>>doc:Main.eMagiz Academy.Use Cases.Pattern Determination.WebHome||target="blank"]]. If you are interested in this topic and want more information on it please read the help text provided by eMagiz and read the following links: 51 +* [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]] 52 +** [[Crash Course Event Streaming (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Event Streaming.WebHome||target="blank"]] 53 +*** [[Introduction (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Event Streaming.crashcourse-eventstreaming-event-streaming-introduction||target="blank"]] 54 +** [[Crash Course API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]] 55 +*** [[API Gateway - Introduction (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-introduction||target="blank"]] 72 72 73 -== 6. Suggested Additional Readings == 74 - 75 -Take a moment to read the following link https://emagiz.github.io/docs/usecase/index_academy_usecase_pattern_discovery 76 - 77 -== 7. Silent demonstration video == 78 - 79 -As this is a more theoretical microlearning, we have no video that accompanies this microlearning. 80 - 81 -</div> 82 -</main> 83 -</div> 84 -</div> 85 - 86 -{{/html}} 57 +)))((({{toc/}}))){{/container}}{{/container}}