微软vs Sun中盘较量 - 深入J2EE技术 - 付毅

(这条文章已经被阅读了 190 次) 时间:2001-08-04 10:34:26 来源:付毅 (mytuotuo) 转载

  从Windows NT对Sun公司工作站市场的冲击,到Java对微软所统治的桌面计算模式的威胁,再到旷日持久的Java诉讼案和微软反垄断案,整个信息技术在过去十年的跌宕起伏,几乎都可以溯源到这两家业界最有个性的公司之间的竞争。
  2000年6月,微软推出雄心勃勃的.Net计划,试图延续过去的辉煌。事隔八个月,”Sun ONE”的推出更是使得Sun和微软这两家公司之间的竞争进入中盘阶段。

  【互联网周刊记者 车勇】千年之初,半月之内相继发生了两个足以影响IT业界发展格局的事件,并且,这两件事都与Sun和微软有直接关联。
  第一件事:2001年1月23日,Sun Microsystems公司宣布,Microsoft公司同意解决Sun公司关于Java技术的诉讼案问题,同意向Sun支付2,000万美元,以接受先前Sun的Java技术许可协议的终止,并永久地禁止未经授权的Sun的JAVA COMPATIBLE (Java兼容性)商标的利用。
  此外,为了对那些按照Microsoft以往的办法采用了Java技术的开发商提供保护,Sun同意给予Microsoft公司有限的许可,对其现有的Java技术1.1.4版本的执行产品继续发货。这些产品已经按照Sun在诉讼案中提出的保护要求进行了修改。这一许可有效期限仅为7年。
  第二件事:2001年2月5日,Sun公司首席执行官Scott McNealy、首席运营官Ed Zander以及公司其他高层在旧金山共同发布了名为“Sun ONE”的网络服务战略。
  此前八个月,微软发布名为Microsoft.Net的下一代软件和服务战略,宣称将利用以互联网为基础的计算和通讯激增的特点,通过先进的软件,利用网络协议和格式,协调众多的智能设备与网站,从而提供更简单、更为个性化、更有效的互联网服务。

  针锋相对

  微软和Sun之间的竞争由来已久。
  90年代初期,Sun登上了工作站市场的顶峰,开始向实力更强大的对手如HP、DEC等挑战。这时,微软和Sun,一个统治桌面,一个经营工作站,基本上没有什么竞争。
  不过,微软为了保证公司的持续高速增长,决定开辟企业市场,于1993年推出Windows NT,这样就侵犯了Sun的领地。一时间,由于Unix本身的版本问题以及Windows NT的低价位和兼容性,Unix系统节节败退。
  当微软威胁到工作站市场时,McNealy决定继续SPARC芯片和Solaris操作系统的开发,而不是向微软申请销售NT的许可证。这一决定虽然引起包括Sun公司股东在内的诸多业界人士怀疑,但最终的结果是使得Sun异军突起,成为Unix领域的领袖。而倒戈者,McNealy认为他们处处受制于微软,无法掌握自己的命运。
  这时,Sun不再像以前那样依赖于外面的技术,McNealy逐渐有了这样的意识:技术工业真正的强者是那些拥有自己知识产权的公司,他们有最高的利润率,而不是沦为经销商。McNealy庆幸自己的判断,由于有SPARC、Solaris和Java,Sun能够进入到一个更为有利的地位,把有价值的知识产权转让给别人,同时抬高自己产品的价格。Sun直到今天还津津乐道于:“我们可以建造起整个住宅。”
