Is "the shift to web services" a lot of nonsense?

greenspun.com : LUSENET : Joel on Software : One Thread

The "Web Services" hype wave is starting to crest, with plenty of jargon being coined (.NET, J2EE, ebXML, SOAP, etc.) and plenty of smart people (eg. Dave Winer) throwing their lots in, and positing this as a real sea change in the way software will be designed.

But I don't understand the hype. Isn't this stuff just XML RPC over HTTP? When has RPC ever been a cornerstone technology for useful software? What are the reasons that it should become one now?

Why as do I want software that relies on the existence of an internet connection, low latency, and the kindness (and uptime, and software engineering discipline) of strangers? What kind of high-utility software can be made better, faster under this architecture?

I can't tell whether I'm really out of step or just displaying a healthy skepticism.

It's not as if I can't think of specific examples where I could gain some marginal utility from a web service. Querying Mapquest for driving directions to my house from an arbitraty point, for example. But I can't think why it's superior to go to the internet to compute a cosine (straw man alert.)

If someone more enlightened can clue me in here, I'd be grateful. Especially appreciated would be concrete examples of where this architecture is superior to 1) monolithic client apps (eg. Excel) or 2) monolithic server apps (eg. PHP-based content management.)

Thanks.

-- Anonymous, August 15, 2001

Answers

At least monolithic client apps work fine in the middle of a Navajo reservation, to allude to Joel's article about the late Ricochet wireless ISP. Even sub-notebook hard drives are quite roomy, allowing the replication of enough of the corporate databases onto "road-warriors'" notebooks to allow doing real work while totally off-line. An infrastructure based on database replication (such as, but certainly not limited to, Microsoft Access' replication using a custom conflict resolution manager function) would allow "traditional" client/server developers to re-use most of their existing skills, since the "server" is just an RDBMS on the same computer. We've been using the "occasionally connected" model for years, and the "five nines" seem completely irrelevant. Users might not even notice an outage of an hour or more!

-- Anonymous, September 22, 2001

Moderation questions? read the FAQ