In fact, this low-tech approach is so appealing that many people are now discounting the WS-* stack. That’s understandable and in many cases valid. While we argue about which WS-* standards will stick to the wall, a set of key capabilities is emerging. Broadly speaking, WS-* pushes aspects of data communication -- security, asynchrony, reliability, routing, and proxying -- up into the application layer where we can reason about these things as businesspeople rather than wrestle with them as network plumbers.
That’s a lofty statement, but here’s a concrete example to nail it down. Let’s say your order processing service is used by a dozen applications and by hundreds of people. Suddenly, one morning, it’s triple-witching time: You add a new application, you implement a mandated auditing rule, and then you have to reroute traffic because a server fails. On days like that it won’t ever be easy to get home by dinnertime. The set of principles embodied in an SOA, however, may at least make it possible.
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.