If you are a developer and you do not have a clear understanding of APIs it’s already time to upgrade yourself and learn some new set of skills so that you are relevant in the job market in near future (i.e. in coming 2/3 years). Web APIs have got a lot more importance and focus in last couple of years and it seems there presence would be duly felt everywhere in 2014. Last year we’ve already witnessed many merger and acquisitions in Web/Cloud API space, though of smaller deal value yet significant enough to show where the current technology trend is moving.
What are Web APIs?
Web APIs are simply an interface (a layer) between applications that makes them capable of talking to each other via a predefined set of method calls. Web APIs are platform independent and can be easily consumed by applications of any language on any platform. The consumption of API is a normal skill but the most sought–after and challenging skill is the development of a Web API and is definitely not everyone’s cup of tea!
Implementation of Web APIs
A simple example of Web API implementation could be flight ticket bookings (reservations) via travel portals. We have hundreds of travel portals spread across the globe in 100+ countries. Anyone of us can book a flight ticket on any date on any airlines on any route by using any of the travel portals. In fact you can start your own flight booking portal and start operating independently in a few weeks as it is not regulated or controlled by any government agency. So, it’s like hundreds of portals booking the same flights from across the world! How do they check the availability of seats on a particular flight on a given date on a given route? How do they ensure that the total number of bookings doesn’t exceed the number of available seats? Similarly, in train booking or bus booking how do the different bookings portals ensure that the same seat is not booked to multiple passengers?
At the background of these numerous travel portals, the actual work of getting the availability for a particular flight on a specific route on a specific date is done by the Web APIs! Yes, the travel portals you see is just an User Interface that talks to a background API to check availability and again update the API for any bookings. Every airlines will have their inventory (flights, seat availability, routes, terms & conditions) maintained via their own Computer Reservation System (CRS). They’ll expose this inventory via their APIs.
Does this mean you need to consume APIs of every Airlines (100s of them!) to get your own travel portal? Obviously not. This task is simplified by another layer of APIs –aggregators APIs or GDS provider – such as Galileo, Amadeus, Sabre etc. Travel Portals will simply consume a single aggregated API by paying them a license fee.
Why Web APIs getting more attention now?
Without any doubt, the software trend is moving towards cloud. Applications are no longer standalone systems working on single platform or with in an intranet. Nowadays, it’s also not about simply accessing a web application on internet via a desktop/laptop. Software is moving towards a trend where it is available on any device, anywhere and can talk to any other relevant software (for example, facebook, twitter, linkedin etc.). Your CRM system managed by a SaaS provier should be able to talk to your ERP system that may be a different application managed by your in-house team!
So, it’s all about an application interacting with other applications with ease so that you can build up your own stuff on a foundation that is already build by someone else.
Where to Start?
To develop an Web API you must need to master a language and a platform. Most popular computer languages for API development are C#.Net, Java, Python. Being a developer you can simply consume Dropbox API and launch your own cloud based file sharing (image sharing) applications. Yes, your own start-up, sort of!
Twitter, Facebook, Flickr, Wordpress, Google (Gmail contacts, Google maps etc) have APIs which can be consumed to start with your own creative applications.
These were simple examples of API usage but the main usage of it will come once the multi-cloud concept gets popular. Multi-cloud is a new concept where IaaS (Infrastructure as a Service) providers will share there infrastructure seamlessly via there APIs that can lead to a healthy growth of cloud environment that will have zero percent downtime. That is your application workload can be seamlessly shifted dynamically from one cloud IaaS provider to another! Sounds like magic.
I think there would be a spurt of growth in API activities once we have a basic standards developed to address inter-operability and portability issues in the cloud. Gradually, this can facilitate an atmosphere where applications are fully connected and talking to each other on real-time basis. And all this via plug-and-play kinda web APIs! Let’s wait and watch… the API race has only just begun!