APIs have been around for decades – they allow different systems to talk to each other in a seamless, fast fashion – yet it’s been during the past decade that this technology has become a significant force.
So then why all the interest in APIs? We all know the usual stories – Uber, Airbnb, Apple Pay… the list goes on, and the reasons are plentiful. Today the question is, how? Perhaps you are looking to differentiate your business or want a first-mover advantage. How can you execute quickly and at low cost/risk to try new market offerings?
An API provides several benefits to an organisation, but without a dedicated team of trained developers, it might seem like an implausible option. Developers are expensive, and it can take months to develop an API from the ground up. If you don’t fancy outsourcing or have the capability in house to build internal APIs, a low-code platform might just be the answer.
Before You Begin: Plan long-term, start small.
For a small one-page application, this might only be a day or two of talking with stakeholders and designing business logic. The purpose of this first step is to ensure that the API will cover all use cases and provides stakeholders with what they need. Refactoring an entire coding design due to missing business logic is not only frustrating for the development team but adds high cost and time to the API project.
During the planning and design stage, remember that running an API requires more infrastructure than just resources to execute endpoint logic. You need a database to store the data, an email system to send messages, storage for files, and security to handle authorisation and authentication. These services can be farmed out to cloud providers to expedite the API build process (e.g. AWS provides all these infrastructure components, but Microsoft Azure is an optional cloud provider with SendGrid as the email application.)
Planning considerations: An API “speaks” in JSON or XML, so the output provided to client applications should be decided. Should you choose to later create endpoints for public developer consumption, you could offer both for ease-of-use and fostering more adoption. Ensuring the API follows OpenAPI standards will encourage more adoption and attract more developers.
Other sections of your design should include:
Endpoint locations and names.Methods (e.g. POST, PUT, GET, DELETE) Database fields that will work with API methods and store data.Who will be able to access the API? Will it be public or only for internal authenticated users? Authentication and authorisation are critical for API security.Where will services be hosted – locally or in the cloud?
Building the API: Consider the options.
Building APIs with the right logic and functionality entirely in tune with the design can be challenging – you need to figure out how to get around limitations, configuring frameworks and web server infrastructure. If you have the back-end developer skills and time is not a significant factor, then pick the programming framework that your development team is familiar with. The most popular examples are;
Building a fully functional REST API from the ground up is a large project for any developer, and even more challenging for IT professionals unfamiliar with the nuances of how APIs are coded, deployed, and maintained.
With no expert codersContinue reading