crashcourse-api-gateway-introduction
Version 2.1 by Erik Bakker on 2022/06/10 08:37
API Gateway * Introduction
In this microlearning, we will introduce the key concepts of the API Gateway as eMagiz provides this capability.Should you have any questions, please contact academy@emagiz.com.- Last update: February 21st, 2021
- Required reading time: 5 minutes
1. Prerequisites
- Basic knowledge of the eMagiz platform
- Completed the Crash course Platform
2. Key concepts
The API Gateway is one of the key Integration patterns that eMagiz supports in the platform. Key concepts of the API Gateway in this context is that it allows creating an entry point for all published APIs inside an IT landscape. Backend systems, micro-services, or access to external systems can be published, so that internal development teams and applications can access the specific APIs as part of business process execution.A typical landscape could look like this. The API Gateway is located in the secured eMagiz Cloud and provides the ability to access it from external application users. A client of ACME Ltd. could be sending in Sales Orders directly from their systems (incoming integration 1). The incoming Sales order is then delivered back to the back office system of ACME and could send a response back with successful delivery. Inside the ACME Ltd. organization, various development teams are processing the sales order further. One of the things that need to take place is to perform an external credit check of that specific client (integration 2). Service C might be responsible for that and is processing the request/response synchronously.- Data is transactional
- Data request is synchronous
- The backend provider of the operation must be online to return or process data - data is pushed
- Standardization of access to data is important
- Dependency between developments should be reduced - less coupled services
- Access to the same data can come in from many different systems
3. Managing your API Gateway in the ILM
The API Gateway is fully embedded into the eMagiz Low-code Enterprise iPaaS so that users have a similar user experience when configuring the API Gateway, a Messaging integration, or an Event Stream. All the platform features in the different ILM phases can take into account the API Gateway configuration. What is important to realize is that the primary focus of the API Gateway configuration is to allow all configuration work to take place in the Design phase. You will find out that most or often all the Create models are automatically generated. Only in specific cases where specific customization is required, the created objects can be modified. Newly created Designs could result in the rework of the customization in the Create object.- Capture your API Gateway In this phase, the regular operations or message types can be captured with all the necessary information of that specific operation. At the system level, you can indicate that the system acts as a backend service provider that has certain API's available
- In case the backend service provider has an OpenAPI 3.0 specification available, this can be imported to have everything directly configured. Documentation of what OpenAPI statements are supported can be found in the help texts.
- The security method for the entire Gateway can be set - at this moment the eMagiz API Gateway works with API keys that be handed out to application users. Users can be provided with such an API key, and users are assigned certain roles. These roles have in turn access to certain backend operations.
- Gateway infra
- All entry (later replaced with single entries per operation)
- Exit gate (contains a connection to backend provider)
Practice
4. Assignment
Review the video below to ensure all concepts are clear5. Key takeaways
eMagiz provides an integrated API Gateway in the platform that holds all the required features and is integrated into the overall way of work and cloud architectures of the platform.6. Suggested Additional Readings
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:- https://www.restapitutorial.com/lessons/httpOperations.html#:~:text=The%20primary%20or%20most%2Dcommonly,but%20are%20utilized%20less%20frequently.
- https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html