The price of software is inexorably grinding towards zero. Software is becoming infrastructure, and that infrastructure is progressively becoming commoditized. A key part of this evolution is the abstraction of application logic out of software and into standards-compliant XML documents. Once all of the identities and rules that define a set of processes (ie an application) can be expressed as XML, then creating or modifying an application becomes an editing task rather than a programming job. That editing task will still have to paid for, and it might well accumulate intellectual property of some value but the money will not go to software developers. Some software experts will earn a living from operating the infrastructure that processes the XML documents. But the infrastructure itself will be built with open-source software.
Today the commoditization of software is most evident in middleware. Application software is next ("We're turning a $10 billion market space into a $1 billion market space," SugarCRM CEO John Roberts told BusinessWeek recently). But while application software vendors still probably have a few years' grace, middleware vendors face the crunch now.
Look at enterprise service bus, for example, which substitutes standards-compliant messaging for much more expensive proprietary messaging solutions. Vendors claim that the license cost and professional services overhead of ESB solutions can be one-tenth the cost of traditional middleware alternatives. But even that's not going far enough for today's market. ESB vendors have started competing to give away their ESB code. There's always been the Mule open-source ESB. Now Iona has got together with ObjectWeb to form the Celtix project, and of course Sun has just announced Open ESB. The only problem with this stampede to openness is that interoperability tends to get crushed underfoot. "I don't think any one ESB/JBI server will dominate, instead each will be used by different companies and departments, and the winners will be those that provide the most flexibility with other vendors," Mule developer Ross Mason told Computer Business Review this week, in comments that bring to mind my earlier doubts about the utility of ESB. Never mind; ESB isn't the destination, it's just a station en route.
Cisco's AON products go further still, putting the integration onto silicon and embedding it in the network. Cisco isn't talking up AON's ability to substitute for middleware, as it wants to build alliances with middleware vendors to help get AON established in the market. But it hasn't been shy about the savings on professional services costs that AON could usher in.
The other element of middleware that Cisco fails to mention as ripe for ripping out is the J2EE server that hosts many of these software integration products. Once everything is expressed (using XML) in terms of identity and rules, then the primary integration operations are routing and transformation, for which the overhead of J2EE is overkill (you're arguably much better off with a simple text pump). I think BEA understands this, which is why its AquaLogic strategy is focused on WebLogic WorkShop rather than Server. So far, though, most of its customers haven't caught up: "SOA does not necessarily bring costs down on the systems estate," says John Worth, CIO at financial services firm Prudential, quoted in a Computer Weekly article, which in its next sentence reveals the probable reason: "The Prudential used an SOA based on BEA Weblogic ..."
While there are often very sensible pragmatic reasons for using J2EE servers, a packaged ESB or even, on occasion, the likes of SeeBeyond, none of these can provide an effective foundation for SOA. A service oriented architecture really does have to mean what it says it has to be oriented around services. Once it has that orientation firmly at its heart then every individual vendor, platform and technology becomes interchangeable. When the components of a system become interchangeable, they quickly become commoditized (as PC makers will testify, for example). What is the point of paying premium prices for BEA WebLogic or IBM WebSphere when you can pay next to nothing for an open-source equivalent that performs just as well? As more and more organizations come to understand and implement truly platform-independent SOA, they will increasingly make such calculations and the comparisons will gradually edge their way up the stack until even the tools that business managers use for codeless application assembly will be built with open-source software.