Changes for page Updating your API Gateway Operations
Last modified by Danniar Firdausy on 2024/09/30 17:12
From version 35.9
edited by Danniar Firdausy
on 2024/09/27 13:27
on 2024/09/27 13:27
Change comment:
There is no comment for this version
To version 26.1
edited by Eva Torken
on 2023/08/25 11:31
on 2023/08/25 11:31
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. dfirdausy1 +XWiki.etorken - Content
-
... ... @@ -1,6 +1,6 @@ 1 1 {{container}}{{container layoutStyle="columns"}}((( 2 2 3 - Buildingon what we covered in our[[crash course>>doc:Main.eMagizAcademy.Microlearnings.CrashCourse.CrashCourse API Gateway.WebHome||target="blank"]]about setting up the API Gateway,we willnowfocuson thenextcriticalstep:updatingyour existing API Gateway solution. In this microlearning, we willguide youthroughtheprocess of updatingboth the designphaseand thecreate phase of your API Gateway,and explore howtheseupdatesimpactyoursolution.3 +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. 4 4 5 5 Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]]. 6 6 ... ... @@ -11,68 +11,73 @@ 11 11 == 2. Key concepts == 12 12 13 13 This microlearning centers around updating your API Gateway. 14 -* By updating, we mean: changing existing software to reflect new insights or ideas that have come up during development and testing. 15 15 15 +By updating, we mean: Changing existing software to reflect new insights or ideas that have come up during development and/or testing 16 + 17 +* Updating can happen from Design 18 +* Updating can happen from Create 19 +* Both situations have a different impact 20 + 16 16 == 3. Updating your API Gateway Operations == 17 17 18 -In our [[crash course>>doc:Main.eMagizAcademy.Microlearnings.CrashCourse.Crash Course API Gateway.WebHome||target="blank"]] on the API Gateway pattern, we have learned about setting up the API Gateway. However, westillneedtodelve into 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) and thecreate phase of your APIgateway (and subsequent steps). Thisisto learn the impact of updates and how we can achieve this.23 +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. 19 19 20 20 * Updating can happen from Design 21 21 * Updating can happen from Create 22 22 * Both situations have a different impact 23 23 24 -In the remainder of this microlearning, we will discuss both scenarios to clari fy theirimpact.29 +In the remainder of this microlearning, we will discuss both scenarios. This to get clarity on what the impact is of both scenarios. 25 25 26 26 === 3.1 Updating from Design === 27 27 28 -After add ingan integration to Create,youcan change the error handling, the request and response messagestructure, the parameters,and more. In all these scenarios,you need to change something in the Design phase of eMagiz. The actual changein these parts of the API Gateway solutions is specified in earlier microlearnings. However, what to do after you have made those changeshas yetto bediscussed. 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 willcreateanewentryandexitgateforyoubased on theconfigurationinDesign.33 +After you have already added an integration to Create you might want to change the error handling, the structure of the request and/or response message, the parameters, etc. In all these scenarios you need to change something in the Design phase of eMagiz. The actual changing of these parts of the API Gateway solutions is specified in earlier microlearnings. However, what to do after you have made those changes is not yet 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 simply add the configuration to the existing flow without changing the remainder of the all-entry. 29 29 30 - 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 thecorrespondingentrygateorthecorrespondingexit gate specific to an operation. The division can be made as follows:35 +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 'all entry' or in one of the exit gates that is specific to an operation. The division can be made as follows: 31 31 32 -* 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. 33 -* 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. 34 -* When you change the gateway request/response message (with transformation), the change will impact **both** the entry gate and the specific exit gate. 35 -* 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). 37 +* 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 38 +* 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 39 +* When you change the gateway request/response message (with transformation) the change will impact **both** the all-entry and the specific exit gate 36 36 37 - eMagizwill automateallchanges ontheentry gatelevelexceptfor changingthesecurityconfigurationdue tothe impactofsuchachange.Whenthechangeisexecuted,eMagizwillautomaticallycreate anewversion ofthe entrygate toreflectthe change.Toupdate changesin the exit gate,you need to execute amanualversionbump. Thisdivisionismadebecause the exitgatecancontainmuchmore customization,whiletheentrygateis,inmost cases,completelygeneratedbyeMagiz.41 +In some cases, version bumps are needed to confirm the change in Create. For exit gates, this process is identical to when you do a version bump of any messaging flow after updating for example a CDM message or message mapping. However, when you update something on the all-entry level what is needed differs. In case of a security change you need to reset the all-entry flow. To reset a flow simply access the context menu on flow level in Create (via a right-mouse click) and press Reset flow. In case of all other changes, no reset is needed, just a version bump. 38 38 39 - === 3.2 Updatingfrom Create===43 +[[image:Main.Images.Microlearning.WebHome@intermediate-api-management-updating-your-api-gateway-operations--reset-flow-context-menu.png]] 40 40 41 -A partfromupdatingyourAPI Gatewaysolution inCreate,youcan only updatepartsofthe API Gateway solutioninCreate.Here,we mainlytalkaboutchanging thegatewaymessages.Any other changesonthe'exitgate' levelhavenoparticularimpactcomparedto changing partsofotherflows.We discerntwo partsof updating a(gateway)message that you can executein theCreatephase:45 +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. 42 42 43 -* Changing the dataType (i.e., from dateTime to date) 44 -* Changing / Adding / Deleting valid enum values 47 +[[image:Main.Images.Microlearning.WebHome@intermediate-api-management-updating-your-api-gateway-operations--reset-flow-warning.png]] 45 45 46 - Inbothcases,eMagiz will automaticallyupdateyourSwagger definition byrecreatingitto reflectthese changes and executingaversionbump oftheinfra flow.49 +After you reset your all-entry eMagiz will update the following: 47 47 48 -=== 3.3 Updating the Swagger UI === 51 +* Swagger UI that is shown to clients via the Swagger documentation page 52 +* Parameter references 53 +* Error Handling 54 +* Many more 49 49 50 - Next to that,you can alsoupdatetheSwagger UI of your API Gateway solution,sothat it better informs your (external)parties to see thespecifications of your API Gateway. As youhave learnedfrom theprevious microlearningofthe[[Swagger UI>>doc:Main.eMagizAcademy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-swagger-ui||target="blank"]],56 +This all depends on which changes you **made** on the Design level. 51 51 58 +=== 3.2 Updating from Create === 52 52 53 -A sis the casewithallnewversionsin Create,the changeswillonlybeeffectivewhenyoudeployyour solutionvia the eMagizDeployphase.60 +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: 54 54 55 -{{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}} 62 +* Changing the dataType (i.e. from dateTime to date) 63 +* Adding valid enum values 56 56 65 +In both cases, eMagiz will automatically update your Swagger definition and all-entry flow by recreating the swagger definition to reflect these changes and executing a version bump of the all-entry. 66 + 67 +As is the case with all new versions in Create the changes will only be effectuated when you deploy your solution via the Deploy phase of eMagiz. 68 + 57 57 == 4. Key takeaways == 58 58 59 -* Updates to your API Gateway can be made either during the Design phase or the Create phase, each with distinct impacts. 60 -* Changes made in the Design phase affect the configuration of the entry gate and may necessitate updates to both entry and exit gates, depending on the nature of the changes. 61 -* Changes during the Create phase typically involve modifications to gateway messages, with changes reflected automatically in the Swagger definition and a version bump of the infra flow. 62 -* Adding new operations or updating from either Design or Create does not require a reset of the existing solution. 63 -* Ensure that updates are included in the deployment phase to reflect the latest changes in the Swagger file and runtime infra flow. 71 +* Updating can happen from Design 72 +* Updating can happen from Create 73 +* Both situations have a different impact 74 +* Adding a new operation to an existing solution does not involve a reset 75 +* Updating from Create does not involve a reset 76 +* Updating from Design involves a reset 64 64 65 65 == 5. Suggested Additional Readings == 66 66 67 -If you are interested in this topic and want more information ,please read the help text provided by eMagizand see the following link:80 +If you are interested in this topic and want more information on it please read the help text provided by eMagiz. 68 68 69 -* [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]] 70 -** [[Crash Course API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]] 71 -*** [[Swagger UI (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-swagger-ui||target="blank"]] 72 -*** [[Parameters (Path, Query) (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-parameters||target="blank"]] 73 -*** [[Configure A Backend Operation (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-configure-backend-operation||target="blank"]] 74 -*** [[Setting up Entry gate (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-setting-up-entry-gate||target="blank"]] 75 -*** [[Setting up Exit gate (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-setting-up-exit-gate||target="blank"]] 76 -*** [[API Gateway Security (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-security||target="blank"]] 77 -* [[Updating API Gateway Operations (Search Results)>>url:https://docs.emagiz.com/bin/view/Main/Search?sort=score&sortOrder=desc&highlight=true&facet=true&r=1&f_space_facet=0%2FMain.&l_space_facet=10&f_type=DOCUMENT&f_locale=en&f_locale=&f_locale=en&text=updating+%22API+gateway%22+operation||target="blank"]] 82 + 78 78 )))((({{toc/}}))){{/container}}{{/container}}