Building microservices with low-code APIs

Reading time: 10 minutes

Dividing work into the smallest possible tasks has benefits. These benefits include easier debugging, easier resource management and more manageable maintenance and enhancements. A Microservice approach is perfect when this is your goal.

 “Microservices architecture is an approach in which a single application is composed of many loosely coupled and independently deployable smaller services.” – IBM

Typically, microservices can be accessed via APIs. With a low-code development platform, you can quickly create REST APIs to access and interact with these smaller services. You can also build the interfaces that allow these services to interact with each other. You can even build services in their own right as Linx applications.  When using a Microservice driven approach, creating, managing and hosting APIs quickly should be your defacto state. As a bonus, doing it in low-code allows you to create applications offering additional services or functionality that will boost system development, deployment and hosting.

Quickly build APIs

If you quickly need to set up robust and flexible APIs, Linx offers multiple methods to do this:

API-First Development

Developing and executing APIs with the API-first strategy guarantees simple integration with microservices structures and programs. Utilizing the OpenAPI description guarantees the API’s reliability, repeatability, and compatibility. To start, you will create your design. In Linx, you can import your OpenAPI specification via the RESTHost function, and it will create your defined endpoints as events. Following this, you can use any of the functions in Linx to define logic and add functionality for your endpoints. 

See the guide: Go from Open API specification to live, hosted API

Create a REST API with your own API Definition

Code-First APIs

The API builder allows you to implement services, components, and resources swiftly. It offers a wizard that helps you create the REST endpoints and define them as operations. You will still have the power to decide how to furnish the features. This approach is not only quick to create an API that will make data or functionality available to other applications. E.g. making data available or performing CRUD functions on a data source, but it is incredibly easy to debug and deploy to production.  A detailed guide can be found here. 

Create APIs with a wizard and quickly add and configure endpoints.

Building Services

Linx allows you to create services that you can easily expose with the above-created APIs. These services can consist of virtually any back-end functionality. 

  • Interact with databases (in the cloud and on premise)
    • Virtually any database technology such as MSSQL, Oracle, PostgreSQL, MySQL, Mongo and more
  • Interact with files and folders
    • Create, read and manage
    • CSV, Text, Excel, PDF, XML, JSON etc
  • Execute custom logic
    • Data transformations
    • IF ELSE statements, Loops and specified logic
  • Interact with internal and external APIs
    • Call APIs and easily manage payloads
    • SOAP, REST or GraphQL
Services build in Linx can be executed independently and individually. Linx also works with a reusable function-driven approach, meaning you can break down a process, service or piece of functionality into its smallest parts so that they can be individually developed, debugged, maintained or executed.

Interact with databases

Linx allows you to interact with nearly any database technology, including any ODBC, OLEDB or Mongo database(s). Using the built-in function, you can perform database reads, writes, and anything in between by using SQL.  The Execute SQL function allows for simple and complex SQL scripts to be executed; this includes stored procedures and complex TSQL scripts.  You can also create Select, Insert or Update statements from database objects, meaning that you do not need comprehensive SQL knowledge to interact with databases. 

Interact with databases with ease
This is particularly useful when creating microservices, as many of those services will allow for interaction with datasets stored in databases.

Interact with files and folders

Quickly import files with the built-in file read function. This function allows you to specify the file location, which can be dynamically configured. If you are reading a CSV or flat file. You can specify the columns, import them from the file’s header, and configure each field’s output type. Doing so gives you full control over how a value is imported.

Here is how you read a file with Linx, this can be made to be fully dynamic

PDFs and Excel files can be read using the same manner.  And if you are a Google user, Linx has a plugin to interact with Google Sheets The prebuilt functionality in Linx allows you to easily create files with the data obtained from any source (database, API calls etc.) Data, specific fields, or logic-specific values can be transformed, altered, or formatted before writing those records to the file.   

Execute custom logic

Add custom logic to your application to execute conditional statements, loop through items or apply transformations to values based on specified logic.  Common logic operations include:

  • IF ELSE checks that can be nested and as complex as your requirement demands
  • Loops that can loop through lists of any type
  • Triggered events that operate on timers or specific events, such as directory changes

The example below shows how a list of dates is looped through. Each date is checked to see if it is the first day of the month. If it is, execute the monthly start report generation funcion. If not, generate the daily report. 

Add custom logic to dictate the process flow

Interact with internal and external APIs

Many integrations can be facilitated by consuming an API. You can quickly call a REST or SOAP API with Linx via the CallRESTEndpoint function.  Once you make the API Call, you can bind the response body to a type, making it far more manageable to interact with specific values or lists in the response body. Responses can be XML, JSON or string. 

Here is how you call APIs and how you can interact with received message bodies

We have multiple examples of APIs being used to integrate with different services:

Try our API samples:  Microsoft Graph API integration  |   Shopify integration  |   Salesforce Integration  |   More on our GitHub

Simplified Deployment and Hosting

Once the application(s) have been developed and all services are ready to be deployed, you can deploy to a Linx Server with one-click. With the platform doing the heavy lifting, your API can be deployed instantly and has time-saving, built-in functionality from the get-go – including security, monitoring, logging and metrics. The Server is a Windows Service that hosts and manages your Linx Solutions and web services. You can install Linx Server on the hardware of your choice (on-premise or cloud) with monitoring, metrics and logging as standard. The Linx Server allows users to consume the API based on the configuration set up in the API specification and host a dashboard for observability and performance.

Easily host and monitor applications on the Linx server
Along with hosting, deployments are also simplified to be a one-click process. You can deploy your application directly from the Linx Designer.

Sign up to our Newsletter