——————————————BEGIN GYAN ———————————————————

I have completed my academics as an Electrical and Electronic Engineer. The decision to start my career as a Software Engineer was a twist in my life. I started learning so many new concepts, new technologies and new methodologies almost every day. Initially it was a big struggle as I had no clue about this industry and all the terminologies that I hear was totally new to me. Also it took some time for me to transition from the college style education to practical oriented education.

——————————————END GYAN ———————————————————

One of the interesting concept that I learned in my software journey is web services. I have developed so many applications with web services. I will try the concept in a very simple way.

Let me tell you one example.

Almost all the airline companies has their own ticket booking system, But the same flights can be booked from portals like GoIbibo, Make My Trip etc. All these systems are in sync. That means, If I book a ticket from Make My Trip, the seat becomes unavailable in all the other platforms. How this is happening ?. What is the fundamental technology behind this ?. Are there multiple databases at each layer that gets synchronized internally ?

The answer to all these questions is “Web Services”.

Web Service – It is an application that is exposed over the network (internet or intranet) that has the capability to interact with other applications for data exchange. Web Services use XML or JSON as the data exchange format.

It became very helpful for various systems to interact each other by defining a common known protocol through this mechanism. In this way, applications that are developed in different programming languages and technologies can interact each other.

A real life example – We use English as the business language. My mother tongue is Malayalam (A South Indian Language). But this language is known only to a small subset of people. To communicate with people outside this group, we need a common language and that is English for us.

In the same way, in case of software, the common protocol is defined using REST – Representational State Transfer Protocol