What I’ve Learned About WebAPIS, An Introduction
Published: 2023-07-23 23:05:19



![Thumbnail for what i have learned about web apis post](https://cdn-images-1.medium.com/max/1024/1*Cg03eSKwXviDlOG7ue2gQA.png)

In In this post, I’d like to discuss what i learned about web APIs while working on my master’s thesis, i wanted to write and summarize what I learned in my notebook or on Google Docs, but I decided that sharing and summarizing what i learned on the Internet would be more effective, as I may receive additional suggestions or criticism, it will provide an opportunity for me to learn new things.

The following post serves as an introduction; i’ll discuss the most important things I learned and what i’ll discuss in the following posts.

as the majority of us know (developers, software engineers …) web APIs or an application programming interface is like middleware or a messenger that handles requests and guarantee the interaction between application, devices, and systems.

Another definition is that web APIs is an online programming interface of an organization or an enterprise it enables other applications to interact with its backend systems, as mentioned on the H[cltech blog](https://www.hcltech.com/technology-qa/what-is-api-integration#:~:text=An%20application%20programming%20interface%20).

After talking about APIs definition another important term that creates a connection between the different two or more apps via their APIs, allowing those systems to share data, and it's obvious that we are talking about **API integration.**

As we said in the previous paragraph “a connection between the different two or more apps via their APIs”, some of these APIs can be public and nonprofits while others are designed with a business goal and a need of other external developers, who are a critical component in reaching the targeted goal which this API was designed and created for.

An API with aim of generating revenue usually use three archetypes is according to a recent research paper that i read¹, these archetypes are :

> **Professional Services:** provide access to their APIs, software as a services or data to a third party consumer through a standarized interface and a clear pricing plans in order to generate direct incomes from this service.

> **Mediation Services:** bring their services to light by making them available for external or third party developers, this developers enter another party for example this party can be represented by the clients of this developers, in order to be complementary to the services provided by the organization that adopts the mediation service.

> **Open Asset Services:** expose their services for free an access to their data or maybe more is in the hand of third-party developers, in order to increase the interaction and remove the bariers with the developers communitys

After reading and searching in the field of monetization and planning phase i started reading more about how we can develop a webAPI , its here where i learned a lot about API no-code platforms, API integration platforms, openAPI…., and alot of APIs development leaders like Mulesoft, WSO2, and Apigee which provide alot of documentation about APIs design, management and more, their documentation was very valuable for me, i will summarize and talk about what i learned from each resource and each APIs provider in the next posts.

Another thing I’d like to mention is that we’ve all heard of code smells, but have you ever heard of test smells? I first heard about test smells five months ago while looking for a scientific paper discussing how to do unit tests², tests smell this was not the only new topic I learned about; there are many others as well, for example, TDD, Continuous development, Continuous integration and the difference between CI and feature branching and how to apply this two properly from the book⁷, blog³ and the videos⁴ of Dave Farely.

### Conclusion

this post was just an introduction to along series about what i learned about web apis, and as I mentioned at the beginning, I wanted to write and summarize what I learned in my notebook or google docs, but I thought that sharing and summarizing what i learned on the Internet would be better, as I might get more suggestions or some criticism that would be a reason for me to learn new things.

### References:

[1] Fostering Value Creation with Digital Platforms: A Unified Theory of the Application Programming Interface Design by Jochen Wulf & Ivo Blohm

[2] tsDetect: an open source test smells detection tool by _Anthony Peruma et al_

[3] [Dave Farley’s Weblog](https://www.davefarley.net/) ,

[4] [https://www.youtube.com/channel/UCCfqyGl3nq\_V0bo64CjZh8g](https://www.youtube.com/channel/UCCfqyGl3nq_V0bo64CjZh8g)

[7] [Fostering Value Creation with Digital Platforms: A Unified Theory of the Application Programming Interface Design by Jochen Wulf & Ivo Blohm](https://www.amazon.com/Continuous-Delivery-Pipelines-Better-Software/dp/B096TTQHYM)