Technical Definition – The product of exposed interfaces or functionality from another application or service.
Layman’s Definition – A packaged methodology that allows any system to communicate with a particular system.
How we use it – Many of our solutions rely on an API for communication between the client and the database.
When you get into your car, you likely carry out a number of routine actions without ever really thinking about how it’s all happening, from accelerating, to turning on the A/C, to changing radio stations. You don’t need to worry about the details, it just works. You can think of this as a real-world example of an API interface. While the car manufacturer certainly intended for you to be able to carry out various functions in the vehicle, they more than likely didn’t want you to be concerned with exactly what’s going on under the hood. It should be enough for you to simply request an action and have the vehicle handle the rest. Likewise, they’d likely prefer to, as much as possible at least, keep you away from the inner workings of the vehicle and its components.
Similarly, in software, a business often wants to expose certain functionality or data to other partners or developers, but don’t want to share the source. An API allows them to do this by exposing select functions in a limited fashion. The complexity of an API can vary, but this is expected. It’s more important to focus on limiting confusion when delivering the API than it is to work towards making it more simple, as simple won’t fit every use case and end user. An airplane cockpit is much more complex than what you’ll find in your car, but that was taken into account when considering the end user – trained pilots versus everyday drivers – and the intended use cases.
We’re well versed in API development and integration at alligatortek, and it’s a part of nearly every solution we work on, whether that means building a communication bridge between business data and a web client, or working with a partner who needs to pull external functionality into their application via a third party API.