Service Please! Systems Architecture with 3rd Party APIs
The ideas in this article were inspired by my new LinkedIn Learning Course that I'm excited to share with you.
Services play a critical yet unappreciated role in our lives. As people all over the world go about each day, they unknowingly use and combine many of them to increase their standard of living. Just to read this article, you need the benefit of both electric and internet services, without paying any consideration to the digital services LinkedIn is constructed upon.
The Service Value Proposition
Have you ever grabbed a cup of coffee through the Starbucks app? There is another example! It takes electric service, internet service, agricultural services, shipping services and the exquisite service of your friendly barista to put that cup of coffee in your hand. And if you want it delivered, you can also opt for delivery service. So many services are available for us to intermix as we architect a convenient and enjoyable life.
Imagine life without these services! I'll shamelessly confess, I do not know the first thing about generating electricity or harvesting coffee, especially if I'm deprived of cherished internet service! We outsource our daily needs to service providers because we cannot build their service to the same level of quality for less than the price we pay for them. It's a clear value trade-off that benefits us.
A Digital Perspective
So let's correlate this value proposition into the world of software development where applications have become increasingly integrated and feature rich. Among an application's capabilities, we'll find a certain class of them to be commodity-like services. These are well defined digital capabilities that tech providers developed over the years and make available for integration into our applications, commonly via web API interfaces.
These APIs deliver the same value proposition as your electric service, they are faster, cheaper and of higher quality than what you'll code on your own. From a cost, effort and speed to delivery standpoint, it is more advantageous to integrate with them versus building the same capability. So let's look at a few examples and you might be amazed at what I'm calling commodity these days.
- Artificial Intelligence (AI): Major cloud providers offer APIs that expose pre-trained AI models that provide features surrounding language, speech and vision. The AI hype train has pulled into the station several times before, so you might be a little skeptical. However, platforms like Azure Cognitive Services deliver capabilities with real utility, proving that AI is here to stay.
- Telecommunications: Companies like Twilio offer APIs that make it trivial for developers to incorporate text messaging and automating calling features into their applications. These services can be purchased at a fraction of the cost it takes to develop them in-house.
- File Storage: Storing files is another example of where cloud is queen/king. Cloud providers like Amazon, Google and Microsoft each expose their storage offerings through APIs that can be easily integrated into an application through a web APIs.
This is just a small sample of what's available and the list will only grow longer with time. Usage of all types of APIs within system architectures will continue to rise as organizations strive to deliver the interconnected digital experiences expected by their customers. Learning to integrate with APIs is critical for developers because third party and internal services will play an increasing role in modern applications.
Having API integration as a skill in your toolbox will feel like a super power because it allows cutting-edge features to be quickly added to applications. Imagine the reaction when you deliver a new AI powered feature or data from a social media platform in just a few hours! If you are interested, I can teach you how!
Sharing My New LinkedIn Learning Course
My new LinkedIn Learning course titled Calling REST APIs with Java teaches Java developers about calling REST APIs through an innovative course project that uses the Azure Cognitive Services, Twitter and Twilio APIs. The course teaches you techniques for calling these APIs using the Java 11 HTTP client, Spring's WebClient and the Feign project. It's a great course for developers looking for a fun way to build skills that will help them integrate internal systems and incorporate 3rd party APIs into their applications.
The views expressed in this article are solely my own and do not reflect the views of any organization I may be affiliated with in my past, present or future.
Business Architect Sr | Edward Jones
3 年Nice article...well written!