Sun公司从NT的威胁中把自己解救出来,并且借助于SPARC芯片和Solaris操作系统,成为服务器的主要供应商。McNealy已经可以宣称自己不再和那些工作站公司归为一类。
  服务器得到普及的最初市场是互联网公司,因为Sun一开始就提出所谓“网络就是计算机”的口号,并在20世纪90年代又加快了其发展速度,为搭上互联网发展的快车做好了准备。
  在解救自己之后,Sun开始反击。关键的武器就是1995年诞生的Java语言。由于Java不是基于Windows或是哪一种操作系统,而是基于互联网,所以可能对桌面计算模式构成重大打击,这成为微软公司的致命弱点。Java的神奇之处在于——“一次编写到处运行”,也就是说可以在任何操作系统中运行。这个开放并接近通用的特性,加上业界对于微软的恐惧使Java迅速拥有了大批追随者。
  对于Java,Sun有两条路可走:1.交给工业标准机构,那么,今后Java的发展就将决定于一个作风拖拉、随波逐流的工业代表委员会了。这也好比,自己生的孩子要交给别人去抚养。2.为尽力赶上微软,保留所有控制权。
  Sun了解大家不希望出现另外一个微软,于是Sun选择了一条中间道路:把公司关于Java的发展计划发布在互联网上,恳请开发商的反馈,同时向包括IBM、ORACLE甚至微软在内的诸多公司大规模地发放许可证。这些获得许可证的公司有权对Java进行改进,但必须首先得到Sun批准。走中间道路使Sun在宣布开放的同时,能够对Java语言的发展保留一定的控制权;另一方面,获得许可证的公司足以使Sun对Java实施不止一家受益的发展计划。
  这时,Sun仿佛摇摇晃晃走在一条绷紧的绳索上。
  业界的关系虽然复杂,但不变的真理是:在竞争中合作,在合作中竞争。
  微软从未把Sun当作对手,直至Java的出现。
  Sun推出Java,并且希望借助于此,开发桌面运行环境,挑战微软。于是,微软自下而上,Sun自上而下,一场激战在所难免。
  Sun当时的武器是网络计算机(NC),一种以Java为操作系统,体积小巧的桌面电脑。NC用户可以在需要时通过网络从更强大的服务器中下载程序,如果NC计划成功,这足以使PC成为历史。Sun与Java联盟的成员网景、ORACLE和IBM开始亲密合作。不过至今为止,仅有IBM取得非常有限的成绩。个中原因错综复杂:管理原因、内部争执,更重要的是微软和PC公司为适应网络需要,很快将个人电脑发展成网络计算机。并且价格也大幅下降。NC一时还找不到大规模应用的理由。也许是Sun太急躁了。
  微软控制了85%的桌面,如果Sun希望Java不只是分享剩下的15%,希望Java成为标准,唯一的选择就是与对手共舞。而微软,为了确定自己在互联网中的地位,也必须接受Java。
  1996年,微软从Sun取得了Java技术的许可,并承诺要提供与该技术兼容的产品。但是Sun公司认为微软此后并没有履行它的诺言,于是一场官司不可避免。

  冤家路窄

  从1997年10月Sun公司起诉微软开始,三年多来的漫长诉讼一直为业界所关注。有人认为微软想抛开Sun对Java的控制,另立山头。Sun说:“我们是否太天真了,以为微软会遵守合约”,分析家评论:“在那个合同签订以前,每个人都知道它会怎样结束”。
  官司照打,微软也丝毫没有放慢自己的步伐。微软发现自己并没有成为网络计算的领导者,它决定同时做两件事情:1.在目前与Sun和Oracle的竞争中全力争胜;2.更重要的是,领导世界进入下一代计算模式,去赢得未来的竞争。
  Microsoft.Net就是关键一步,这是一场微软寄予了全部希望的豪赌。
  Microsoft.Net希望将目前的以服务器为中心的计算引导至分布式计算模式。微软总裁兼首席执行官Steve Ballmer说:“包括XML和SOAP在内的新行业标准将信息(从服务器中)解放出来,使它们能够被重新组织、调整和编程,然后以任何可能的方式、在任何设备和系统上显示出来。以这些标准为基础的平台,将控制信息的权利重新交还给需要这些信息的人们。”
  微软认为.com是互联网这个信息海洋中的”数字孤岛”,将这些数字孤岛连接起来,打破不同的上网设备、不同的操作系统、不同的网站以及各大机构和工业界的网络障碍,从而实现互联网的全部潜能,就构成了.NET的核心内容。
  微软目前所做的就是要在企业市场证明自己的能力,该公司已经推出自己的Enterprise Servers,这不仅是Microsoft.Net的第一步,也对公司眼下的营收至关重要。微软同时认为,由于Microsoft.Net所做的事情是将桌面与服务器更好的联系起来,在企业市场上的良好表现也将有利于用户接受该策略。
  微软希望,有一天用户将非常平滑地,甚至是不知不觉地过渡到Microsoft.Net。
  虽然早就提出“网络就是计算机”的口号,但其实Sun一直到两三年以前并没有足够的能力去实现它。
  由于对Staroffice和Forte的成功收购,以及与AOL的经典合作,Sun终于可以开始将理想变成现实。
  所谓“Sun ONE”,即“SunTM开放网络环境(SunTM Open Network Environment)” 它定义了整个开放的体系架构、完整的产品和服务系列,以帮助客户创建、组装和部署开放的智能 Web 服务。
  Sun公司认为,未来的网络计算是开放的智能 Web 服务,这些 Web 服务把多网络(也就是所有能以 IP 进行寻址的东西)和语境的认知、更高质量的服务和更丰富的用户体验加进来,为用户提供全新的服务水平和功能。
  “智能网络服务对于信息时代而言就象可互换的零部件对工业时代一样重要”,McNealy称,“你在考虑软件时,不会考虑比诸如拨号音、电或自来水等更多的事情。你将只是利用它,让你的服务供应商去为如何为你服务而操心”。
  以互联网门户为例,它由各种服务所组成,比如股票即时行情、电子邮件、日历和搜索功能等,这些服务是从许多位于不同地方的各个公司那里汇集起来的。作为这个门户本身,它需要的正是这些服务,而不是软件产品。
  因此,在互联网的环境下,有效的开放智能 Web 服务基础设施的关键是一系列的服务部件。
  为了便于发现和访问,这些服务部件必须在一个中央目录中进行注册。进一步地,为保证Web 服务的集成程度和可互操作性,这些服务部件必须使用基于标准的结构,来表现语境方面的信息,以及使用一个基于标准的编程界面集来访问和利用这些语境信息。并且,它们必须是开放的。
  这里的关键就是XML和Java技术。XML提供了标准的、与平台无关的数据结构,以表示语境信息,而 Java 技术则通过了一个与平台无关的编程界面标准集,来访问和利用这些语境信息。
  具体而言,Sun ONE 是一个集成化产品服务包,包括Sun公司的J2EE和EJBs以及必不可少的iPlanet软件环境,iPlanet 软件产品提供了用来支持开放智能 Web 服务的至关重要的基础设施部件。
  Sun ONE Webtop开发者版(先前被称作 StarPortalTM 软件)由一系列改编自用于文字处理、表格处理和演示等工具的办公生产力服务所组成,这些服务都处于 Web 上一个集成的、可定制的、能互动的、与桌面系统类似的环境之中。
  最后,Sun ForteTM 工具将帮助开发者来驱动开放智能 Web 服务。
  McNealy说,“利用Sun ONE平台,当用户在任何地点,用任何设备使用网络服务的时候,他一点也体会不到互联网的复杂性。”
  Sun ONE战略实际上是围绕开放的智能 Web 服务这一要点而展开的。在阐述什么是开放的智能 Web 服务时,Sun举了这样一个例子:假设一个商务旅行者正在为一个突如其来的外地商务宴会作行程安排,一个开放的智能 Web 服务使这个商业人士能快速无缝地找到一个临近他或她目前所在位置的餐厅(已经按照其烹饪口味喜好进行了预先过滤),无线地进行点菜、订座,然后将时间、地点和宴会的位置(连同地图和菜单)用电子邮件通知参加宴会的其他各方。
  类似的例子微软这样讲:旅游者在准备行程时,要先上网去查找相关的旅游网站,然后去找到相关的旅游公司及船运情况介绍,再通过旅行社办理各种手续,最后才得以成行。而在 .NET完成后,旅游者只需要告诉其目的及相关条件,其余的工作通过 .NET就自动实现了,这样节省了大量的时间,也不需要太多的网络技巧。
  从表面上来看,我们发现,作为业界表达最完整的两个网络服务战略,Sun ONE和Microsoft.Net在思路和框架,乃至具体的产品组成上都具有太多共同之处。比如说,Sun ONE和Microsoft.Net都确立了软件变服务的商业模式;强调对多种设备支持和丰富的用户体验;着力解决服务的智能以及个性化问题等等。
  此外,Sun ONE与Microsoft.Net所共同倚重的则是XML。Sun相信 XML是 Internet的核心,支持 UDDI(Universal Description Discovery and Integration)和SOAP(Simple Object Access Protocol)。值得注意的是,SOAP是由微软公司所倡导的,不过这并不说明什么问题。
  的确,客户需要的就是这样一种东西,在这一点上,谁也不会离题太远。
  问题在于,面对几乎是分立的两个系统,客户和开发者到底选择哪一个。

  竞争升级

  不难发现,Sun ONE与Microsoft.Net几乎正在做同样的事情,两者在体系结构上不存在竞争。但是彼此用了不同的方式和工具之后,客户面临的选择则是两者取其一:Java还是C#;iPlanet servers还是Enterprise Servers;ONE Webtop还是Office.Net;Forte开发工具还是Visual Studio.net。在各个层面,Sun与Microsoft都可谓针锋相对。
  分析家认为,由于微软在保证Java兼容性和终止使用者以跨平台语言之间选择了后者,两公司之间的竞争态势从Java以及它对Windows操作系统的威胁,升级到了企业将选择Unix还是Windows来构建网络服务平台,也就是说,是选择Java语言,还是微软的开发工具。
  这恰恰是两家公司竞争的焦点。可以说,谁吸引到大多数的程序员和软件开发人员,那么其产品成为工业标准的几率就会大大提高。
  Sun于是宣称:“开发者利用标准来集中精力处理核心竞争力,在标准的基础上进行创新,而不是从底层开始重新创建应用。使用私有体系架构的开发者最终要不断地重新创建和重新集成,其结果就是其工作被限于一个狭窄的范围和生命周期。”矛头直指微软。
  对Sun而言,从某种意义上讲,Java实际上已经成为企业和网络应用的标准语言,非常深入人心;iPlanet软件也具备了许多核心网络服务特性。不过,不能在微软的桌面上运行,Java就很难讲无处不在,这是诉讼案所带来的负面影响;Forte开发工具的集成还有不少工作要做;此外,作为Webtop 的基础的StarOffice组件,其应用并不普遍。
  对微软而言,桌面计算的优势是压倒性的;通过XML、SOAP和BizTalk server的作用希望在一定程度上取代Java“一次编写随处运行”的特性。相反,C#还很不成熟,对Windows操作系统安全性的担忧仍然存在;需要使用许多微软专有的产品而不是符合互联网标准的开放工具会让有些人望而却步。
