技术开发 频道

Vista迟到,微软错过了什么?

【IT168技术评论】
一 vista姗姗来迟

    当我们最初了解到当时被称为Longhorn的下一代Windows计划时,在我们心中存在一个重大的疑问:是Web顺从于Windows,还是Windows顺从于Web?随着Vista最终发布日期的确定,这个疑问终于得到了回答。                              ——题记

   2006年11月6日,微软在北京召开了一个小范围的吹风会,会上发布了Windows Vista的Beta版光盘。作为世界上最会做软件的企业,微软通过长期的成功实践建立了一个稳定可靠的产品开发过程。Beta版光盘的发布,意味着全世界眼巴巴等了三四年的那个曾经叫做“长角”的下一代Windows操作系统,在几度改头换面之后,终于将浮出水面。

   在随发的一本宣传杂志上,有一句话很有意思,作者说:“如果微软能够于2007年前推出Windows Vista,那将是Windows发展历史上为数不多的守信纪录之一”。说实话,我读到这句话的时候,还以为这是一个反讽句,因为在我看来,Windows Vista的出现实实在在晚了两年半。


    而这两年半的延迟,使Vista由一款可能改变整个IT产业面貌的战略性产品,退化为Windows产品线本身的一次升级。在这两年半里,微软丧失了操持IT技术发展主动权的大好时机。作为结果,我们将不可避免地走向一个多元化的计算世界,而这对于今天已经为数众多的Web开发者来说是一个绝对的好消息,因为在多元化的世界里,Web将注定是王者。

二 企业计算 web在泡沫与机遇中崛起

    Web的突然崛起,是很多行家没有想到的,因为Web实在是太简单了,对于前Web时代的人来说,很难想象整个IT假设在Web的基础之上。然而Web竟然获得了成功,这一成功,至少有相当程度来自于历史偶然。

    在1990年代早期,企业计算还只是少数产业巨头所能够品尝的奢侈品,但其广泛应用的前景已经是确定无疑的。毫无疑问,企业计算应当是分布式的、可靠的、安全的、高效的、平台无关的。在那个时候,精于此道的专家们开始为未来的企业计算时代准备基础设施,结果就有了CORBA和DCOM这样的平台。这两个分布式对象系统都设计得相当复杂,未免使当时的人们认为,分布式的企业计算必定如此复杂。直到1996年,当时尚处于设计当中的EJB平台也完全承袭了这一想法。

    同一时间,Web已经开始蓬勃发展,从最初的科学家之间共享文档的象牙塔系统,变成大受平民欢迎的时尚潮流。从学术意义上说,Web是一个“分布式文档系统”,而无论是CORBA、DCOM、EJB或是.NET Remoting,都属于“分布式对象系统”。两者在对待计算的基本思路上有很大不同,各自充分发展下去,均可取代对方。所以,当Web出现之后,我们就面临一个选择:究竟在什么基础上建立未来的企业应用平台?是放弃已经建立起来的分布式对象技术,把一切建立在Web基础上,还是推翻Web,或者把Web仅仅限定在消费互联网上,而让企业计算继续沿着先前制定好的计划往前走?

    历史没有给人们以任何选择的机会。紧跟着发生的.COM泡沫,使得大量的资金被投入到Web基础设施的建设上。大量的中小企业还在把计算机当打字机的阶段就开始建设自己的Web站点。这样一来,等到2001年.COM泡沫崩溃,大家突然发现,尽管靠倒卖.COM站点一夜暴富的梦想基本破灭了,但是已经就位的Web设施却成为发展企业信息化的现成基础。我们已经有了Web,就再也不愿意投资去适应新的体系和标准了。于是到2002年之后,Web几乎成为企业应用唯一被接受的方式。面对企业计算潮流的突然转向,IT巨头们都有些措手不及。本来,IBM、Microsoft、BEA、Oracle、SAP们都为企业应用的发展制定了一个平稳的发展计划和实施步骤,没想到公众互联网领域的.COM泡沫退去之后,留下了Web这杯苦涩的啤酒,原先准备的计划必须改写,新世界的企业IT必须建立在Web的基础之上。

    既然Web已经不可阻挡,假设企业客户能够对Web的本质有透彻的理解,那么完全可以在Web的基础上以很低的成本和很高的可用性建设完整的IT设施,而让上面那些技术和平台下岗。

    然而,对于Web本质有透彻理解的不是用户,而是IT业的巨头们。巨头当然不能接受自己投巨资开发的技术体系血本无归,所以希望向Web的过渡是一个充分轻柔的过程。Java阵营按原计划推出基于复杂的EJB体系的J2EE,一方面承认Web作为应用程序展示层标准的地位,另一方面继续向企业推销其复杂的EJB产品。在这种策略的指导下,很多企业的IT基础设施呈现奇异的二元化局面:前端是基于分布式文档的Web,后端单独建设一个完全不同的、基于分布式对象系统的EJB架构。对于这种设计,架构师们解释说,对于大型的、复杂的、富有远见和魄力企业应用来说,这是必然的选择。不得不承认,很多企业还是很喜欢这样的恭维,尽管他们需要的只是一部自行车,但还是掏大钱买了带浴缸的豪华直升机。不管怎么说,在一段时间里,这种策略取得了巨大的成功,并且控制了企业应用开发领域的意识形态,直到Rod Johnson引发J2EE领域的轻量级运动,J2EE开发者们才开始了系统的反思。
    2004年以来,以Spring、Hibernate和Struts为代表的轻量级J2EE潮流,不能仅仅认为是为了提高效率而进行的简单的开发技术进步,其真正实质,是消除企业应用后端不必要的复杂设施,将二元架构降解为一元架构,使J2EE专心专意做好Web服务端。这样,到2005年的时候,我们已经看得很清楚,整个Java企业应用领域明确了方向,开始向一个真正的Web体系架构过渡。此后,这一进程又因为Ruby on Rails的异军突起发生了激烈的加速。

