Having an API strategy that aligns with the overall goals of the business will help shape your development and ultimately achieve business goals. An important early step in cultivating a successful API strategy is to define the goals of your API. Remember, your goals should align with or enhance the overall business strategy. Your goals may include creating new revenue streams, increasing internal efficiencies, and/or driving leads. After defining the overarching goals of your API, you should decide what and how information should be shared between different applications, people, or business units.
Questions to Ask
Some important questions that need to be answered during this stage are the “who, what, where, when, why and how":
- Who is using this API? Is it mainly for internal use, partner companies, or for external developers, possibly all three?
- What information can we provide? Who will access that information? How and how often are they allowed to access it?
- What is the motivation, or the why, that drives the use of the API by developers, internal associates, and business partners?
Types of APIs
APIs can be classified in multiple ways. At the highest level, there is private or internal APIs, and public APIs.
Private or Internal APIs
A common goal of creating a private API is to open connectivity between different applications/back-ends within or between organizations. With an API these resources can be provided in a uniform and standardized way, giving the rest of the organization the ability to leverage these assets. This can increase development speed across an organization by allowing all teams to work independently in their own development cycles. Another positive aspect to fostering and developing a private API within your organization is the increased insight into whether a public API strategy is worth pursuing.
A public API strategy can create new revenue streams and foster innovation. A public strategy will enable you to allow anyone to leverage and innovate on top of the APIs that you expose. It can allow you to pursue a “business to developer” or B2D business model. It is not a fit for every business, but in some cases, you can see great growth from a public API strategy. Some notable examples of companies with extremely successful public APIs are Facebook, Twitter, and Google.
APIs can further be subcategorized. The major types we will discuss are browser, mobile, service to service, Internet of things (IoT), and self APIs.
Like a web API, a browser API is built into the web browser itself. They can be referred to as BOM (Browser Object Model) APIs. If you have worked with front-end development, chances are you have worked with browser APIs already. For example, the DOM (Document Object Model) is a browser API. Browser based APIs like the DOM help to solve front end development issues. Over time, most browsers have come to provide the same interfaces (like the DOM), which has increased browser cross-compatibility, but there are still cases where unique browsers will handle things differently. This is due to differences in the BOM provided by the browsers. As more browsers settle on a similar set of interfaces, ease of front-end development will increase.
The need for an API specific to a mobile application has become apparent as the amount of mobile applications and their use has skyrocketed in the last ten years. When mobile applications had a smaller footprint, it was not necessary to build APIs specific to their use case; rather, they could rely on the same general APIs as the rest of an organization’s applications. As mobile applications began to take up a larger slice of an organization’s traffic, organizations realized the benefits of developing APIs that cater specifically to mobile applications. Mobile application teams can take ownership of the APIs they leverage and move complicated business logic out of the application.
Service to Service
Service to service APIs are designed with the thought that the main user is a service. These APIs can be used to link multiple services, or microservices together to create a larger application. Service based API development helps us to move away from monolithic application development. Developers can create small services that are focused on one function, while using APIs to tie them together, instead of adding functionality on top of an ever-growing monolith that becomes increasingly hard to maintain and improve. This can increase development speed and reduce complexity.
Internet of Things (IoT) APIs
Similar benefits are realized when the Internet of Things (IoT) is given the ability to use APIs. A simple definition of IoT is, a network of physical objects that can connect and exchange data between each other over the internet. APIs allow the IoT to securely transfer and share information throughout the network. APIs provide the interface between the internet and our devices and allow them to be part of the cloud. With an ever-increasing amount of IoT devices, IoT focused APIs are becoming more and more important. APIs give the IoT the ability to interact with the real world in real time, rather than just relying on a device’s physical location and sensors. IoT based APIs have opened a multitude of possibilities for the IoT and have helped to make the IoT a large part of our everyday life.
An API that makes itself understood through its usage is a “Self” API, short for self-descriptive. A self-descriptive API has descriptive data responses, follows best practices, and leverages open standards where possible. This allows developers to jump right in and figure out what they need to do quickly by querying the API and following the instructions or using information in the responses. Following commonly accepted industry best practices and leveraging open standards also allows developers to use general knowledge when interacting with your APIs, rather than having to contact someone or refer to external documentation to use the service. Cutting down these communication barriers can be a huge boon to the development process and gives a better developer experience than the alternative.
APIs are sometimes referred to as the glue that holds the internet together, and in some ways they are. APIs are reusable, maintainable, scalable and they allow developers to innovate quickly and without being bogged down by the details of services they need to leverage. A well-thought-out API strategy will increase the speed of innovation, can bring about new ideas by removing barriers to change, and allow more people to have input on an organization’s success. Having a well-planned API strategy is extremely important for any company that is going to move into the modern API space.