Its about time the Web became more event-driven. We have had AJAX for many years enabling events between server and browser, but on the backend we are still polling data. With the explosion of public APIs from SaaS, Social Media and Infrastructure Apps, more and more applications are written by composing web APIs. Developers often need to call a API to get data updates, only to find that nothing has changed. Streaming APIs provide a more elegant solution to polling allowing developers to subscribe to changes they are interested in.
Working with web APIs, local APIs and different data formats and structures is too damn hard. You have to write painful verbose code to:
- Query Web APIs and work with the data
- Enrich and join data from external services with local services
- Compose RESTful services from existing services
- Version services and data formats
- Merge data from different sources into a common data format
- Sort through sets of data
There was a lot of buzz a few years ago around real-time web and since then it has been bubbling along. I have a financial/enterprise background so real-time has a very different meaning to me; time is measured in microseconds. Web real-time seems to be measured as sub 1 second . My issue with real time web to date is only parts of the web are web-real time. While the data can be delivered to the browser using push technologies such as comet and web sockets,
With the explosion of APIs (funny that we have started using the term APIs instead of web services) what have created a monster integration challenge that I talked about in a previous post about cloud silos. However, to get an idea of how this challenge will manifest itself I thought it would be interesting to take a look at some statistics.
Programmable web is a great resource for tracking APIs and mashups and has become the defacto registry for web APIs.