Step 1: Design Services
Designing is the most important and most time-consuming part of creating services. Unlike traditional method, you don’t have to worry about programming language, HTTP method, or else as APIG is invented to ease API development process by handling all complex parts. So you can fully concentrate on designing how your service functions including.
Service Description
This section will provide brief information of service; name of service, short description of service, and project. In this tutorial, we will create service for the following purpose;
Example:
Service Name
getcustinfo
Description
This API will use specifically to retrieve customer information from Sales Database
Project
salesapp
Interface Structure
This step is to define input and output of your service;getcustinfo, as follows,
Field Name | Data Type | |
Input | cusId | Integer |
Field Name | Promote to Front-end | |
Output | cusId | Yes |
cusName | Yes | |
cusLastname | Yes | |
phoneNumber | Yes |
Service Flow and External Systems Integration
It comes to final part of designing in this tutorial before you get to generate your first API using APIG. Here you’ll visualize how your service process in the form of a flowchart. To do so, it will help you understand the overview of your service, notice points you might miss out, and shorten the time of development process. Two main points needed to consider in designing service flow are;
- Which system will be integrated
As specify in Service Description, this service will be created to retrieve customer information from the database which means this service flow will only integrate with an external system “database”. A sample database used in this tutorial is,
1.1) Database : MySQL Database
1.2) Database : Name sales
1.3) Database : Table customer
- What are the input and output of each node
Service sometimes assembles nodes more than one in a flow. Not all output fields of a single node be outputs of service flow, but might be inputs of other nodes in the flow. Since this service has just one node, node parameters are the same as service parameters in Interface Structure.
To simplify all the explanations above. Here is how getcustinfo service works as a service flow below