Steve: Developing on the Edge - no model, just view
Steve: Developing on the Edge
Thoughts on development, Web-services, technology and mountains.
19Dec
Tue2006
no model, just view

Some more research, other posts and bits of feedback show that the turning off of the google SOAP APIs is not good, because the (current) alternative is not an API. It is not for programs, it is for pages. The SOAP API worked at the model level, giving back results you can work with, but the AJAX API hands off a bit of your web page with results that are targeted at people. It is view, not model.

Maybe Google have an alternate RESTy API in the pipeline. Alternatively they've made a business decision that they'd rather take over a bit of web page real estate (getting brand recognition, possibly click through revenue, advertising &c). Rather than search-as-a-service, it is search-as-a-GUI-feature

Technologies aside, this shows one of the risks of relying on an external service for system functionality. Everyone using the SOAP API is stuffed, as there is no direct replacement. Everyone who was downstream of the site is stuffed, even if they didnt know who did the searches.

To update a Lamport quote to the SOA era, You know you have a distributed system, when a company you didn't know you had a relationship changes their business plan and your application stops working

The SOAP API users may be able to switch to the Yahoo and MS APIs. I'd expect the latter to last longer, as Microsoft do have a SOAP stack to support, and lots of enterprise users who may be building use of it into their apps.

Someone could be generous and provide a bridge between the google SOAP APIs and their own; a bridge service at a new URL. Of course, if UDDI had taken off, and all search engine vendors had provided a unified search API, your app would just switch transparently to another vendor. Which shows why one aspect of UDDI was good -it was meant to reduce the friction when switching between vendors.

In a world without an ecosystem of plug-in replacement services, you end up hard coding dependencies on Yahoo, Amazon, google, MS Live, and the like. In which case you have to hope they keep their service up for as long as you need it. Which means that it must be profitable to them. All users of the service API, be it SOAP, REST or something else (DCOM over HTTP?), have to bring in enough money to cover operational costs of the service. Furthermore, it must be profitable enough that the management team doesn't start looking at what else would be possible if the machines and people were dedicated to something else. You have to cover the opportunity cost, alongside the operational overheads.

Think about that the next time you generate WSDL from some endpoint, write a little mashup or even a python script to fetch some XML from a remote URL.

Comments

On 19 December 2006 at 22: 23 Christopher Mahan commented:
Enter the web-service-enabled micropayments.
On 20 December 2006 at 13: 59 Steve Loughran commented:
google search API was paid for I think, which is why every user needed their own key. These are what google have stopped issuing, even if the endpoint is still live.
Amazon services (S3, message queues) are billed in bulk, like you buy 5000 reliable messages at at time..
On 21 December 2006 at 13: 17 Bill de hOra commented:
"as Microsoft do have a SOAP stack to support"
and Google turning the stack off devalues that stack for consumer grade types
On 22 December 2006 at 15: 36 Collin Winter commented:
"Someone could be generous and provide a bridge between the google SOAP APIs and their own"
Done. At work, Google's search API is important to several of our applications. Our solution was to write a SOAP gateway that translates SOAP requests into calls to Google's web interface, scrapes the resulting pages, then packages the data back up into SOAP. We've released the code at http://evilapi.com under an MIT license.