In yesterday’s entry I talked a lot about the problems caused by the lack of enterprise software standardization.
I realize I didn’t say much about the problem or a proposed solution.
The problem isn’t a lack of standards – many blog entries and articles have been written about the plethora of WS-* proposals.
The problem is the lack of an independently defined and universally endorsed Web services architrecture. Microsoft has one architecture, IBM has another – Sun supports a variation in J2EE specifications that isn’t the same as either, and so on.
Another problem is the lack of any central authority or leadership over the Web services standardization process. Microsoft and IBM have their own process and have produced a number of specs (most of the leading specs in fact), W3C has its process and has produced some specs, OASIS has yet another process and is working on some other specs, WS-I has another process and has defined some profiles of other specs, OMG has yet another process and has contributed a couple of proposals, and so on.
It’s not about abuse of the community process, as this editorial in SD Times says. The market makes standards, committees don’t. Many specifications created in committe are never implemented, and many specifications created in a closed process never succeed, either.
What’s needed is an independent, user-driven (or user monitored) process capable of resolving disputes based in vendor competition (and of course vendors by definition compete with each other so even in an open process we can’t reasonably expect vendors to always be able to come to consensus on their own – at least not in ways that meet the customers’ main requirements) according to which of the competing proposals best meets user requirements.
Despite the fact that the OASIS folks get pissed at me for saying so, I believe that the W3C would be the best place to try to establish such a process, which is why I raised the issue with them. They already have a good rigorous process, including a strong IP policy, significant and helpful staff involvement, and a track record of gaining adoption in the market. Not to mention the influence of their well-known director, Sir Tim.
We in fact try to define a Web services architecture at the W3C from January 2002-January 2004. I spent the majority of those two years as an editor of the spec, which isn’t bad, but did not really accomplish the goal. The specification contains some good information but in particular we tried and failed to define an architecture that allows the industry to know which among the many WS-* proposals is really a useful and necessary part of Web services, and which isn’t.
One reason we had trouble gaining consensus on that was that the group included strong proponents of both the Semantic Web and Web services, and it is often difficult to find good compromises between those communities. (Thus the reason why I was asking whether “one Web” really makes sense since we have so much trouble getting the two communities to see eye to eye.)
Another, perhaps more important, reason, is that the current W3C process does not really have a good way to resolve disputes rooted in a conflict over commercial interests (which as I said is pretty much the root of the problem). The W3C process is designed to promote consensus in a technical discussion, and it does that pretty well. But there’s really no way to break a logjam caused by a commercial conflict of interest such as whether the Microsof, IBM, Sun, or Oracle architecture is the winner.
The OMG process does include such a mechanism, for example, and years ago when I was working on committees at TMF/SPIRIT, there was a way to raise issues to a customer council for resolution. For another example, X/Open (now the Open Group) had an organization that gave customers and vendors different roles – the customers created the requirements, the vendors created the specifications, and the customers and had an opportunity to review the specifications before they were adopted.
This raises all kinds of other contentious issues, such as the role of customers or specification users in the standards process. Should they be expected to be fully participating committee members, etc. Standards are defined for the use of vendors – that is, vendors are the ones who implement them. But they are established for the benefit of the customers – at least that’s the theory. So there needs to be a good balance, but that’s tricky. As I said it’s the market that determines a standard, and therefore vendors with marketshare try to influence customers to adopt the specifications they like.
It is not reasonable, however, for customers to expect vendors to be able to agree by themselves on the adoption of useful, meaningful standards – that is, the ones that truly are able to solve the software productivity issue – since different vendors will emerge from the process as winners or losers, depending on how well their products align with whatever is adopted. We see this kind of struggle in the consumer electronics field all the time, such as the current struggle over the next generation DVD format. This is, again, why independent leadership is so important, since progress toward standardization inevitably causes lumps and bumps.
Pages
Blogroll
-
Recent Posts
Archives
- February 2014
- January 2013
- December 2012
- June 2012
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- April 2005
- March 2005
- February 2005
- January 2005
- December 2004
- November 2004
- October 2004
- September 2004
- August 2004
- July 2004
- June 2004
- May 2004
- April 2004
- March 2004
- February 2004
Meta
Advertisements