It is hard to start talking about the API management without even briefly explaining the meaning of the abbreviation. Application Programming Interface, abbreviated API, is well known to programmers. We are expecting to find the descriptions of available interfaces, data structure (class), and sometimes even the code with the examples of usage, in the API’s documentation of a software solution. The API’s definition has changed in the past few years, today API is related to web usage. In this article we are going to discuss that context. In order to explain what an API is, it is practical to describe what it isn’t. An API is not:
- An application – a software application can display the functionality like an API, but it itself is not an API
- User interface (UI) – a client application with a user interface is not an API, although the functionalities of a user interface are often implemented with using an API
- A server – web or application servers are not APIs; software solutions with a displayed API can be on those servers, but the servers themselves are not APIs
Once we’ve clarified what an API isn’t, we can try to define the modern meaning of an API. An API is a functional unit designed and displayed to be as attractive as possible. We can call that functional unit a product. When we’re designing a product and putting it on the market (the product can even be free), we’re thinking about:
- The packaging – and how attractive is it for the customer (we want our product to be picked)
- User instructions – if the consumer picks our product, we want him to master the product’s usage in the shortest period possible
- The product’s consistency – we don’t want our product to lack necessary functionalities or some integral components’s quality
- User support – after the product has been purchased, we offer an accessible user support, to justify the trust
These four points can be applied to any product, as well as the API. We should, of course, alter the terminology, so instead of packaging we should talk about a portal for programmers, documentation rather than user instructions, the quality and integrity of API rather than the product’s consistency, and instead of the user support, a channel, through which the programmers can address any of their potential problems. These are just some of the characteristic we want to fulfill as the API service providers. To make the implementation of the API successful, we need to implement all those characteristics quickly and with quality. IBM’s API Management enables all that and more, and it also enables us to, through a gateway concept, display services as functional API units.
IBM API Management
One of the products which makes the API implementation easier is the IBM API Management, abbreviated APIM. APIM’s components are: the Developer portal, the API Manager and the Cloud console.
Developer portal
One of the key steps for a successful implementation of the API Management is managing the API users. Potential users must have an option to search the existing APIs, as well as the option to start using a certain API without any problems. The Developer portal’s role is to provide users with that exact functionalities. Through an application concept, well known to all users of popular APIs, such as Facebook or Twitter, the user creates his own application and registers it as a consument of the wanted APIs. With the list of APIs, all the needed documentation, which the API owner made available, is here.
API Manager
For the API to be available to users, it has to be defined through the API Manager. The key word here is defined, not programmed. The API Manager enables us to intercede quickly to the existing services, to create new APIs using one or more services through a web console. That way of creating APIs enables us great agility. We can quickly start, test and see what functions and what doesn’t. The consumption of time is minimal, the learning curve is very mild, given that the knowledge of any program language or platform is not necessary. Of course, it is advised to follow all the good practices of defining APIs. The wholeness of the API Manager is visible in the fact that it is ready to test right away. After being defined, it is allocated to a usage plan through which the API’s usage limits can be defined. A limit is defined as the allowed number of calls in a defined interval. Through the API Manager it is possible to follow the usage of the defined APIs, using the installed analytical abilities. The usage data can be exported to CVS files. If we’ve imported a usage payment, the files can be used for that purpose.
Cloud console
As well as the API’s usage state, the API Manager’s system environment state should also be followed. Cloud console offers those exact functionalities. The tool is aimed primarily at the administrators and it offers the option of creating a new API Manager cloud with all the necessary components, so the Management and Gateway clusters can be created from a web console. After the system has been defined, we can keep track of the system’s parameters such as availability and processor, memory and disk consumption. Once the usage of the API surpasses the system’s capacities, we can scale the system by adding new nodes through that console.
Unlock the innovation’s potentials through the API Manager
There are multiple reasons for starting the API’s development. The most common ones are: the need for monetizing the data, enabling of the hybrid environment (cloud), Internet-of-things (IoT), and often, the enabling of mobile application’s and innovation’s fast development. When developing mobile applications, programmers often expect a quick reaction for the need for the service or data. To enable that, it is often necessary to install and configure a server software. IBM API Manager reduces the time needed to do it to a minimum. Mobile teams have the liberty to change their demands according to the displayed services, and because the IBM API Manager is not programmed, but configured, new services or changing the existing ones are implemented really quickly. It is crucial for enabling innovative ideas in a short period. Practice examples prove those statements. One of the bigger innovative direct banking banks (Tangerine) in the world, uses the IBM API Manager for their mobile service. The other example is from the air transport sector. The WestJet company offered their partners an API with the flight information. It is a replacement for web scraping, which was used until recently. The advantages of integration through an API are safer and more simple integration with the usage tracking. It is a trend, so more and more integration will be performed by integrating through API, so think about how can your company stay trendy?