Introduction to APIs – Part 2
In my last blog post we talked about what an API is – an application programming interface. We learned about an API’s anatomy; that it contains inputs and outputs, and operations and data types. We also understood why the implementation is not really important to those consuming the API. This is because users only need to see the correct output response to the input request according to the operations being sent (like when using a calculator).
Now that we know the specifics of what an API is, we can start learning about why they’re important.
So, let’s start at the beginning: what’s the problem with IT today?
Every day we see new programming languages, new methodologies, and new development tools; how can we keep up with all this?
“IT just can’t go fast enough.”
Imagine you have a perfectly working website application. Let’s say you have an e-commerce application that connects with your own product database and also uses a connection to UPS for package tracking. Everything is working well and you’re up-to-date with your competitors’ technology.
Next thing you know, you wake up one day only to find you’re the only one connecting to your database and your competitors have all migrated to a new technology. Everyone can now connect to Salesforce and even track packages using five different shipping companies providing instant quotes. Plus, they’ve also all adopted mobile apps.
What do you think will happen to your company when you can’t offer the same functionalities as your competitors? How much time will it take you to transition your systems to have those functionalities, just to realize that your competitors are now even further ahead with 20 more features in the time it took you to just get started? How can you hope to keep up?
Writing that example for you made me stressed, but not to worry, we have a solution!
The solution: API-led connectivity
Now, I know what you’re thinking: “Here it comes another term I’m not familiar with. Just tell me how it can help my problem.”
As a reminder, API stands for application programming interface and is a set of subroutine definitions, communication protocols, and tools for building software. So when talking about what API-led connectivity is, picture an API as a building block, or lego piece. Using the example I wrote above, you have a block for connecting to the database, and you have a block for the UPS tracking service. Now you want to add five more shipping companies to your application; API-led connectivity allows you to take the API block for those and attach them to your system.
Do you want to change the database block for a new provider? API-led connectivity lets you change it without breaking the connections to anything else! Do you want to be able to call the system from a smartphone application? Just add a new block for that!
Now, this sounds easier said than done, of course, but you can see why your competitors were able to do that upgrade overnight, when it would have taken you much longer.
Here’s a visual of what I just tried to explain:
(Image courtesy of MuleSoft)
If APIs are like building blocks, what does that mean?
Hopefully you now have a better understanding of why APIs are important in IT. If you have a system that can be built using API building blocks, you can easily and quickly scale the system to have more features or services for your customers. Your competitors will be the ones left behind!
Want to learn more about where to start when changing to an API-led connectivity approach?
Check out this post from Lee Humeniuk: Embracing API Connectivity | The first steps to future-proofing your back office
About the author
Made in Mexico, Alexandra enjoys learning new technologies and is always looking for new challenges. She loves statistics because she’s bad at them, so they keep her alive (an eternal challenge). Her natural habitat, however, involves watching Netflix and playing video games. Read more of Alexandra’s blogs here.