另外一个战场是对多种网络的争夺。
  Sun公司认定,到 2002 年,只有 47% 的互联网接入是通过 PC 进行的,而其他的接入都将通过互联网工具或者消费类设备进行。同时,到 2003 年,将有 5 亿台具有互联网功能的移动设备投入使用,而 45% 的在线用户将使用一种以上的设备进行连接。很明显,现在这种桌面 PC 单一环境将让位给不同的、动态的多网络设备和服务。为了完全实现向这种由服务驱动的范式进行转变,Web 服务需要变得更加聪明(也就是能认知语境),能跨过多种网络和设备来递送服务。
  Sun认为这是Java的理想王国,是Java机会真实的浮现。为此,Sun需要赢得包括有线电视供应商、信用卡公司、零售商和汽车制造商在内的不同领域的支持。事实上,包括Motorola、NTT DoCoMo和通用汽车在内的诸多顶级用户已经广泛地使用了Java。
  不过,微软以及包括3Com在内的其他厂商同样希望拥有这个市场。微软的产品是Windows的简化版本。目前,微软已经同10个顶尖的半导体制造商组成联盟,并且向联盟成员公开操作系统的源代码。
  这个市场将是未来五年争夺的焦点,对于双方网络服务战略的实施影响巨大,其特征在于并没有坚不可摧的垄断力量,大家除了人才和资源外,都没有别的优势可言。
  Sun ONE的发布再一次将Sun公司推到了微软的枪口之下,随着双方在Java上的决裂,冲突在所难免。
  网络服务战略对这两个公司意义重大。
  Java当然是Sun ONE的核心,也是Sun公司与业界修好的纽带。不过,面对越来越大要求进一步放开对Java控制的呼声,如何拥有更多的合作伙伴是重要但又很难把握的。一直有人批评Sun只和自己做生意,固然坚持要拥有自己知识产权给该公司带来了今天的成功,但是大家还是希望,Sun能够在合作的路上走得更远。
  对微软而言,在桌面计算上的统治地位无疑是手中的王牌,由庞大用户群的支持,微软的任何举动都不会无人喝彩。但是微软自己也意识到,尽快让企业认识到自己在高端计算上的改进是目前的要务,微软说:“我们要告诉世界,真相是什么。”
  虽然说微软的网络服务战略早了八个月推出,但是这并不意味着Sun已经落后了, McNealy毫不留情地嘲弄那些将Sun看作业界后来者的任何看法,他坚持认为Sun 1980年代初创建时就开始致力于开发网络服务。
  不过,速度还是至关重要的,相信双方推出服务的时间表将记载下这场牵动IT业每一根神经的标准大赛。