To create a Gateway click on the function icon on the entity palette:
The Gateway entity represents an instance of Express Gateway. Express Gateway is a microservices API Gateway.
In Express Serverless Platform, Gateways are used to provide API management functionality for your microservices application. A Gateway expose private and internal microservices publicly through APIs.
Gateways in Express Serverless Platform are used to proxy to microservice entities in the private quadrant and manage and expose them as APIs as API endpoints in the public quadrant.
Each Gateway consists of one or more Pipelines. A Pipeline is a set of policies. Each Pipeline has connection ports to its left an right hand side.
The Models, Functions and Service Endpoints are proxied entities connected to the Gateway’s Pipeline from the left hand side.
A corresponding API Endpoint in the public quadrant is created and connected to the right hand side of the Pipeline.
Gateways in Express Serverless Platform are powered by Express Gateway. More details on Express Gateway can be found in the Express Gateway Documentation
A complete example microservice application is displayed in the Express Serverless Platform Canvas depicted above.
A TemperatureAPIEndpoint exists in the public quadrant. This API Endpoint is publicly accessible through HTTP. You can cURL this endpoint through its URL.
cURL http://<root url>/api/temperature
cURLing the API Endpoint sends the request to the Pipeline within the Gateway that is present in the Gateway quadrant.
The Pipeline contains a Proxy Policy which routes the request to the entity connected on its left hand port.
The Temperature Model is connected to the left hand port of the Pipeline and receives the request because of the Proxy policy within the Pipeline.
The Temperature Model is connected to the Memory Connector and the API Request to GET data.
The Temperature Model grabs temperature data from the Memory Connector populates a Temperature object through its Model definition with its properties and then sends that representation back through as the response.
API Endpoints hosted by a Gateway iare accessible via URL and path(s) specified in the API Endpoint.
The CarAPIEndpoint depicted above is accessible through the URL -
URLs for API Endpoints follow the convention listed below:
http://<gateway root url>.lunchbadger.io/<api endpoint path>
Gateways have a built in consumer management system as a reference implementation for identity management. The purpose of consumer management is to define API Consumers that are known and managed by the Gateway.
Click on the man with the suitecase icon on the Gateway context toolbar to access Consumer Management
An API Consumer is one of the following:
For more information on the Consumer Management capabilities within the Gateway, see the Consumer Management documentation on Express Gateway.
To create Users,Apps, and Scopes press the plus
Every API Consumer has their own set of Credentials. There are several types of Credentials supported by the Gateway in LunchBadger:
To create Credentials click on row of the User or App.
For more information on the Credentials supported bythe Gateway, see the Credential Management documentation on Express Gateway.
Please refer to Express Gateway Consumer Management for more information