In my previous blog entry I talked about the Strangler application approach and highlighted how by creating an abstraction layer, you could isolate the monolith application and slowly decompose it in loosely coupled modules that make fast deployment of new technology easier.
But API management does not only facilitate the life of the developer, it can also play a major role within the business. This post explains why.
Increasingly companies evolve to the digital enterprise. Key processes are supported by digital technologies. Steps in the process invoke services that are represented through modules performing a specific functionality.
Moving to digital interactions
As interactions between companies and with clients, suppliers, partners and employees increasingly become digital, opening your information and key business processes to others becomes a must. Now, you have two ways to do that. Either you create your own end-to-end experience or you make your back-end assets available by exposing APIs. Let’s look at the pros and cons from both approaches.
End-to-end user experience
I’ve seen many companies front-ending key applications with mobile apps, allowing a direct communication between the end-user and the application. However, often such developments are performed starting from the application and just creating an alternative user interface. By not starting from the business process, designing the user interface and then review where links need to be made with one or multiple applications, the quality of the user experience is lost.
When a mobile application is not intuitive or easy to use, or when it does not respond quickly, users have the habit to uninstall it. Your application will not be used if not appealing. you do need to think through what you are trying to achieve by front-ending your applications.
But that is not all. By just providing mobile front-ends for your applications, you allow individuals to use them. That is great, but does that cover all your possible markets? This is actually a good question. In a world that is increasingly interconnected, being a “lonely hunter”, addressing human interactions may limit your opportunities to grow. So, what else could you do?
Be open for business
Let me take an example. If you are a bank and you want to facilitate life for your clients, you will most probably develop a mobile application allowing your customers to interact with the bank, review their holdings, pay bills etc. This facilitates the life of your client. Fine, it’s a good first step.
But you may want to do more. There are bill presentment services, there are B2C websites that looking for online payments, there are new applications allowing contactless payment with mobile phones etc. You could build your own, but are you able to keep up with all innovations that are coming out? Probably not. So, why not allow the innovators to use your services within their offerings? By doing so, you give your clients extra services without large investments. Shure you will probably have to leave a small margin to the service providers, but will have no risk as your payments are directly aligned to the utilization of the service by your clients. Now, what do you need to do to be open for business?
Publish your APIs.
Beyond just invoking the functionality in your back-end applications as you do in the end-to-end approach, now you will need other people to invoke them. So you have to document how your functionality can be invoked. Most often this is done through the use of APIs, application programming interfaces. In some industries, like the financial services, API standards are emerging. If that is the case, use them as this makes the access to your environments easier and more appealing.
If no standard exist, use a simple technology such as “Restful API” for the same reasons. Your APIs are now becoming your storefront. Create a developer website where you describe what APIs exist, what function they allow to access and how they can be used. In the background you will have to ensure your APIs are having well thought through security measures so you protect your back-end. But again, offering appropriate functionality that can help others take advantage of your enterprise to increase their business capabilities and drain additional business to you, is a must in the digital world.
Understand their utilization
Now you have a set of APIs, you have exposed them to developers and you have been successful in attracting more business this way. Wouldn’t it be interesting to know through whom the business comes, how much, when, what type of business each party attracts etc.?
If you properly instrument your APIs you can get that information. You can log the details of each transaction and through big data analysis, understand what is actually happening.
Remember what you did when creating a web page. You used cookies and other mechanisms to know who was on the other end, how they were approaching you and what they looked at. Fundamentally you can do the same.
To ensure secure access between the external software and your APIs, you may use certificates or other authentication mechanisms. This gives you information on the vehicle through which your client is approaching you. That may be important. You will know which of the companies using of your APIs are bringing you business. If their funding model includes advertising for example, you now know where to launch pointed marketing campaigns. You can even measure their success.
The information about your end-client will come through his credentials. You will now be able to analyze your client profile and identify if there are any correlations between client profiles and access mechanism. This allows you to target your marketing activities even better.
I could go on like this. I’m sure you get the point. As your world increasingly becomes digital, as the interactions with your clients are driven through APIs, it is becoming vital to use the information your APIs can generate to gain a better understanding of how your business is conducted.
Instrument your APIs properly
To do that, you will need to instrument your APIs, in other words, make sure they collect the information you need and make it available to you. This is where the use of a proper API Management platform comes in. When you define your APIs, make sure you think through what information you want to retain and for what reason. Think about the complete echo-system and what aspects are important to you. Actually it’s not that different from designing your CRM system. Indeed, your APIs provide you in digital contacts, the information your employees provide in physical ones. Take the time to carefully think about what you are trying to achieve.