In all the battles that Microsoft has had, the one that has been disproportionately ignored by the technology media relative to its effect on Microsoft's hopes and ambitions would have to be Microsoft vs. The Internet. J2EE, Linux, open source and countless other fears of The Stronghold have taken the show, while few have noticed the potential fundamental impact of the Internet on Microsoft's business strategy.
Microsoft loudly acknowledged the Internet around 1994, pointing out what a good thing it was, hoping that they would be able to come up with a strategy to defend itself before people realized the Internet was going to give Microsoft its greatest challenge. The distraction appears to have worked, as few have considered the consequences this quantum leap in technical progress could have on this industry giant.
To technology purists, the Internet was about open standards, connectivity, interoperability, peer-to-peer, and, inevitably, distributed computing. While each of these arrows has threatened to chip away at Microsoft's proprietary closed Windows platform, none has promised to devalue the individual machine, Microsoft's pinnacle of success, more than distributed computing.
What became clear in the browser wars was that open standards was the only way to win any war on the Internet. One may be able to truthfully say that Microsoft has won the browser wars. Yet, what is also true is that the browser has just enough holes through the open standards to ensure that no one can stop the flood of new competitive technologies and open standards from leaking through it. In this respect, open standards won the browser wars, even if we have to live with a few idiosyncrasies that can make our browsers a bit obnoxious.
Distributed computing is about getting components and systems to interoperate to create something bigger, independent of the physical machines the parts are hosted on. As each computer reaches out to connect to another to create something bigger, the individual machine becomes less noticeable. It becomes just one of thousands, then millions, then billions of machines in a world of massive information flows to create what we call the Internet.
In order for this to happen, it was clear to all players we would have to agree on the standards used to integrate all the components and processes. While Microsoft had a chance of winning browser wars, in part because the standards, notably HTTP and initial versions of HTML, were already defined, and the browser is a user interface on, yes, the individual machine, distributed computing promises to be different. In the new architecture, value will be defined by the sum of the [distributed] parts. The ability to participate will define the value of each piece of code.
Aware that this phenomenon was inevitable, there wasn't a single heavyweight in the industry willing to let Microsoft control how all the world's computers and components were to connect to create this new era. IBM, Oracle, Sun, HP, and countless others, with plenty of experience working on projects to erode Microsoft's influence, were determined to doom any efforts by Microsoft to control the standard protocols. With everyone willing to agree on open standards, if, for no other reason, to ensure that Microsoft did not have a chance, even Microsoft had to concede that the standards would have to be open, and accepted by all major parties.
We call the package containing these standards for inter-process communications across the Internet "web services". They include XML based protocols such as Simple Object Access Protocol (SOAP), and Web Services Description Language (WSDL), and Universal Description, Discovery, and Integration (UDDI).
It is true that SOAP's inception started with The Borg, in addition to IBM and Ariba. Yet, when it was submitted to the World Wide Web Consortium's open standards process, and upon review we concluded there was nothing in there that gave Windows a distinct advantage, or Microsoft in general, it quickly gained acceptance even before being declared an official standard.
SOAP is the primary protocol for implementing web services. This XML based standard permits a consumer to utilize the services of a web services provider. In short, this is a simplified XML version of COM, CORBA or EJB, only without the specific requirement of a "component", "object", or "bean", or anything except... well... a "web service". While all the other web service standards have their place, SOAP is the only one that is essential for the consumption of a web service. It is possible to create a simple service and a simple consumer using nothing but SOAP, leaving out UDDI and other overhead.
What's the difference between web services, and COM, CORBA and EJB? You are not likely to get a straight answer from the owners of the earlier technologies, because doing so would be tantamount to admiting that they should have begun by agreeing on open standards in the first place. The important thing is web services is different; and the real important thing is that, for the first time in history, all the IT giants in the industry appear to agree. Now we can finally begin large scale distributed computing. Let's just start wrapping our COM, CORBA, and EBJ objects in pretty little web services packaging, and pretend like the last decade of bickering didn't really happen.
UDDI, currently managed by UDDI.org, promises to increase both the value and rate of growth of web services by enabling a more structured version of what one can think of as a "web search for web services." By allowing providers to submit descriptions of their offerings, and allowing consumers to locate all the various web services available for a particular need, UDDI promises to increase the benefits for both sides of the equation. Currently, Microsoft, HP, SAP and IBM all manage UDDI Registries.
It is worth noting that Microsoft originally had something called DISCO that does what UDDI does. However, when it became clear that UDDI was already popular, Microsoft replaced their proprietary DISCO with its open standard counterpart. Let's give thanks, once again, that disco is dead!
WSDL does not appear to be an offical open standard, yet, as it has only been submitted to and accepted by the W3C as a "note", meaning that no one other than Microsoft, IBM and Ariba appear to have worked on it. Don't tell every else, though, lest you ruin the web services celebration. For all intents and purposes, it is being endorsed as a standard for describing in a highly technical and structured way how a consumer of a web service can access all of a services' parts, or at least that was my take on all the jargon I read about ports, end points, bindings, messages, operations and french fries. OK, maybe it didn't mention french fries; but, by the time you are done reading it all, the one realization that will come to you is that you are probably ready to eat again.
The W3C has a working group called the XML Protocol (XMLP), which builds upon SOAP to offer standards for implementing SOAP in many different communications contexts. In trying to be all things to all people, XMLP is committed to being independent of both programming model and mode of communications between peers. It is likely to define at a higher level than the original SOAP submission how our web applications will talk to each other, creating an XML based foundation upon which we can build, at a distributed level, traditional development concepts such as even-driven, state-transition and multi-threading programming models.
Why did Microsoft concede the inevitable so quickly and openly and bluntly, not only giving in to, but helping to foster the open standards, when they have such a history of fighting tooth and nail for every inch of Internet space? I suspect that, like the Internet in the past, an offense with strong marketing can once again hide the fact that Microsoft faces its greatest threat. With all eyes on Bill's offensive .NET team, who would notice they were really on the defense? Instead of openly opposing the enemy, Microsoft has chosen to embrace it, hug it, love it dearly, for the world to see. How, with all that affection, can the Internet possibly be a threat to Microsoft? Thus, .NET and the open distributed computing protocols that enable web services are being sold like a marriage made in heaven.
To be sure, despite the Internet, growing global unity on open standards, and the promise of distributed computing on a scale never before seen in the age of computers, all hope is not lost for Microsoft. The theory that Microsoft has chosen to prove is that the individual machine, and its intangible components (software objects), will still have value in this new world where interconnectivity is essential. Instead of arguing about how the world's components will connect, Microsoft is seeking to prove that it can help to produce the best components at the lowest cost.
This is where .NET enters the picture. This is the new sexy machinery Microsoft is showing off as the primary contender in the oncoming web services war. With all its marketing might, Microsoft is betting the house on this new architecture. After all, the only other option is to become irrelevant in a world where a computer will no longer be considered "booted up" until it is connected.
Microsoft is not alone on the playing field. It has Sun to contend with. Of course, Sun isn't just a company, but the representative of every J2EE vendor and Java user out there. Together, they are a force to be reckoned with. Heavyweights like IBM, whose annual revenues Microsoft still dreams of approaching, have made J2EE the center of their applications initiatives. Oracle, BEA, HP and countless others are pooling their efforts together. And, let's not forget various open source organizations, from Apache to JBoss, like grass roots operations, they promise to pluck Microsoft from the hearts of countless individual devotees.
Is Sun late to the web services game, as some have said? To this I say what game? It is clear there will be a game, but it is not clear that the game has really gone past the kick off. The reality is, a shift like this can take years to evolve. Web services are poised to grow far more in 2004 than they will in this year, the year of their illumination. So far, all we see is a lot of gossip, and very few real life stories. The vast majority of the enterprises that will use web services have yet to make a commitment to the specific means of how they will leverage this new technology. Indeed, most are still pondering how they can benefit from it. If you compare Sun to Microsoft, one can debate who was first to enter the web services arena. Yet, if you compare them both to the market they are hoping to appeal to, they are either early, or just in time. Nobody is late.
Is it true that Sun's roadmap is unclear? This has to be viewed from two perspectives. From a technical viewpoint, we are primarily talking about the ability to take business processes, and expose them via open standards protocols over the Internet. Does Sun have a library for doing this? Yes, it does. You can download it freely today, and begin anytime you like to create your first web services. Is it better than .NET? This I cannot answer, since I have yet to use either one. However, the question I have is whether or not the Java community, with its large base, corporate support and open source initiatives, can produce a better framework over the next year or so. This seems more important than who was first, since I suspect a year or two is a better time frame for when web services is likely to really be revved up on a large scale.
The second perspective the roadmap question has to be considered with is in the area of business. Web services is about more than just distributed computing. To a business, it is about creating and consuming new services, or utilizing old services in an improved way. The question each business must ask is how can they best leverage this new ability to either create new services for the market, or consume web services in a way that increases their competitiveness and improves their bottom line. Can Sun or Microsoft really answer this question for all the businesses out there? Is there a map that any one company can provide? The truth is, the hardest road to identify is not the technical path, but the business opportunities. If there is a delay in this game, it is to give pause to consider everyone's options. It is the great huddle of corporate decision makers assessing how the next play can help them win the game. To this, I submit, silence from Microsoft and Sun will do more good. It is not their job to run everyone's businesses.
To return to our original question, is the whole "web services" thing hype? Web services is at least a solid beginning to a new era of distributed computing that is as inevitable as paved roads. If web services is not hype, what remains to be questioned are the tools and services the hype masters themselves know you do not have to choose. Will .NET be the answer for everyone? Will Java take the lead through its community involvement and open source support? Will supply and demand for web services skyrocket in the next few months? These are things to be hyped. Will web services and distributed computing change our lives? Now I hear a ring of truth.
Built using Joshua Branch AS, J2EE and JBoss.
For questions or comments please contact the webmaster.
Except where otherwise noted, this site is
licensed under a Creative Commons License