Last modified by Erik Bakker on 2024/09/02 16:11

From version 72.1
edited by Erik Bakker
on 2024/09/02 16:11
Change comment: There is no comment for this version
To version 8.1
edited by eMagiz
on 2022/06/13 09:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,0 @@
1 -Documentation Portal Introduced
Parent
... ... @@ -1,1 +1,0 @@
1 -Main.eMagiz Academy.Fundamentals.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ebakker
1 +XWiki.marijn
Content
... ... @@ -1,99 +1,100 @@
1 -{{container}}{{container layoutStyle="columns"}}(((
2 -Check out the eMagiz documentation platform, which is an add-on to the eMagiz platform. It contains four categories of information, including the Academy, Store, Support, and Release Information. Each category offers valuable resources to help you make the most of the eMagiz platform. On top of that, we guide you through the different ways to navigate the documentation portal and teach you how to use the search functionality. This will make it easier for you to find what you need.
1 +{{html wiki="true"}}
2 +<div class="ez-academy">
3 + <div class="ez-academy_body">
4 +<div class="doc">
5 +
3 3  
7 +
8 += eMagiz API Gateway =
9 +
10 +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.
11 +
4 4  Should you have any questions, please get in touch with academy@emagiz.com.
5 5  
14 +* Last update: November 10th, 2021
15 +* Required reading time: 10 minutes
16 +
6 6  == 1. Prerequisites ==
7 -* An interest in learning more about the eMagiz platform.
18 +* Some context on API Management will be helpful.
8 8  
20 +
9 9  == 2. Key concepts ==
10 -* Providing information about the eMagiz documentation platform.
22 +All concepts are discussed in the section below.
11 11  
12 -== 3. Introducing the eMagiz documentation platform ==
13 13  
14 -The eMagiz documentation platform is an add-on to 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. You can start this tour from the home page by clicking the "Show tour" icon in the bottom right-hand corner of your screen.
25 +
26 +== 3. Introducing API Gateway ==
15 15  
16 -=== 3.1 Academy ===
28 +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 -In this segment, you can learn about the platform. To make your learning experience manageable, we have divided this segment into three categories. It starts with the [[Fundamental>>doc:Main.eMagiz Academy.Fundamentals.WebHome||target="blank"]] section that explains the eMagiz platform, the documentation portal, and the critical features of the eMagiz platform for you to utilize.
30 +<p align="center">[[image:fundamental-api-gateway-introduction-1.png||]]</p>
19 19  
20 -On top of that, we have the [[Microlearnings>>doc:Main.eMagiz Academy.Microlearnings.WebHome||target="blank"]] section that explains all components of the platform from a user perspective (i.e., what do I need to do to act eMagiz) in bite-size pieces. This section divides the knowledge into various levels from Platform & Pattern [[Crash Courses>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]] to courses per level of experience in the platform (i.e. [[Novice Level - eMagiz>>doc:Main.eMagiz Academy.Microlearnings.Novice.WebHome||target="blank"]]) so you can learn to use the platform in a structured way.
32 +=== 3.1 Entry point for application users ===
33 +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 -This section, in addition to the learnings, details our [[certification program>>doc:Main.eMagiz Academy.Get Certified.WebHome||target="blank"]], including the requirements and how to sign up for a certification.
35 +=== 3.2 Operations ===
36 +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 -=== 3.2 Store ===
38 +<p align="center">[[image:fundamental-api-gateway-introduction-2.png||]]</p>
39 +
40 +=== 3.3 API Providers & Transformation ===
41 +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 -This segment documents all store components managed by eMagiz. We have divided these store items into two categories called [[accelerators>>doc:Main.eMagiz Store.Accelerators.WebHome||target="blank"]] and [[system connectors>>doc:Main.eMagiz Store.System Connectors.WebHome||target="blank"]]. Here, you can browse through (and search for) specific store solutions that you can use within your model. If you want more information on the store, please check out this [[fundamental>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-store.WebHome||target="blank"]].
43 +<p align="center">[[image:fundamental-api-gateway-introduction-4.png||]]</p>
27 27  
28 -=== 3.3 Support ===
45 +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  
30 -This segment houses information that supports 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 when you need to register a ticket with our support department. If you are still determining whether you need to register our ticket or communicate another way, please check out this [[fundamental>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-assistance-needed.WebHome||target="blank"]].
47 +<p align="center">[[image:fundamental-api-gateway-introduction-5.png||]]</p>
31 31  
32 -=== 3.4 Release Information ===
49 +=== 3.4 Interaction type & error handling ===
50 +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.
33 33  
34 -This segment houses all our release information on the platform. Here, the technical [[release notes>>doc:Main.Release Information.Portal.WebHome||target="blank"]] of the eMagiz platform, our [[infrastructure>>doc:Main.Release Information.Runtime Images.WebHome||target="blank"]], and our [[cloud>>doc:Main.Release Information.Cloud Templates.WebHome||target="blank"]] as well as more functional release blogs on the [[platform>>doc:Main.Release Information.Release Blogs.WebHome||target="blank"]] and the [[documentation portal>>doc:Main.Release Information.Documentation Portal.WebHome||target="blank"]]. This category intends to inform our users of what changes in every release so they can adapt.
52 +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.
35 35  
36 -=== 3.4 Navigation ===
54 +eMagiz does allow to influence some of these response codes by specific information per HTTP responses codes. Or provide custom responses.
37 37  
38 -There are three ways to navigate the documentation portal. For each example, we are going to navigate to the list of bi-weekly published release notes. The first one is by clicking through the various cards to get to the right information, as shown below.
56 +=== 3.5 Centralized User Management ===
57 +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.
39 39  
40 -{{video attachment="left-panel-navigation-doc-portal.mp4" reference="Main.Videos.Fundamental.WebHome"/}}
59 +=== 3.6 API Disovery ===
60 +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.
41 41  
42 -Secondly, use the breadcrumb navigation at the top of the page to get to the exact location, as shown below.
62 +<p align="center">[[image:fundamental-api-gateway-introduction-3.png||]]</p>
43 43  
44 -{{video attachment="breadcrumb-navigation-doc-portal.mp4" reference="Main.Videos.Fundamental.WebHome"/}}
45 45  
46 -Thirdly, you can use the navigation on the left of the page to get to the desired location.
65 +=== 3.6 Architectural components ===
47 47  
48 -{{video attachment="card-navigation-doc-portal.mp4" reference="Main.Videos.Fundamental.WebHome"/}}
67 +A simplified picture below illustrates the overall architecture of API Gateway in the eMagiz Cloud.
49 49  
50 -=== 3.5 Search ===
69 +<p align="center">[[image:fundamental-api-gateway-introduction-6.png||]]</p>
51 51  
52 -If you are new, need help navigating, or need help figuring out exactly where to look, you can use the documentation portal's search functionality by entering key phrases. You can access the search functionality at the top-left corner of your page by typing in a keyphrase and pressing Enter. This will lead you to an overview of your search results. Once you have found the information in question, you can click on the result to navigate to that page.
71 +===== Practice =====
53 53  
54 -{{video attachment="search-functionality-doc-portal.mp4" reference="Main.Videos.Fundamental.WebHome"/}}
73 +== 4. Key takeaways ==
55 55  
56 -{{info}}
57 -* The search searches through all information available on the documentation portal.
58 -* Once you are in the search overview, you can drill down to specific parts of the documentation portal (as demonstrated in the video)
59 -* Searching for partial words will not result in any hits.
60 -* In the above video, I could also have clicked directly on the link to "New Equilibrium"{{/info}}
75 +* API Gateway can serve as a single entry point for all external or intern application users
76 +* API Gateway can simplify the IT landscape by offering a reusable entry point
77 +* API Gateway is a synchronous pattern by default
78 +* API Gateway leverages the standard capability of eMagiz around deployment, transformation, and business owner interaction
61 61  
62 -== 4. Key takeaways ==
63 63  
64 -* The eMagiz documentation platform is an add-on to the [[eMagiz platform>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-introduction.WebHome||target="blank"]]
65 -* It consists of four main categories of information
66 -** Academy
67 -** Store
68 -** Support
69 -** Release Information
70 -* You can follow a tour to understand better how to navigate the eMagiz documentation portal.
71 71  
72 72  == 5. Suggested Additional Readings ==
73 73  
84 +* [API Gateway Introduction](https://www.emagiz.com/en/api-gateway-en/)
85 +* [Crashcourse API Gateway](../microlearning/crashcourse-api-gateway-index.md)
86 +* [API Management](../microlearning/intermediate-api-management-index.md)
87 +* [Transformations in API Gateway](../microlearning/intermediate-configuring-the-api-gateway-index.md)
88 +* [Testing the API Gateway](../microlearning/intermediate-testing-emagiz-api-gateway-index.md)
89 +* [Advanced config API Gateway](../microlearning/advanced-api-management-index.md)
74 74  
75 -* [[Home (Menu)>>doc:Main.WebHome||target="blank"]]
76 -* [[Academy (Menu)>>doc:Main.eMagiz Academy.WebHome||target="blank"]]
77 -** [[Fundamental (Navigation)>>doc:Main.eMagiz Academy.Fundamentals.WebHome||target="blank"]]
78 -*** [[eMagiz Platform (Explanation)>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-introduction.WebHome||target="blank"]]
79 -*** [[Support (Explanation)>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-assistance-needed.WebHome||target="blank"]]
80 -*** [[Store (Explanation)>>doc:Main.eMagiz Academy.Fundamentals.fundamental-emagiz-store.WebHome||target="blank"]]
81 -** [[Microlearnings (Menu)>>doc:Main.eMagiz Academy.Microlearnings.WebHome||target="blank"]]
82 -*** [[Crash Courses (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
83 -*** [[Novice Level (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Novice.WebHome||target="blank"]]
84 -** [[Certification Program (Explanation)>>doc:Main.eMagiz Academy.Get Certified.WebHome||target="blank"]]
85 -* [[Store (Menu)>>doc:Main.eMagiz Store.WebHome||target="blank"]]
86 -** [[Accelerators (Navigation)>>doc:Main.eMagiz Store.Accelerators.WebHome||target="blank"]]
87 -** [[System Connectors (Navigation)>>doc:Main.eMagiz Store.System Connectors.WebHome||target="blank"]]
88 -* [[Support (Menu)>>doc:Main.eMagiz Support.WebHome||target="blank"]]
89 -** [[Migration Paths (Navigation)>>doc:Main.eMagiz Support.Migration Paths.WebHome||target="blank"]]
90 -** [[RCA Knowledge Base (Navigation)>>doc:Main.eMagiz Support.RCA Knowledge Base.WebHome||target="blank"]]
91 -* [[Release Information (Menu)>>doc:Main.Release Information.WebHome||target="blank"]]
92 -** [[Release Notes (Navigation)>>doc:Main.Release Information.Portal.WebHome||target="blank"]]
93 -** [[Release Blogs (Navigation)>>doc:Main.Release Information.Release Blogs.WebHome||target="blank"]]
94 -** [[Runtime Images (Navigation)>>doc:Main.Release Information.Runtime Images.WebHome||target="blank"]]
95 -** [[Cloud Templates (Navigation)>>doc:Main.Release Information.Cloud Templates.WebHome||target="blank"]]
96 -** [[Documentation Portal (Navigation)>>doc:Main.Release Information.Documentation Portal.WebHome||target="blank"]]
97 -* [[Documentation (Search Result)>>url:https://docs.emagiz.com/bin/view/Main/Search?sort=score&sortOrder=desc&highlight=true&facet=true&r=1&f_space_facet=0%2FMain.&f_type=DOCUMENT&f_locale=en&f_locale=&f_locale=en&text=runtime+level||target="blank"]]
98 98  
99 -)))((({{toc/}}))){{/container}}{{/container}}
92 +== 6. Silent demonstration video ==
93 +
94 +<iframe width="1280" height="720" src="../../vid/fundamental/APIGW_Fundamental.mp4" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
95 +
96 +
97 +</div>
98 +</div>
99 +</div>
100 +{{/html}}
fundamental-api-gateway-introduction-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.marijn
Size
... ... @@ -1,0 +1,1 @@
1 +131.4 KB
Content
fundamental-api-gateway-introduction-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.marijn
Size
... ... @@ -1,0 +1,1 @@
1 +21.2 KB
Content
fundamental-api-gateway-introduction-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.marijn
Size
... ... @@ -1,0 +1,1 @@
1 +125.9 KB
Content
fundamental-api-gateway-introduction-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.marijn
Size
... ... @@ -1,0 +1,1 @@
1 +191.0 KB
Content