Tim Bray Smells Web Services Rotting. Is Anyone Surprised?

Tim Bray has brought together an interesting set of posts, about the current state of Web Services. Tim thinks Web Services are smelling a bit rotten. It’s not all that surprising they’re emitting an odour, is it? Well, I don’t think it is. Surely this was all rather predictable, right from day one. Wasn’t it?

I remember the day that this shiny new thing called “Web Services” was unleashed on the world. At the time, my team had been building some very cool distributed, object-orientated systems by using Java and CORBA/IIOP for a few years. And even on that first day, I recall Web Services smelling strongly of something. What was the smell? Exceptionally potent bullshit, that’s what.

You see, the world already had CORBA/IIOP. And it worked great. Oh yes it did. Of course, because distributed programming is hard, the clueless of the world were keen to shout that “CORBA doesn’t work”. And they made a lot of noise. But that’s nothing new. The clueless community is always pretty vocal. “Java doesn’t work!” was another propular cry at the time, from the “particularly clueless” edge of the clueless community.

So, back to the day that Web Services was announced for the very first time.

“Web Services,” the visionaries told us, “is so much better than CORBA/IIOP.”

“Is that so?”, we asked rhetorically.

“Well, it will be soon. We’re obviously starting off with something simple, for people to get going with. We’ll add in everything else over time. But there are some major benefits of Web Services versus CORBA/IIOP that make it better, even now. And we haven’t even got started yet.”

Oh dear. Can you smell it yet? The list of “benefts” went something like this:

  • CORBA/IIOP is too complicated. Most people can’t use it. Web Services, on the other hand, is simple.
  • There are big security problems with CORBA/IIOP: it doesn’t work over firewalls. Web Services, on the other hand, works transparently through firewalls.
  • You can’t read IIOP. XML is human-readable.

Can you smell it now? You see, the above list of so-called benefits was entirely spurious. There were only two possible conclusions: either the people building Web Services were, themselves, paid-up members of the clueless community; or there was something else (to do with business and politics) going on. We concluded it was probably both; and that as a result, the people creating Web Services technologies would have a long, long journey ahead of them.

The point is, at any given time in the field of software development, there are things that are just dificult. Yes, some things are intellectually demanding. Terrible, isn’t it? Today, examples of things that are “hard” include concurrent/parallel programming, and distributed programming.

If you’re super-smart, you can go build something great that makes hard things easier. For example, Java was a huge step forward in making concurrent programming much easier that it had been in any other language that had come before. However, if you’re clueless, you really are ill-advised to: a) try to program hard things; and/or b) try to create platform technologies that solve hard problems. If you do, the only thing you’ll create is a stinking pile of rotting software… which, I think, is where we came in…

Now, that’s not to say distributed programming can’t be made easier than it is today. I’m sure it can. But, it’s going to require some smart people who are politically well-connected, in order to succeed.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*