The Microsoft Makeover
I don’t know about you, but I was surprised when Microsoft Corp.
(new window) leapt into the Web services fray with such apparent gusto. My initial surprise quickly gave way to outright bewilderment, however, when I perceived the software giant playing a highly visible, perhaps even visionary, role in spurring the development and acceptance of Web services technologies. What was going on here, I wondered?
Microsoft was quick to grasp the importance of the eXtensible Markup language (XML) and has freely contributed an important component of the XML integration stack (the Simple Object Access Protocol (SOAP)) as an open standard to the World Wide Web Consortium (W3C). Moreover, Redmond has been at the forefront of the Web services hype-wagon with headline-grabbing initiatives like .Net, Hailstorm and the now notorious Passport.
I was puzzled by Microsoft’s Web services gambit because I’m of the (not exactly revolutionary) opinion that a Web services model constitutes a formidable challenge to the status quo, which means, of course, that it also represents a not so insignificant threat to Microsoft’s dominance. After all, Web services purport to obviate to some extent the very platform considerations and application dependencies that the software giant has historically exploited time and time again. In the Web services world, this means, then, that the emphasis ostensibly shifts away from the operating system platform – the foundation upon which Microsoft has built its success and the mechanism by means of which it has leveraged its way into new markets – and toward the Web application infrastructure.
Sure, if Microsoft could develop its own Web application infrastructure and if it could generate suitable momentum behind this infrastructure and – again – if it could avoid the watchful eyes of would-be private and public regulators along the way, well perhaps then it could corner the market, so to speak, and assert its imperious presence in an altogether new space. There are an awful lot of “ifs” in the preceding exercise, however, and if there’s one foodstuff that’s historically left a bad taste in Microsoft’s mouth, it’s the conditional “if.”
So I’ll again raise the question: Why the heck has Microsoft – a company that’s consistently toed the proprietary line and which has thus far rejected open-ness and the chatter of the crowded open air bazaar – embraced Web services?
Because it’s seen the writing on the wall, that’s why.
It wasn’t too long ago, after all, that the software giant haltingly bluffed its way through a high-stakes poker game against a cocky Java opponent the hands of which were bolstered at various turns by the twin trump cards of platform independence and of application portability. In this regard, Microsoft’s eventual endgame triumph was by no means a foregone conclusion. But it played its hand, grimly set its poker face, and wagered – correctly, as it turns out – that Java-the-platform was years from becoming the Next Big Thing that the vendors which comprised the erstwhile NOIS (Netscape/Oracle/IBM/Sun) bloc claimed it would be. Today, Java the programming language is alive and thriving, to be sure, but not as many folks are seriously treating it as a rip-and-replace platform alternative to Windows-based clients.
I suspect that Microsoft’s experience of protracted struggle with Java and with its own discontents made it extremely sensitive (as an intimation of its own mortality, even) to the potential appeal of a technology that purports to successfully deliver upon the promise of platform independence.
Microsoft’s primary problem with Java, it stands to reason, was that it hadn’t thought of it first.
But then XML – which was originally developed by Sun – burst upon the scene and Microsoft found itself looking a potential deus ex machina straight in the eye. Here was a technology that could enable a broad spectrum of capabilities, collectively called Web services, which promised to deliver transparent interoperability among heterogeneous applications and operating system platforms. Viewed in the light of Web services, then, Java simply became one platform among many. It didn’t necessarily matter that you could write a Java application once and expect it to run on any Java-compliant platform, nor did it really matter that your Windows applications ran only on other Windows platforms. Using Web services, you could conceivably connect different applications residing on disparate platforms with one another and – in a Holy Grail scenario that admittedly hasn’t yet (and may never) come to fruition – facilitate access from your Unix platforms (for example) to Microsoft Office services running on your Windows systems.
As a proof of concept, Microsoft effectively de-caffeinated the next version of its Windows operating system (Windows XP) by removing support for Java and by making Internet Explorer 6.0 incompatible with its existing Windows-based Java Virtual Machine. This move also had the not-entirely-unintended consequence of disabling (theoretically, at least) support for Sun and Oracle’s Java 2 Enterprise Edition (J2EE) Web application infrastructure. Because Microsoft’s proposed .NET framework incorporates exhaustive support for Web services standards, however,.NET applications can make SOAP calls to Java applications running on J2EE, which can in turn spawn the EJBs that enable the two infrastructures to interoperate with one another.
In an ironic twist, then, a Web services strategy as imagined by Microsoft co-opts Java’s platform independent message, fuses it with a promise of transparent interoperability among applications at all levels of the enterprise, and neatly shifts the site of contention away from write-once, run-anywhere application portability and back to (drum roll, please) the operating system platform and to the new generation of Web application infrastructures that are expected to run on it. Could the software giant have scripted this any better?
The benefits of such a strategy to Microsoft are manifold. First off, Redmond gets to recast the operating system (its operating system) as the foundation of an overall infrastructure for Web services – hence the introduction of (ta-da) the recently rechristened Windows .NET Server family of products. Secondly, Microsoft gets an opportunity to peddle a new generation of applications and services – dressed up in snazzy .NET credentials – to its existing customer base even as it aggressively pursues new customers in non-traditional markets. Finally, if it’s successful, Microsoft’s reach could extend into the most mundane corners of everyday life and the software giant could ultimately end up enjoying more dominance than ever before.
It goes without saying that a strategy of this kind faces manifold risks, as well. I’d like to talk about those risks – and about why Microsoft, which in the Web services arms race has arguably more ordinance than Sun, Oracle and possibly even IBM, is also very vulnerable to attack – in my next column.
Stephen Swoyer is a Nashville, TN-based freelance journalist who writes about technology.