Changes for page Updating your API Gateway Operations
Last modified by Danniar Firdausy on 2024/09/30 17:12
From version 20.1
edited by eMagiz
on 2022/05/17 08:33
on 2022/05/17 08:33
Change comment:
There is no comment for this version
To version 30.1
edited by Danniar Firdausy
on 2024/08/07 10:53
on 2024/08/07 10:53
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 +Updating your API Gateway Operations - 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,9 @@ 1 -{{html wiki="true"}} 2 -<div class="ez-academy"> 3 - <div class="ez-academy_body"> 1 +{{container}}{{container layoutStyle="columns"}}((( 4 4 5 - <divclass="doc">3 +In our [[crash course>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]] on the API Gateway pattern, we have learned about setting up the API Gateway. However, we still need to delve into how to update your existing API Gateway solution. In this microlearning, we will focus on updating the design phase of your API gateway (and the subsequent steps) and the create phase of your API gateway (and subsequent steps). This is to learn the impact of updates and how we can achieve this. 6 6 5 +Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 7 7 8 - 9 -= Updating your API Gateway Operations = 10 - 11 -In our crash course on the API Gateway pattern, we have learned about setting up the API Gateway. However, we did not yet delve into the specifics of how to update your existing API Gateway solution. In this microlearning, we will focus on updating the Design phase of your API Gateway (and the subsequent steps) and we will focus on updating the Create phase of your API Gateway (and the subsequent steps). This to learn the impact of updates and to learn how we can achieve this. 12 - 13 -Should you have any questions, please contact academy@emagiz.com. 14 - 15 -* Last update: June 28th, 2021 16 -* Required reading time: 6 minutes 17 - 18 18 == 1. Prerequisites == 19 19 20 20 * Basic knowledge of the eMagiz platform ... ... @@ -23,91 +23,64 @@ 23 23 24 24 This microlearning centers around updating your API Gateway. 25 25 26 -By updating, we mean :Changing existing software to reflect new insights or ideas that have come up during development and/ortesting15 +By updating, we mean changing existing software to reflect new insights or ideas that have come up during development and testing. 27 27 28 28 * Updating can happen from Design 29 29 * Updating can happen from Create 30 30 * Both situations have a different impact 31 31 32 - 33 - 34 34 == 3. Updating your API Gateway Operations == 35 35 36 -In our crash course on the API Gateway pattern, we have learned about setting up the API Gateway. However, we didnot yet delve intothe specificsof how to update your existing API Gateway solution. In this microlearning, we will focus on updating theDesign phase of your APIGateway (and the subsequent steps) andwe will focus on updating theCreate phase of your APIGateway (andthesubsequent steps). This to learn the impact of updates andto learnhow we can achieve this.23 +In our [[crash course>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]] on the API Gateway pattern, we have learned about setting up the API Gateway. However, we still need to delve into how to update your existing API Gateway solution. In this microlearning, we will focus on updating the design phase of your API gateway (and the subsequent steps) and the create phase of your API gateway (and subsequent steps). This is to learn the impact of updates and how we can achieve this. 37 37 38 38 * Updating can happen from Design 39 39 * Updating can happen from Create 40 40 * Both situations have a different impact 41 41 42 -In the remainder of this microlearning, we will discuss both scenarios .Thistogetclarityon whatthe impactis of both scenarios.29 +In the remainder of this microlearning, we will discuss both scenarios to clarify their impact. 43 43 44 44 === 3.1 Updating from Design === 45 45 46 -After you have already addedan integration to Create youmight wanttochange the error handling, thestructureof the request and/orresponse message, the parameters, etc. In all these scenarios you need to change something in the Design phase of eMagiz. The actual changingofthese parts of the API Gateway solutions is specified in earlier microlearnings. However, what to do after you have made those changesisnotyet discussed. In this microlearning, we will discuss that process within eMagiz. Note that this process **only** applies when the operation already exists in Create. If it does not yet exist in Create eMagiz willsimplyaddtheconfigurationto theexisting flowwithoutchangingthe remainderoftheall-entry.33 +After adding an integration to Create, you can change the error handling, the request and response message structure, the parameters, and more. In all these scenarios, you need to change something in the Design phase of eMagiz. The actual change in these parts of the API Gateway solutions is specified in earlier microlearnings. However, what to do after you have made those changes has yet to be discussed. In this microlearning, we will discuss that process within eMagiz. Note that this process **only** applies when the operation already exists in Create. If it does not yet exist in Create, eMagiz will create a new entry and exit gate for you based on the configuration in Design. 47 47 48 - As you might know from our offering on the messaging pattern and how to update in those scenarios you can imagine that (parts of) the API Gateway flows need to be updated to reflect your changes. Depending on the exact change the effect will be seen in the'allentry'or in one ofthe exit gatesthat isspecific to an operation. The division can be made as follows:35 +From our offering on the messaging pattern and how to update it in those scenarios, you can imagine that (parts of) the API Gateway flows need to be updated to reflect your changes. Depending on the exact change, the effect will be seen in the corresponding entry gate or the corresponding exit gate specific to an operation. The division can be made as follows: 49 49 50 -* When you change something to the configuration of the API Gateway itself (i.e security, error handling, parameters) the change will **only** impact the all-entry 51 -* When you change something to the configuration of the backend operation (i.e. endpoint, parameter, system request/response) the change will **only** impact the specific exit gate 52 -* When you change the gateway request/response message (with transformation) the change will impact **both** the all-entry and the specific exit gate 37 +* When you change something in the configuration of the API Gateway operation itself (e.g., path, error handling, parameters), the change will only impact the corresponding entry gate. 38 +* When you change something in the configuration of the backend operation (i.e., endpoint, parameter, system request/response), the change will only impact the specific exit gate. 39 +* When you change the gateway request/response message (with transformation), the change will impact **both** the entry gate and the specific exit gate. 40 +* When you change the API Gateway's security configuration, the infra flow and all entry gates will be updated (by clicking on Update security in the context menu). 53 53 54 - Inall cases,youneeda versionbumpof the flowtowhichyou canrelatethe change.Forexitgates,this processisidentical to whenyou doa versionbumpofanymessaging flow afterupdatingforexamplea CDM message ormessagemapping.However,whenyouupdatesomethingonthe all-entrylevel this becomeslesssimple.Because eMagizdoesnotonlypre-configurethe resourcesforyou in Createbutthe completeall-entry flow you **need**a resetoftheall-entry to reflectthesechanges.Toreset aflowsimply accessthecontextmenu on flow levelinCreate(viaaright-mouse click) and press Reset flow.42 +eMagiz will automate all changes on the entry gate level except for changing the security configuration due to the impact of such a change. When the change is executed, eMagiz will automatically create a new version of the entry gate to reflect the change. To update changes in the exit gate, you need to execute a manual version bump. This division is made because the exit gate can contain much more customization, while the entry gate is, in most cases, completely generated by eMagiz. 55 55 56 -<p align="center">[[image:intermediate-api-management-updating-your-api-gateway-operations--reset-flow-context-menu.png||]]</p> 57 - 58 -After you press this option eMagiz will present you with a confirmation pop-up to ensure that you are 100% sure that this is the correct flow that you want to reset. This because resetting a flow means returning to the original state. 59 - 60 -<p align="center">[[image:intermediate-api-management-updating-your-api-gateway-operations--reset-flow-warning.png||]]</p> 61 - 62 -After you reset your all-entry eMagiz will update the following: 63 - 64 -* Swagger UI that is shown to clients via the Swagger documentation page 65 -* Parameter references 66 -* Error Handling 67 -* Many more 68 - 69 -This all depends on which changes you **made** on the Design level. 70 - 71 71 === 3.2 Updating from Create === 72 72 73 -Apart from updating your API Gateway solution in Create, you can only update parts of the API Gateway solution in Create. Here we mainly talk about changing the gateway messages. Any other changes on the 'exit gate' level have no special impact compared to changing parts of other flows. We discern two parts of updating a (gateway) message that you can execute in the Create phase:46 +Apart from updating your API Gateway solution in Create, you can only update parts of the API Gateway solution in Create. Here, we mainly talk about changing the gateway messages. Any other changes on the 'exit gate' level have no particular impact compared to changing parts of other flows. We discern two parts of updating a (gateway) message that you can execute in the Create phase: 74 74 75 -* Changing the dataType (i.e. from dateTime to date) 76 -* Adding valid enum values 48 +* Changing the dataType (i.e., from dateTime to date) 49 +* Changing / Adding / Deleting valid enum values 77 77 78 -In both cases, eMagiz will automatically update your Swagger definition and all-entry flowby recreatingthe swagger definitionto reflect these changes and executing a version bump of theall-entry.51 +In both cases, eMagiz will automatically update your Swagger definition by recreating it to reflect these changes and executing a version bump of the infra flow. 79 79 80 - Asisthe case with all new versionsin Create thechanges will only be effectuated when you deploy yoursolutionvia the Deploy phase of eMagiz.53 +=== 3.3 Updating the Swagger UI === 81 81 82 - =====Practice=====55 +As is the case with all new versions in Create, the changes will only be effective when you deploy your solution via the eMagiz Deploy phase. 83 83 84 - ==4.Assignment==57 +{{info}}To ensure that the changes to your Swagger file generated by eMagiz are shown to the end-user, the latest version of the API Gateway runtime infra flow needs to be included in the release and deployed to the correct environment.{{/info}} 85 85 86 -Think of three changes you want to apply to an API Gateway solution and see if you can determine which flow in Create needs an update. 87 -This assignment can be completed with the help of the (Academy) project that you have created/used in the previous assignment. 59 +== 4. Key takeaways == 88 88 89 -== 5. Key takeaways == 90 - 91 91 * Updating can happen from Design 92 92 * Updating can happen from Create 93 93 * Both situations have a different impact 94 94 * Adding a new operation to an existing solution does not involve a reset 95 95 * Updating from Create does not involve a reset 96 -* Updating from Design involve sa reset66 +* Updating from Design does not involve a reset 97 97 68 +== 5. Suggested Additional Readings == 98 98 70 +If you are interested in this topic and want more information, please read the help text provided by eMagiz and the following link. 71 +* [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]] 72 +** [[Crash Course API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]] 73 +*** [[Swagger UI (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-swagger-ui||target="blank"]] 99 99 100 -== 6. Suggested Additional Readings == 101 - 102 -If you are interested in this topic and want more information on it please read the help text provided by eMagiz. 103 - 104 -== 7. Silent demonstration video == 105 - 106 -As this is a more theoretical microlearning we did not provide a video for this one. 107 - 108 -</div> 109 - 110 -</div> 111 -</div> 112 - 113 -{{/html}} 75 +)))((({{toc/}}))){{/container}}{{/container}}