三 微软的如意算盘

  接下来就要看微软的了。
  无论你怎么看微软,微软都是世界上最强大的软件公司。自始至终,只有微软有可能控制Web,垄断Web,甚至消灭Web。1995年12月比尔盖茨向微软全员发送“圣诞节邮件”,宣布微软进入互联网时代。然而微软的整个商业模式,是建立在套装软件销售的基础之上,突然面对互联网,怎么赚钱成了问题。因此微软对于Web的态度,始终是食之无味,弃之可惜。既然大趋势不可逆转,那就只有一条路,在Web上建立微软的盈利模式。而要做的这一点,就要在一定程度上控制Web。

  与Sun的Java官司败诉,微软未能参与到Java盛宴当中,于是从1998年开始,微软开始通过另一种方式面对Web,首先顺应并推动Web的发展,然后再用自己的标准替代Web,以达到垄断的目的。这是一种典型的微软的方式。如果顺利的话,整个故事应该是这样的:第一步,在2000年之前,通过IE、ActiveX、IIS和ASP,让Windows成为构建Web应用的流行之选;第二步,在2000-2002年,推动XML Web Services成为Web的主要模式,并且发布.NET,使微软平台成为构造XML Web Services的非常好的平台;第三步,在2004年推出下一代Windows操作系统,提供丰富的Web客户端功能,并同时提供通过标准的XML Web Services和功能更加完备的私有通信架构(Indigo/WCF)来访问服务端资源,鼓励用户采用其私有技术架构。第四步,建立微软意义上的Web事实标准,垄断Web技术发展方向。

  应该说,第一步计划的实施非常成功,大约到2000年,ASP+IIS+ActiveX已经成为最流行的Web开发模型。初步的成功大大增强了微软的信心,于是从2000年开始,微软的战略开始围绕上面的计划全面实施,所有产品线都服从于这一战略。很多人认为IE6之后微软浏览器产品线的停滞是垄断局面下不思进取所致,其实这是一种误解。事情的真相是,微软本来以为IE6应该是最后一个浏览器,因为如果一切按计划进行,从2004年开始,新的Windows本身就是最好的Web客户端,IE也自然就没有进一步发展的必要。

  然而问题开始出现了。第二步计划的实施很不顺利,Web用户不接受XML Web Services,至少是不接受以SOAP、WSDL和UDDI为核心的Web Services。这一点是微软始料未及的,打乱了微软的战略节奏。如今我们回过头去看,这一切其实并不难理解。

  Web Services的初衷无论如何是正确的。基于HTML的Web是让人理解的,而基于XML则可以让机器和人都理解。毫无疑问,这是一个有意义的构想。但是,XML Web Services看对了方向,却挑错了创造者。构思SOAP、WSDL和UDDI三大协议的专家们大多具有过于丰富的复杂企业计算背景,在他们脑子里,企业计算是个什么东西早就定型了,不管手里拿的是个什么东西,他们唯一要做的事情都是敲钉子。因此,他们根本没有认真地考虑Web的特点,而是不由分说地在Web基础上构造了一个复杂的分布式对象模型,其结果只不过是一个更加低效的CORBA而已。这样的东西本身在方向上就有问题,更何况在2001年,Web主要还是面向大众。结果一点都不奇怪,XML Web Services这种繁琐的、巴洛克式的设计遭到了冷落。微软曾经把“非常好的Web Services开发平台”作为.NET的主要卖点,没想到在大方向判断正确的情况下,因为一些细节问题考虑不周,遭遇了小小的尴尬。

四 vista迟到 web发笑 

    不过,如果这个时候微软能够按计划推出下一代Windows(也就是Longhorn,或者Vista),那么上面这个小小的失误根本不值一提。但最糟糕的情况出现了,原定于2004年发布的Longhorn因为开发思路上的重大变更,开始了一个漫长的迟到。现在我们已经知道,更名为Windows Vista的下一代Windows将在2007年前发布,这就是说,它比原来的战略计划迟到了两年半。多么珍贵的两年半!在这两年半里,Google在互联网上的崛起,造就了一个声望与财力与微软接近的对手;Firefox从无到有,从小到大,从IE手里抢走了15%以上的市场份额;Linux在企业服务端牢牢站稳,并且渐渐显现出王者之气;Ajax大行于道,Adobe发力将Flash变成通用RIA平台,这一切,都严重破坏了微软的单一世界假设。最重要的是,现在人们越来越认同Web,依赖Web,源自W3C的一系列Web规范,尽管还有着这样那样的缺陷和不足,但已经成为唯一能够被各方广泛接受和尊重的技术标准,其地位已经根深蒂固,不可动摇。因此,两年半之后,尽管Windows Vista已经能够用WPF展现美轮美奂的界面效果,尽管Windows最终拥有了统一的网络通信开发框架WCF,然而为了在一个Web称王的时代里生存,微软也只能暂时收起独霸天下的战略意图,乖乖地做几年顺民再说。

    事实就是如此,Windows Vista迟到了,这使我们不必再质疑Web的地位。往前看,至少在未来3-5年之内,Web的完备性、适用性、广泛性都将持续提高,从而成为人类文明史上第一个真正意义上的全球信息基础设施。至于微软,应该反思和总结一下Vista之役的教训。唯其如此,才能够继续站在IT潮头。要么下定决心,排除万难,再接再厉,卷土重来,要么在Web时代杀出一片新天,找到自己的网络赢利之道。未来的事情,谁知道呢?

0
相关文章