Tech dictionary for Product Managers — Part 1 (APIs)
If you are working as a tech product manager you must have heard the term APIs in your career or If you are someone looking to move into tech product or program management you must have come across “understanding of APIs” as a requirement for the role. So let’s understand what APIs are.
Disclaimer: This article is very foundational with preliminary understanding and is best suited for product owners or product managers within the tech domain. This article won’t suggest which technologies to use over what but will only explain the concepts. It should be an engineering call to choose the tech and therefore I won’t advocate PMs recommending which tech to use.
What is an API
API (Application Programming Interface) — It’s a way to allow communication between two applications. Think of it as a connector between two applications. Data and/or information could be moved in between the applications connected via APIs.
Please note: Local applications can also communicate with each other via APIs and hence they need not be on the network. However, if applications are on different devices (hence not local) and if they communicate via an API then they need to communicate via the network (internet) — those APIs are called Web APIs or Web services.
Types of APIs — There are various types of APIs but as product managers, we could live with just focussing on these three
- Open or public APIs — no restrictions to access these APIs
- Internal APIs — for internal use of companies — potentially between different teams within a company
- Partner APIs — have you heard someone saying in your company that we have got a new 3rd party integration. These are partner APIs, requiring some sort of licensing and agreement.
In which language are APIs built
They can be built in almost any modern programming language such as JavaScript, Python, Java, or Ruby.
Most common styles of APIs
In web development, as a product manager, you’ll come across these two styles of APIs
- REST APIs — REST is an architectural style
- SOAP APIs — SOAP is a protocol like HTTP
What is REST API
Also known as RESTful APIs are web APIs based on REST architectural principles. REST APIs could also use SOAP as the protocol for transferring data/information but generally uses HTTP protocol
What is SOAP API
It’s a pretty standardized protocol for exposing web services and transmitting data
Please note:
- SOAP can only transmit data that is in XML format. JSON format which is a more common data format these days cannot be transmitted via SOAP API. Therefore REST APIs need to be chosen if the data format is in JSON
- SOAP API is considered more secure over REST APIs because it uses SSL along with WS-security for transmitting data.
- REST APIs are much more widely used than SOAP
What’s alternative to REST for developing APIs
GraphQL is an alternative to REST but not a replacement.
What’s GraphQL
GraphQL is a query language for APIs and it helps solve the problem associated with REST APIs that is “over fetching”. GraphQL also helps with performance issues especially when searching and fetching of data is required.