My dear reader, how are you? السلام عليكم
Learn early, learn often. – Drew Houston (co-founder, Dropbox)
In this post, we will continue our ‘web-journey‘ to understand the concepts of modern-day optimized web applications’ development. We went through a few basics in a previous post DirectMe. We will continue our quest and start by exploring web services.
Let us start with ‘why’. So, Why we need a web service? The answer is simple, we need the components on the web to talk to each other and web service enables the communication of one or more components over the web. What is a component in this case? We define a component as anything that can operate on the web. The web services use WSDL (web service description language) as rules and SOAP (simple object access protocol) as technologies, i.e., HTTP and XML. Need more details? DirectMe.
Isn’t that the same thing that an API (application programming interface) do? Well, the answer is yes. So, what is the difference between an API and a web service? The answer is very simple again. A web service is an API for the web (only). In other words, Every web service is an API but every API does not necessarily need to be a web service. Most of the people confuse with this important concept. Revise the concepts again DirectMe.
A very common and most used web service nowadays is REST (REpresentational State Transfer) which is nothing but a set of widely adopted rules for communication using HTTP protocols. If a web application uses REST service, it is also known to be RESTful. More information needed on REST? DirectMe. Want to know a new hot technology for API’s? it is graphQL (graph query language). Some developers also call it as REST 2.0. It is a programming language for API’s initially released by Facebook in 2012. Why and how graphQL is better than REST? Learn it yourself DirectMe.
In the next post, we will be talking about the software architectures, architectural patterns, micro-service, and micro-kernels. We will also distinguish between architectural pattern and design pattern. So, happy learning and stay in touch!