Cart sent me a link to Matt Tucker‘s latest blog entry over at Jive Software, “XMPP (a.k.a. Jabber) is the future for cloud services.” Matt is right. Cloud architectures and large systems are moving away from the current HTTP / web services integration.
Monstrous servers and clusters banging on each other, effectively pulling web pages in order to deliver another web page elsewhere, is like having M1 Abrams tanks outfitted with BB guns instead of cannons.
At iofy we’re using web services with HTTP. We don’t like SOAP, but we’re RESTfully clean. Our web services API is unintentionally somewhat like Twitter’s API. However, there is a key difference. We use callbacks.
Callbacks allow partners to integrate with iofy’s web services without having to poll for updates. Both Yahoo! and Flickr do this for integrating customers.
We’re similar to Yahoo! in that the stores we power, such as The Language Stop, do not require persistent connections and would be inconvenienced by needing to implement anything larger than web service integration.
In order to keep things simple and fast (and not destroy your architecture with a polling only API) offer callbacks on top of polling. Any mid to large partner, or technically savvy smaller partner, will prefer the callbacks.
Offering web service callbacks like you do (sounds similar to Salesforce) is a good improvement to polling. But, it breaks down for corporate applications that are generally behind firewalls.
Also, there is a learning curve associated with XMPP, but I think it’s actually much easier to program with for two-way services once you get going.
Agreed about the firewall. In our case this is acceptable since we work on large projects that require dedicated configurations (and anyone harnessing our API is using an Internet facing web server.)
We’re investigating XMPP and the learning curve is too much for most of the smaller guys. A company with one or two developers (web developers – not client/server developers) doesn’t have the resources to undertake such a project.
That said, once the libraries are written and implemented for using XMPP in an application, the learning curve is no longer a factor… Just make the calls. We’re liking that.
Keep up the good work!