2002-09-17 09:11
Web服务,等待全民公决
中文Visual Studio.Net在北京的发布,标志着微软已经正式吹响了.NET进军中国的号角;而Sun却又一次举起了与微软抗争的猎猎旌旗。面对微软和Sun的生拉硬拽与威逼利诱,众多开发者的选择对Web服务技术路线和发展走向的重要性日显突出
2002年3月22日,微软最新软件开发工具包Microsoft Visual Studio.Net中文版正式发布,终于可以再次缩短与.Net战略的距离。这一次,微软不仅显示了其在程序员中强劲的号召力,更让用友、金蝶、佳软、昊海兴网络科技等作为其.Net的用户在发布会上现身说法,微软正在向公众展示其.Net阵营已经多么强大,并非许多人所说的“虚无缥缈”。与此同时,Sun也毫不示弱。3月27日举行的J2EE技术探讨及使用方案研讨会上,神州数码、中软、托普软件和国电信息中心等国内数家知名企业前来助阵,共同探讨J2EE的发展、J2EE技术在中国的应用等。Sun中国公关经理马君海在接受采访时说:“Sun现在是微软最在乎的竞争对手,微软则是Sun最大的挑战对手,这场竞争的序幕已经慢慢拉开,短兵相接只是时间问题。”
一场混战
正如10多年来麦克尼利坚持不懈地演进其“网络就是计算机”的理念,比尔·盖茨也亮出了相同的观点,“世界上的一切都将在Web服务中。”双方的竞争已经锐化为Sun ONE和.NET的Web服务技术的竞争,如果所言正确,为这些服务建造基础平台的公司自然成为未来的技术发电站。
一向特立独行的麦克尼利总是把“微软”和“敌人”联系起来,认为微软总是想利用自己的垄断地位打击竞争对手,压制技术创新,使得其他技术公司不能开发竞争性产品。当年微软通过获得Sun的许可使用Java,并最终给网景公司以致命打击,尽管Sun通过起诉微软而获得了2000万美元赔偿,但整个事件至今仍然让这位炮手隐隐心痛。“我们Sun公司这种开放的界面,可以与任何技术公司进行互通、兼容,惟一不能兼容的就是微软公司。”麦克尼利在任何场合从不会给微软留下任何情面,甚至在任何相关的场合从不忘记“声讨”微软,以至于被公认为“硅谷反微软联盟的领袖”。当微软有所行动时,大家都会不自觉地把眼光转向Sun,希望Sun能站出来领导大家,麦克尼利把它说成是“一场全人类与微软的对阵,现在只有Sun能够综合各种技术,通过伙伴合作与微软分庭抗礼。”
回应Sun的是微软的反唇相讥,“Sun ONE毫无竞争性”。针对Sun所说的.NET的开发环境既不开放又不标准的指责,微软表示“Web服务的技术已经开放到了极点。”微软通过与多家企业的多年协商,提出了XML、SOAP、UDDI、WSDL等开放性的技术方案。微软与W3C(World Wide Web Consortium)也有着良好的关系,而且已经向ECMA(European Computer Manufacturer Association)提出了CLI(Common Language Infrastructure)的标准化方案。因此,微软之外运营商可以安装CLI。关于微软开发的新的编程语言C#,“C#的规格也已经提交给了ECMA,因此其它运营商也可以制作C#的开发工具。倒是Sun一直在说要向标准化委员会提交Java规格,但从来没见其行动”。业界对微软一直不开放源码颇有微词,也是Sun一直讥讽微软的“封闭”,微软大中华区总裁黄存义对此的解释是,“微软将权利交给国际标准组织,根据需要,我们可以把代码交给厂商,但只能读而没有改动的权利。像中软正在开发的基于.NET的中国最大的安全平台,我们向他们提供了相关的代码,是免费的。”
围绕着Web服务主导权的争夺,双方展开了“唇枪舌战”,甚至又将争端搬上了法庭。本月初,Sun再次起诉微软垄断市场,并要求赔偿30亿美元。此次诉讼的核心是Sun指微软在其最新个人电脑操作系统视窗XP无法兼容Sun的Java编程语言,是微软有意排挤Java平台,迫使其他公司放弃开发或使用与Java兼容的产品。Sun此举试图阻止微软利用其在操作系统领域中的霸主地位继续从事垄断活动,要求微软不要将其.Net互联网战略建立在视窗操作系统的基础之上。对于Sun的起诉,微软则强调说,司法诉讼只会导致消费者的利益受到伤害。微软公司在2001年秋天首次推出视窗XP操作系统时曾将Java软件从IE浏览器中撤下,分析人士指出,Java有可能对微软构成威胁,因为这种软件可以使程序编写人员设计一些专门服务于Java而非视窗系统的软件。
事实上,微软的.NET平台与Sun ONE都实现同样的功能,但是.NET比Sun ONE领先将近一年。 “关于Web服务,Sun并非领导”,微软VS .NET主持开发工具副总裁Tom Button表示,“如今,甚至在Java领域中都很难说Sun有如何的影响力。IBM及BEA掌握着Java领域的主导权。众多用户因为Sun的硬件价格太高,已开始考虑转而在英特尔的硬件基础上,使用Windows及Linux。可以说,Sun目前的处境已十分困难。用不了多久,Sun就将从我们的对手名单上消除”。现在Sun确实处在非常困难的境地,但即使如此,麦克尼利仍然可以捏着60亿美元的现金,叫板微软和它的.NET。
狂拉选票
作为彼此竞争的应用程序平台,微软的.NET开发平台和Sun的J2EE虽然在底层实现上完全不同,但在意图和体系上极其相似。目前,看上去无论是.NET还是J2EE都不会轻易地占优势,这意味着几乎任何开发软件的人某些情况下都不得不在二者之中做出选择。双方正努力从各个角度去影响应用软件开发商,为自己拉上一票。
黄存义在接受采访时说的,“有两种力量能够推动某种技术获得迅速普及,其中的一种力量就是成为标准,就像Html一样。”.Net是微软推出的基于XML的网络服务平台,是一组可相互支持的互联网服务的集合,目的是要建立起一套统一的标准。微软率先提出了称作XML的工业标准,它是一种描绘数字化数据的方法,无论该数据是一份汽车零件规格说明还是一份保险声明格式。XML对Web服务非常关键,因为它使得数据可以在各种电脑和软件间传递。尽管Sun称其Sun ONE同样基于XML等开放性标准的技术规范,而微软首先倡导XML的标准化,既能借助“标准”的力量,又能博得已经使用或者支持XML技术的众厂商的好感。
Sun最大的优势或许就是在多年来支持像Java这样的开放工业标准过程中赢得的信任,也一直信奉“开放赢得竞争”。麦克尼利是这样评价各自的架构,“从架构角度来说,只有三个选择,微软的、Sun的或者IBM的。实际上IBM本身并没有什么架构可言,所能提供的服务、帮助客户解决问题,主要是通过它们庞大的咨询队伍;微软是将所有的一切集中起来,是一种封闭性的架构,使用它们的架构就要付费;而Sun所提供的架构,允许大家把所有的一切集成起来,并且是基于Java的开放式架构,让大家共享、协作、创新。我们不是靠技术、产品取胜,相反我们是靠这种共享的理念来取胜的。”
而非常有意思的一点是,双方居然动作一致地学习对方的优点,决不允许对手在技术上有任何优势。在.NET出现以前,微软批评Java程序员使用一种语言完成所有事情。在设计自己的.NET虚拟机时,微软令它支持多种语言。“现在,VS.NET提供了一个用于在该平台上创建应用程序的图形IDE(集成开发环境),程序员可以使用一种或多种.NET编程语言”。同样的,为了像.NET一样也能支持“集群”功能,本月19日,Sun宣布收购Clustra系统公司,该公司的数据库软件程序具有“集群”功能,即当一个服务器崩溃时,这一集群中的另一个服务器能够接替其任务。集群功能是建立“高度可用性”的计算机服务的关键部分,这意味着无论出现紧急情况还是灾难,服务都将存在。这将大大提升Sun的iPlanet电子商务软件功能。另外,微软的Passport身份验证服务出现以来,使用该服务的用户已经接近2亿个。Sun也和其他34家公司创建的“自由工程”(Project Liberty),目前已经扩展到39家,作为Passport替代品的身份出现,每个Web服务商都可以选择任意一个身份验证服务,不过由于基于“自由工程”的服务不能及时发布,使得Passport服务仍将保持巨大的领先优势。
双方都尽可能多地与其它厂商建立合作伙伴的关系,Sun一直非常重视ISV计划,对Sun来说,“软件联盟可以说是公司的生命线”。由于Sun只做系统软件,不涉及应用软件,Sun专门设立了ISV部门,适时对联盟伙伴提供优厚的支持。如果没有足够数量及忠诚度的应用软件厂商,即使拥有强大的技术与产品,对于只开发系统软件的Sun,也很难真正将自己的技术产品推销到企业用户中去,应用软件是其必须结合的部分。
微软在这方面一刻也不放松,“在其它领域甚至与竞争企业进行了合作”。其VSIP伙伴包括工具、语言和组建供应商,独立软件开发商(ISVs),学院和研究人员。微软在其《微软开发平台研究》的小册子中提到,“微软希望能够藉此平台保留住它庞大的Windows开发用户的基础,否则由于Java向开发者所做的硬件与操作系统(OSs)无关性的承诺,这些用户群可能会转向其它的平台。开发者本身不会给微软带来很多收益。不过,Windows程序员是公司内对微软产品极大的支持力量,而商用软件的开发者形成了向客户发售微软产品的重要渠道”。有趣的是,微软能够依靠ArtinSoft这样的公司,将用户更加拉进自己的.NET平台,早早便为用户从J2EE转到.NET准备好了一座方便之桥。ArtinSoft最近发布的一个解决方案,支持从Java和J2EE自动转换为C#,能给那些在J2EE平台方面有投入的用户提供即安全又经济的到C#语言的转换。
民意测验
微软目前有700万开发人员,Sun的Java有100万左右。但大部分微软的爱好者开发的都是简单的个人电脑程序,而一流的网络程序都是使用Java开发的。在中国,中国电信、中国联通、中国网通、中国移动以及中国银行、中国工商银行、中国招商银行等都是Sun的客户。马来西亚电信使用Sun ONE技术开发其针对小企业的万维网门户软件iOffice,该软件允许40000名客户在线存储电话簿,通过网络打电话,管理语音邮件、电子邮件和传真,并可以将它们传送到自己的电脑上,或是通过电话阅读它们。他们认为,“微软的软件不够强大,对我们的支持也一向非常糟糕。”
复杂企业软件的开发者坚定地站在Java阵营,因为Java让他们能快速编写运行在多种电脑上的程序。Evans数据公司2001年11月所做的一个调查表明,55%的开发人员准备在2002年使用Java开发Web服务,有35%的开发人员计划使用.NET。其中包括很多微软的紧密盟友:软件巨人SAP将在其企业Web服务中使用Java,虽然它并未计划使用其他Sun ONE技术。该公司SAP门户部门的首席执行官赛·阿加西说:“当我们征询用户意见时,他们说,‘我们想用Java。’”不过,在2002年2月13日微软在美国的VS.NET的发布大会上,盖茨却宣布SAP成为微软VS.NET集成项目的成员之一。
本月22日,美国花旗集团已同意使用微软.NET服务,包括Passport和.NET Alerts。Passport服务可使顾客在在线购物或存取个人数据时由花旗集团“验明正身”,Alerts服务则可用于为顾客在线提供定制信息,这是商用领域的用户对微软技术的一次非常重要的肯定。在中国,已经有一些企业应用建立在微软的.NET之上,如首信医疗保险信息系统医院政策分解子系统和支付管理子系统、用友U8分销系统、金蝶的K/3人力资源系统、佳软协力商霸.NET、TCL金算盘软件等等。金蝶研发中心技术总监林峰在发布会上表示,“微软刚推出.NET架构之初金蝶公司就对其表示出极大的兴趣,并着手投入大量的资源对其进行研究并试用。通过近半年的试用及论证。发现NET架构在开发方便性和开发效率方面与其他传统分布开发架构相比优势明显。”昊海兴公司技术总监雷之宇给VS.NET以很高的评价,“在Web应用的大潮中,各大软件厂商都推出了自己的Web应用服务器,而微软无疑是其中的佼佼者,全新的.NET平台使Web应用效率更高、速度更快;全新的VS.NET也使开发Web应用变得更加简洁、流畅。对于具体的编程人员来说,.NET不需要再去区分哪些是服务器端或浏览器端的程序,极大地减轻了程序员的工作量。”实际上,昊海兴既是.NET的用户也是Java的用户,在商用领域,Java还是很有优势的,因为很大一部分开发商还是使用Unix操作系统,只有Java真正地实现了跨平台。由于微软IE不再支持Java语言,不能像Java Applet一样能够实时与服务器保持联系,目前也没有更好的替代方式,一些如企业内部呼叫器这样的应用将不能在.NET平台上实现。对于应用程序开发商来说,如果用C#开发应用程序,只能在有.NET Framework的Windows XP上编译执行,正是由于微软在这方面的革新,程序的编译方式产生很大的改变,导致不能直接在以前的视窗操作系统上运行,必须加载.NET Framework,这将给开发商们带来不小的麻烦。
谁是赢家
微软和Sun卖力演出各自“Web服务秀”,传递给公众的是,无论是选择微软还是Sun,都能够达到目的。谁输?谁赢?等待“全民公决”。麦克尼利认为,如果缺乏互相竞争的力量,那么,输家将是消费者和经济。微软也承认,竞争的结果用户应该成为最大的受益者。
现在,应用和服务已经越来越成为技术开发和创新的动力,微软也将软件定位在一种服务上。试想,不管哪一方完全占据优势,赢家都不会是用户。随着双方战事的不断升级,会不会导致Web服务的分裂呢?像双方提出的未来Web服务的理念,是一个用户控制“身份确认”服务代替用户特定的格式或者收集数据,如果微软和Sun不能相互融洽地支持一个同样的身份确认标准,那么未来“通用”站点必须既支持.NET My Services又支持Liberty Alliance。即使这样,由于使用两种不同的身份确认方式以及两种记录历史信息的方法,这些站点将不得不承担沉重的技术负担。最终用户满意,服务提供商才会满意,继而带来应用程序开发商对开发平台的满意,换句话说,让用户成为赢家,你就是赢家。