APIs, or rather software, do not exist without an industry influence. However industries can exist without APIs or software. Since any industry provides a product or service, why do we need APIs for them? If you take an example from textile manufacturing, in the early days their target was for products to reach the market in a couple of months. Now, this timeframe is down to days, and soon it will be in hours. This is mainly due to the competition you will find across all industries. Usually start-ups go with technology, and mostly early adopters use cutting-edge technology. If traditional businesses retain the same old model they will eventually fail.
Most businesses today use software products to increase productivity and help humans with their daily routine tasks. Businesses do not run in isolation mode. They need to interact with customers, partners, agents, etc. Imagine if you could improve the experience of the external parties interacting with your business. Let’s assume you are a manufacturer, and retail dealers order your product in bulk. If your customers can trace their order through every step after submitting it, they will be very satisfied and bring more business to you. Imagine if you don’t provide this visibility, and your competitors do, the situation will become bad for your business.
It is a myth if you think implementing an API is a complete technical task. In your organization you may already have data. The first step is to identify what to expose. If you are exposing data to external parties it needs to have a business value for them. At the same time you need to protect your confidential data. In order to identify which data to protect, involve your own experts who know the business. Also, gather information on how your competitors are progressing, to stay ahead of the game.
After identifying which data to share you can start designing your APIs. Most of the API management products available in the market support this. After designing your APIs you can mock those designs before implementing them. The reason for that is implementing an API is expensive. Before doing so, try exposing your designs to end users and get early feedback. By the end of the day your API consumers should be satisfied with what you provide. Get feedback and adjust the design to cater the majority of your audience.
The following video explains how to properly design your APIs.
The next step is API implementation. This becomes challenging if you do not already have a proper system or platform. You may have your data in different places such as databases, CRM, ERP, file systems, etc. There are many products such as Dell Boomi, Mulesoft, WSO2 that help you to quickly build meaningful services from your data. Some can be used on-premise, in the cloud or in hybrid mode.
After creating those services, expose it to the public domain. To do that we may need a product that supports API management. So this is a layer on top of your internal platform that exposes your services to the public. This provides Quality of service (QoS) to your services. Below are standard features that should be supported by your API management solution.
- Authentication - Before passing data external parties should be identified.
- Throttling - Your internal service may handle a limited number of requests and you want to make sure you share that with all your users. You can implement a rate limit based on throttling tiers for your external users.
- High performance - All the traffic goes through API Manager (gateway) so it should support the load.
- Separation of concerns - Usually an API gateway should exist outside your company network. Since the traffic comes from outside it should be properly filtered.
- Provide a store - This is a place where users can see all the APIs provided, documentation and give feedback.
- Prototyping - Before implementing the APIs the recommended way is to get feedback.
After exposing your APIs to the public keep monitoring its usage and feedback. Based on that you can decide to release new versions and deprecate unused APIs. For example, Facebook deprecates APIs frequently. However, Salesforce still supports the API versions released even 8 years back.
APIs are not a nice to have feature in your business anymore. They add value to your business, such as opening different channels to your customers, partners and agents to interact with your business. With this you give control to external parties to grow your business for you. If you are not sure what to do, there are lot of products and platforms in the market that help you achieve what you need.