According to Forbes, “90% of enterprises are relying on APIs in their cloud integration plans for 2016.” The recent article by Louis Columbus about the 2015 IDG Enterprise Cloud Computing Study reports that over the next 12 months, enterprises will use APIs for various tasks, such as database integration, messaging, portals and storage components; and connecting the application-layer with the cloud and underlying infrastructure.
APIs are becoming increasingly important to business, but what exactly are they? This blog post explains the concept of APIs and how businesses can leverage them to increase the efficiency of their day-to-day operations.
What are APIs?
APIs, or Application Programming Interfaces, are a set of tools that allow software developers to create programs. APIs are provided for various levels of the software development process — from low level APIs provided by the operating system, to higher level functionality provided by third-party software vendors, and web APIs that allow a software application to interface with a remote system.
The benefit of APIs is that they can be used to save time when developing software. To illustrate this point, we can look at the Math library of the .NET Framework. This library provides several mathematical functions, such as Pow (for calculating powers), Sqrt (for calculating square roots), Abs (absolute value), and several others that can be used by developers to facilitate performing mathematical calculations. Take Sqrt as an example. Microsoft defines the Math.Sqrt Method as “Returns the square root of a specified number.” As a developer, I do not need to know how to calculate the square root of a number, I just call the method provided by the Math library. If my program needs to know the square root of 9, I would simply write:
int squareRootOf9 = Math.Sqrt(9);
After executing that line, the value of my variable squareRootOf9 will be 3. I do not need to write any of the code to calculate the result. This simple one line statement does the work for me, freeing me up to move on to the next task.
There are thousands of APIs, often referred to as libraries, that can be included into a software package that the developer can use to perform tasks that might otherwise not be possible. As another example, Microsoft Windows provides many APIs that allow developers to create rich graphical applications. These APIs allow developers to instruct Windows to display a new form, perform an action when the user clicks a button, and to read and write data to the disk.
Web APIs are another type of APIs that are very useful. They are often provided by vendors of web-based software applications to allow users to integrate their own applications with the services offered by the vendor. Web APIs are generally accessed over the internet using the standard HTTP protocol.
Why use APIs?
There are many good reasons to leverage web APIs. Businesses typically rely on a set of software applications to help them handle their day-to-day operations. This software may include commercially available programs, cloud-based applications, and/or custom-designed software.
Frequently, one application will require data that exists in another application, which usually means that users have to manually find data in the first application and enter it into the second. This type of scenario is very common and unproductive. Users feel like they are wasting their time maintaining data in multiple places, and the data within the applications is at risk of becoming out of sync, leaving users wondering which application holds the most correct information. Fortunately, this type of problem can often be solved using the APIs provided by the software packages. In the above scenario, it may be possible to develop a simple add-on that looks for data updated in Application A and moves it to Application B.
Example: Using an API to save time ordering product.
To help understand some of the possibilities in using APIs, let’s walk through a basic example. Let’s say I have a company that manufactures and sells widgets online. In order to make widgets, I need two different components which are supplied by two different vendors. When I am running low on supplies, I need to go to each vendor’s web-based portal, log in, find the products I am looking for, and then place the orders. These systems give me a confirmation that my order was received and provide me with an order number. I also need to track these orders in my own systems for accounting and inventory purposes, which means entering all that information again. By the time I get to the point of entering the order in my system, I am usually in a hurry because I am already behind on my work making widgets. As a result, I make a mistake when re-typing the order number for one of my orders and when I call the supplier to check on the status of my order, they can’t find it.
Rather than doing all that extra work, I could develop an interface between my system and my suppliers’ systems. When I need to order new stock, I just enter the order in my system and the interface calls my suppliers’ APIs to place the order in their system. Their system provides my system with an order number which is automatically added to the order in my system so there is no chance of error.
Unlocking the Power of APIs for your Business
The above example demonstrates how powerful using APIs can be. You may think that this all sounds great, but how do you get started?
How to Get Started with APIs:
- Step one: Think about where your business could improve efficiency by having better integration between software components.
- Step two: Read the API documentation for each software component. Most providers of APIs also provide detailed documentation and even examples of how to use these APIs. For some tasks it may be possible to develop a solution even with very little programming experience. For more complex tasks, it may be necessary to hire a software developer to develop the solution – the expense will likely pay off quickly in increased efficiency.
How Geotab uses APIs
Here at Geotab we recognize the value of APIs. Our own systems use APIs extensively to communicate with one another to automate as much work as possible. We have developed our systems to be fully accessible via APIs to give our customers the ability to manage their data however they wish. The MyGeotab Software Development Kit contains many APIs which can be used by developers to interact with the raw data seen in the MyGeotab application such as devices, trips, GPS data, and engine data. The Geotab Marketplace contains over 100 applications and add-ons enabling customers of all sizes extend their fleet management solution.
Tips for Leveraging APIs
- Include APIs in the purchasing process. When evaluating new software products or services, always ask the vendor whether the product offers an API. The need to use that software’s API may not be initially obvious but you may regret choosing a closed system down the road when you do find an opportunity to automate some aspect of your business.
- Think about the pain points and bottlenecks that employees in your organization face on a day to day basis due to systems not talking to each other. There may be an opportunity to ease their workload by developing a solution using the APIs offered by these systems.
- Learn some basic programming skills. There are hundreds of tutorials online for just about every programming language and you may find that automating some aspect of your business is easier than you think. The book Automate the Boring Stuff with Python is a great guide to help non-programmers learn Python. An introductory tutorial for C# can be found at csharp.net-tutorials.com.
Are you currently leveraging APIs or planning on use them to automate some aspect of your business? We would love your feedback. Please comment below.