Don't throw out the SOAP with the bathwater

I showed up twice in print this week defending the WS-* technologies. First, in my column:

What goes around comes around. Three years ago, mine was one of the voices urging the Web services movement not to lose touch with the Web's essential nature, as embodied in the architectural style known as REST (Representational State Transfer). Perverse devil's advocate that I am, I'll now switch sides and urge the REST movement not to dismiss Web services and SOA (service-oriented architecture).


Now that the benefits of REST are abundantly clear, it's time to circle back and ask when REST isn't sufficient. The answer is that we'll need the kinds of capabilities WS-* provides as our point-to-point, client/server-like applications evolve into webs of communicating services.

We're mostly not there yet. On today's Web, security, asynchrony, reliability, routing, and proxying are, in general, aspects of the data communications layer. On tomorrow's Web they'll be aspects of the application layer, and we'll operate more like weavers of business processes than plumbers of networks.

We call that future Web a variety of names: grid, service bus, fabric. It will arrive, sooner or later, because it has to. Our challenge is to phase it in smoothly and incrementally, in ways that leverage and gracefully extend the RESTful Web. [Full story at]

And second, in our special report on enterprise architecture:

Cynics will note that we've been enumerating those principles for a couple of years now. You've heard the litany: coarse-grained messages, loosely coupled processes, data-driven integration, self-describing data, programming-language and platform neutrality, pervasive intermediation. We call this cluster of ideas by different names -- grid, enterprise service bus, service-oriented architecture. It's quite possible that next year's favorite acronym won't be SOA. But many if not most of the ideas will survive -- and will define the dominant style of enterprise software for years to come. [Full story at]
Clearly I'm bullish on the lightweight approach. Yesterday, for example, while writing up next week's column on my A9 OpenSearch experience, I noticed something rather astonishing. In doing the RSS implementation necessary to inject InfoWorld results into A9, I had also "accidentally" enabled people to subscribe to queries in their feedreaders. I haven't added the orange XML icons yet, because I'm not sure the service is running at its permanent home, but watch:

The r=1 in the second case is what A9 sends to weave our results into its service. But you can use the same URL in Bloglines or FeedDemon or NetNewswire. How's that for a happy unintended consequence?

I love this! But I've always seen it as complementary to the issues tackled by WS-*. Why must we make everything into a rivalry? Why can't we just enjoy the best of all worlds? That's how I use programming languages, that's how I use operating systems, and that's how I intend to use this stuff too.

Former URL: