Changes for page Documentation Portal Introduced
Last modified by Erik Bakker on 2024/09/02 16:11
From version 38.1
edited by Erik Bakker
on 2024/02/01 09:30
on 2024/02/01 09:30
Change comment:
There is no comment for this version
To version 16.2
edited by Erik Bakker
on 2022/06/13 13:31
on 2022/06/13 13:31
Change comment:
Update document after refactoring.
Summary
-
Page properties (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 6 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - Documentation Portal Introduced1 +fundamental-api-gateway-introduction - Parent
-
... ... @@ -1,1 +1,1 @@ 1 - Main.eMagiz Academy.Fundamentals.WebHome1 +WebHome - Content
-
... ... @@ -1,44 +1,90 @@ 1 1 {{container}}{{container layoutStyle="columns"}}((( 2 - Inthis microlearning, we will introduce the eMagiz documentation platform. The focus will be to address the fundamental concepts of the documentation platform. Please refer to other Fundamentals to learn more about related items and look at the relevant microlearnings available to learn how to work in eMagiz.2 + 3 3 4 + 5 += eMagiz API Gateway = 6 + 7 +In this microlearning, we will introduce the essential concepts of the eMagiz API Gateway. The focus will be to address the fundamental concepts of this pattern. Please refer to other Fundamentals to learn more about related items and look at the relevant microlearnings available to learn how to configure an API Gateway in eMagiz. 8 + 4 4 Should you have any questions, please get in touch with academy@emagiz.com. 5 5 6 6 == 1. Prerequisites == 7 -* AninteresttolearnoreabouttheeMagizplatform.12 +* Some context on API Management will be helpful. 8 8 14 + 9 9 == 2. Key concepts == 10 10 All concepts are discussed in the section below. 11 11 12 -== 3. Introducing eMagiz documentation platform == 13 13 14 -The eMagiz documentation platform is an add-on on top of the [[eMagiz platform>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-introduction.WebHome||target="blank"]]. Within the documentation portal we have four distinct categories of information for you to utilize. Should this be your first visit to the eMagiz documentation portal we urge you to check out the tour. This tour can be started from the home page by clicking the "Show tour" icon in the bottom-hand right corner of your screen. 19 + 20 +== 3. Introducing API Gateway == 15 15 16 - ===3.1Academy===22 +The eMagiz API Gateway is the pattern in which a specific entry point is made available for external applications (users). These external applications can connect to this entry point via a series of operations. These operations are listed in a manner that allows this application user to retrieve data or provide data. Users & Roles are managed on a central level to control access to the various data sources. 17 17 18 - === 3.2 Store===24 +[[image:Main.Images.Fundamental.WebHome@fundamental-api-gateway-introduction-1.png]] 19 19 20 -This segment documents all store components managed by eMagiz. For your convenience we have divided these store items into two distinct categories called [[Accelerators>>doc:Main.eMagiz Store.Accelerators.WebHome||target="blank"]] and [[System Connectors>>doc:Main.eMagiz Store.System Connectors.WebHome||target="blank"]]. 26 +=== 3.1 Entry point for application users === 27 +The entry point is a REST/JSON-based web service publicly accessible via the eMagiz Cloud for external application users. There is no other type of web service possible, and all the operations inside this web service are all REST/JSON based. In eMagiz, this concept translates into an All Entry flow type. 21 21 22 -=== 3.3 Support === 29 +=== 3.2 Operations === 30 +An operation is defined as an entry point in the API Gateway that allows a specific type of interaction with the data exposed. For instance, a user wants to get the data for a particular order or create an order via this entry point. In this example, there will be a GET Order and a POST Order operation. The traditional HTTP operations, such as GET, POST, and PUT, are possible * see the below figure for the complete list. 23 23 24 -This segment houses information that support you in case you need to migrate, via the help of our [[migration paths>>doc:Main.eMagiz Support.Migration Paths.WebHome||target="blank"]] and in case you are facing a problem in one of your environments, via the help of our [[RCA knowledge base>>doc:Main.eMagiz Support.RCA Knowledge Base.WebHome||target="blank"]]. On top of that we provide an easy link to our support portal in case you need to register a ticket with our support department. In case you are unsure whether you need to register our ticket or communicate in another way please check out this [[eMagiz platform>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-assistance-needed.WebHome||target="blank"]]. 32 +[[image:Main.Images.Fundamental.WebHome@fundamental-api-gateway-introduction-2.png]] 33 + 34 +=== 3.3 API Providers & Transformation === 35 +There is a specific system connected to the operation for every operation, which gets the data or processes the data. That system, application, or service is geared towards that specific piece of data and may have its connectivity requirements, security requirement, or data structure. eMagiz will create a particular Exit Gate Flow type so that all these requirements can be appropriately handled. The figure below the Control Tower, Exact, AFAS, and Address validator are the API providers. 25 25 26 - === 3.4 ReleaseInformation===37 +[[image:Main.Images.Fundamental.WebHome@fundamental-api-gateway-introduction-4.png]] 27 27 28 - Thissegment houses all ourrelease informationonthe platform. Hereyou canfindthetechnicalrelease notesof the [[eMagizplatform>>doc:Main.ReleaseInformation.Portal.WebHome||target="blank"]],our[[infrastructure>>doc:Main.ReleaseInformation.RuntimeImages.WebHome||target="blank"]], andour[[cloud>>doc:Main.ReleaseInformation.CloudTemplates.WebHome||target="blank"]]aswell asmorefunctionalreleaseblogs on the[[platform>>doc:Main.ReleaseInformation.ReleaseBlogs.WebHome||target="blank"]] andthe[[documentationportal>>doc:Main.ReleaseInformation.DocumentationPortal.WebHome||target="blank"]]. The intent of thiscategory is to informour users of whatchangedinevery release sotheycanadaptto this.39 +Each operation can have a Gateway Message and a System message for the specific API. In this way, standard eMagiz transformation tooling is made available to handle content and format transformations in the API Gateway. 29 29 41 +[[image:Main.Images.Fundamental.WebHome@fundamental-api-gateway-introduction-5.png]] 42 + 43 +=== 3.4 Interaction type & error handling === 44 +The API Gateway follows a synchronous pattern which means there is always a request being made to the web service, and that same web service will always provide you with a response. The web service will wait until the backend system delivering the response is ready to send that response. 45 + 46 +In all cases, the web service provides a specific response using HTTP response codes (the standard definition used). If a particular HTTP response code is returned that includes a specific error, then the requestor/application user is responsible for handling the returned error. That is by design as the synchronous nature of these request imply that the calling application needs to decide to continue to the next functional step or alike. In any case, it is different and specific for each application user. 47 + 48 +eMagiz does allow to influence some of these response codes by specific information per HTTP responses codes. Or provide custom responses. 49 + 50 +=== 3.5 Centralized User Management === 51 +In the context of an API Gateway, user management means the mechanism whereby users are granted access to a specific set of operations. User Management in eMagiz can define users and roles. The user will have the access credentials to access the API Gateway in the first place. Options are OAuth2.0 or API Key. Users are assigned a role that defines to what operations access has been given. In this way, the access to the gateway is handled centrally, and the data exposed is adequately protected. Credentials are to be submitted to application users on a separate note. 52 + 53 +=== 3.6 API Disovery === 54 +External application users can discover the operations via an online Portal * the SwaggerUI technology is used for that purpose. In that online section, the user can see all the published operations. For operation, all the required information is displayed to understand how to connect to the API correctly. That includes the request and response definitions, parameters, naming, response codes, and many more. Once the credentials have been provided, the application user can try out the operation. 55 + 56 +[[image:Main.Images.Fundamental.WebHome@fundamental-api-gateway-introduction-3.png]] 57 + 58 + 59 +=== 3.6 Architectural components === 60 + 61 +A simplified picture below illustrates the overall architecture of API Gateway in the eMagiz Cloud. 62 + 63 +[[image:Main.Images.Fundamental.WebHome@fundamental-api-gateway-introduction-6.png]] 64 + 65 + 66 + 30 30 == 4. Key takeaways == 31 31 32 -* The eMagiz documentation platform is an add-on on top of the [[eMagiz platform>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-introduction.WebHome||target="blank"]] 33 -* It consists of four main categories of information 34 -** Academy 35 -** Store 36 -** Support 37 -** Release Information 38 -* You can follow a tour to better understand the navigation of the eMagiz documentation portal. 69 +* API Gateway can serve as a single entry point for all external or intern application users 70 +* API Gateway can simplify the IT landscape by offering a reusable entry point 71 +* API Gateway is a synchronous pattern by default 72 +* API Gateway leverages the standard capability of eMagiz around deployment, transformation, and business owner interaction 39 39 74 + 75 + 40 40 == 5. Suggested Additional Readings == 41 41 42 -* [[eMagiz website>>https://emagiz.com/en/||target="blank"]] 78 +* [API Gateway Introduction](https://www.emagiz.com/en/api-gateway-en/) 79 +* [Crashcourse API Gateway](../microlearning/crashcourse-api-gateway-index.md) 80 +* [API Management](../microlearning/intermediate-api-management-index.md) 81 +* [Transformations in API Gateway](../microlearning/intermediate-configuring-the-api-gateway-index.md) 82 +* [Testing the API Gateway](../microlearning/intermediate-testing-emagiz-api-gateway-index.md) 83 +* [Advanced config API Gateway](../microlearning/advanced-api-management-index.md) 43 43 85 + 86 +== 6. Silent demonstration video == 87 + 88 +{{video attachment="fundamental-api-gateway-introduction.mp4" reference="Main.Videos.Fundamental.WebHome"/}} 89 + 44 44 )))((({{toc/}}))){{/container}}{{/container}}
- fundamental-api-gateway-introduction-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ebakker - Size
-
... ... @@ -1,0 +1,1 @@ 1 +131.4 KB - Content
- fundamental-api-gateway-introduction-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ebakker - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.2 KB - Content
- fundamental-api-gateway-introduction-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ebakker - Size
-
... ... @@ -1,0 +1,1 @@ 1 +125.9 KB - Content
- fundamental-api-gateway-introduction-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ebakker - Size
-
... ... @@ -1,0 +1,1 @@ 1 +13.3 KB - Content
- fundamental-api-gateway-introduction-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ebakker - Size
-
... ... @@ -1,0 +1,1 @@ 1 +191.0 KB - Content
- fundamental-api-gateway-introduction-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ebakker - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content