December 12, 2016

Low-Code Platform in the era of APIs

I have been talking a lot about APIs and their importance in the present day. You can find out the first 2 parts APIs series post 1 & API series post 2.  

This blog post is a continuation of the same series. I intend to take readers through an interesting read on the relationship between Low-code platforms and APIs.  

As discussed in the last post, there are 3 high-level actions for the API lifecycle,

  1. API Publishing to create and deploy APIs
  2. API Management to manage and monetize APIs
  3. API Consumption  to discover and integrate with the APIs

Typically the actions - API Publishing & API Consumption get done in an app development platform and API Management gets done on an API Management platform.  

In this post, I will address how low-code platforms, as the torchbearers of modern app development tools, have taken the Application Driven Development (ADD)  as a mantra and has made life easier for developers around the world, including citizen developers.

A good low-code platform should be able to enable both API Publishing and consumption and have solid collaboration with an API Management platform as well.  Let's delve  into the details now :

Auto-generation of APIs

For some time now, Low-code platforms have been auto-generating the code based on visual development.  It’s time to do the same for the APIs.  Some of the most common APIs that can be auto-generated can include the services from DB, external services, custom-coded business logic, security services, etc.

For instance, it’s imperative that low-code platforms, at a minimum, should auto-generate CRUD APIs for the associated DB entities.  More advanced platforms can also APIfy the SQL queries and  DB stored procedures allowing total control for the users.

Other services like security and custom code business logic are also great candidates for APIfication.  For instance, if you have a custom coded in your CRM app a function to take return the list of all users from the EMEA zone, then that function should ideally be APIfied, automatically.

Automatic conversion of SOAP to REST

APIs these days are invariably REST-based.  But there are still big remnants, of legacy SOAP-based APIs, and modern low-code platforms would automatically create a REST API endpoint for the app.  This auto conversion is especially imperative in an enterprise setup, where legacy baggage is seen far too often.  The automatic availability of REST APIs is an important step in modernizing legacy apps.  

Easy consumption of APIs in an app

Out-of-the-box integrations and connectors are increasing making its presence in today's market. and a lot of app Development platforms focus on them. But often these platforms do not realize that there is always a custom API requirement for an app. Hence all kinds of integrations - both out of the box and custom should be treated equally.

Ease of design, testing, and sharing in APIs

Another pitfall in many low-code platforms is that they tend to focus a lot on API consumption through connectors and forget about API publishing aspects.  In a connected app world, it is imperative that your own app should have easy ways to create, design, and share APIs.  Inbuilt tools that can design your APIs (for eg, configure path parameters vs query parameters) with ease, test them (through an integrated testing sandbox), and then publish (private, public access) are important features in any other modern low-code platforms.  There should also be easy integration to publish these APIs into the enterprise API management platform so that it's instantly available to the API consumers within an enterprise.

APIs- a tad bit technical.

Modern REST APIs, though simplified, is still quite technical in nature.  There is still technology involved in understanding path versus query parameters, headers, auth headers, API key, etc.  Low-code platforms, which are positioned as app-building tools for business users and citizen developers still find it difficult to work directly with APIs.  A smart low-code platform abstracts these complexities and provides you with a nice UI-based connector to work on.  This is where the out-of-the-box connectors become really helpful.  But even APIs of your own app should also be abstracted the same way.  That is where a 2-pass development approach would be very helpful in terms of creating reusable UI components for the business user.

The above list looks very simplistic.  But a quick glance at various low-code platforms shows you the stark reality. In other words, API Driven Development is still just wishful thinking than a reality among low-code platforms.  This is one space WaveMaker scores far ahead of its competition.  This is one of the features that is going to make you ready for app building in the modern digital world.