Microsoft.NET vs. Java - 网络经济 - 方军

(这条文章已经被阅读了 136 次) 时间:2000-12-08 12:21:13 来源:方军 (方军) 原创-IT

微软在六月正式推出”.NET”战略以来,各方褒贬不一,《Fortune》六月的封面报道认为”.NET彻底改变互联网”,而持不同意见者则认为这不过是为了转移人们集中在垄断案上注意力的一次形象塑造,没有任何创新、注定是失败的。巴尔默十月中国之行似乎并没有能够吸引到太多的注意力。

刚结束的Comdex 展览上微软不遗余力向业界、开发者和用户推广其新战略,盖茨也在展览上发表长篇主题演讲宣讲其对第三代互联网的远景。但反响不是很好,据报道出席展会的人士却抱怨:他们对微软的.Net战略的长远发展感到十分茫然。

Java阵营中以Sun为主的厂商最近发布的将Microsoft.NET 和 Sun的J2EE(Java 2 企业版)比较分析在业界引起了极大的争论,争论的焦点主要有:1) .NET是不是如微软所称的开创性的创新; 2) .NET战略与Java的优劣比较;3) 应该采取那种标准来构建下一代互联网和企业级应用。微软的老对手”开放源码(Open source)阵营”也加入争论,目前的争论还主要集中于技术领域。事实上,我们可以看到”.NET”战略从商业、技术、前景等方面都充满了争议。

“.NET”战略

什么是Microsoft.NET?

从微软的.NET战略白皮书(Microsoft.NET:实现下一代互联网)我们并不能得出一个明确的答案。有人认为如果要评选最近几年微软公布的晦涩难懂的计划,那么.NET无疑要名列前茅。

可以尝试这样表述.NET战略: 微软通过.NET战略希望其.NET软件能够成为如Windows一样成为各种设备如服务器、PC、手机、掌上电脑、电视置顶盒等的基本组成部分。微软希望所有的设备上的数据都是以机器可以理解、分析的方式存在,并且可以通过”Web services”在一个页面上综合的提供所有相关信息。

比尔.盖茨描绘了一个令人心跳的未来,即彻底消灭”数字孤岛”,挖掘和实现互联网的全部潜能,建立第三代互联网。

. NET战略基于XML开放标准。 XML通过在多平台、多应用、多服务和多设备上的数据无缝交换,有望使互联网变得更为实用。使用XML,人们可以利用设备的智能去自动访问不同的站点,并对信息进行集中。XML要可用有一个前提就是整个互联网上的数据是以XML的格式存储和传递的。这一点似乎得到了广泛的认同,目前 IBM、Oracle、Sun都是XML的推动者。但微软在这个方面依然会遇到极大的困难,XML的标准不会按照微软的意愿进行,标准的应用方式更是在微软的控制能力之外。微软可以以它理解的方式推出基于XML的应用,其在操作系统、浏览器上的优势能够有所帮助,但它的XML应用能不能获得互联网公司队的广泛支持值得讨论。

.NET战略显示微软希望通过重新定义它的软件在互联网时代的地位重现PC时代的辉煌,这和几年前Intel的一个战略比较类似,Intel宣称其转型为互联网基础建筑商,为互联网时代提供互联网的基础建造模块–芯片。但试图将上一个时代的优势在新的市场状态下重现是非常困难的。Intel的努力并未成功,微软多年来的努力也大多以失败告终:如其推广WindowsCE、MSN都不成功、浏览器之战虽成功压制对手但惹上官司、对中国市场来讲它的维纳斯计划是个现在不愿再提的惨败。

但我们必须承认”.NET白皮书”将是一个经典性的文献,它描述了微软关于下一代互联网的远景(其实这也许多人对于互联网的远景),更重要的一点是它能够引起思考。后者也正是其引起争议的地方:我们在阅读之前总是对互联网有着一些想法,这个白皮书使得这些模糊的想法变得清晰,因此我们会认为是微软提出了这些想法,不过如果试图从字面上去寻找,很多时候我们并不能在白皮书上找到对应的。因此,有偏激的论者认为微软玩了一次巧妙的心理游戏。

问题的关键还是微软自己是不是能把这些想法清晰的表达出来并实现,在风险投资界一直有这样一种说法,可能会有几百个人有同样的想法,关键是”执行能力”。微软拥有的强大的技术能力、业界地位、经济因素以及现在表现出的对.NET战略的孤注一掷使我们有理由相信微软有可能实现它所描述的远景。

“下一代互联网”是不是微软现在所推广的呢?不,”创新”在微软之外出现的可能性似乎还要大些。互联网会按照它自身的规律进化发展,屈从于一家公司的可能性是非常小的。微软在操纵系统和浏览器上的垄断地位使得它可能将”.NET”推广开,但.NET绝对没有可能实现操纵系统在PC上那种统治地位,互联网时代的特征之一就是多样化。

.NET如何实现?

微软描绘了它理想中的互联网的未来,这种理想终究是要通过软件来实现的。微软的整个产品线都被纳入了.NET体系,Windows.NET是下一代操纵系统、MSN.NET试图成为互联网的中心、个人订阅服务提供整合的内容、Office.NET、Visual Studio.NET开发工具以及bCentral。这些使得微软的”.NET是一个以整个公司作为的赌注的豪赌”的宣言可信,但另一方面也让人有这样的疑问,微软是不是只是简单的将其产品线加上.NET?

.NET能不能获得开发者的支持对于其成功至关重要。Windows成功的主要因素之一就是微软吸引到足够多的开发者为其操纵系统平台开发应用。对于开发者来说,是否采纳.NET也是非常关键的,还记得DOS到Windows转型的那个时期,许多曾经在DOS上成功的产品因为没有转入Windows平台而消失了。Microsoft.NET是不是会和Windows一样成功?我们还可以再等一等、看看.NET究竟有没有这种潜力,但留给我们的时间并不是很多。

从开发者的角度去看,.NET是有个很强的竞争对手的–Java。如果做一下比较我们会发现.NET的这一部分和Java几乎完全一致:C#语言类似Java语言;通用语言运行环境(CLR)、内部语言(IL)和Java虚拟机类似;ASP+和JSP类似;新的.NET类库和Java核心API类似;COM+和EJB等。有观点称.NET比Java至少落后4年以上,Sun公司提供的一些分析也称.NET是模仿Java。但我以为这里面其实有一个相互借鉴的过程,以ASP与JSP为例,JSP是模仿ASP的产品,但功能更强,与Java的特性有了很好的结合;现在ASP+似乎又是对JSP的改进。从开发特性的角度看选择哪个似乎并不是很重要。

这个比较并不能说明二者的优劣,不过它可能暗示了一点,.NET并不像微软宣称的那样是”跨时代的创新”。事实上我认为微软从来就不是好的”创新者”,它是一个非常优秀的”改进者”和”集成者” (当然这牵涉到如何定义创新的问题)。它改进了DOS、图形用户界面、浏览器、Word、Excel、开发工具等不一而足,并且将无数的应用整合到它的操纵系统、Office、Visual Studio系列中去。这一次它似乎又在做同样的改进和集成。

但是.NET是有一个致命弱点的,它在数据层次采用XML来实现数据的交换与共享,但在应用程序层次并没有实现跨平台,也就是说.NET应用主要还是在Windows系列平台上,这相对于Java的”一次编写、到处运行”跨平台性能的确是可以说落后好多年。而且正如微软在其白皮书书中所描述的,互联网上的设备将不仅仅是个人电脑,还有手机、掌上电脑等,在除了PC之外所谓”无处不再的Windows”推广等并不成功。微软希望统一互联网,缺乏跨平台性能是最大的缺陷。

商业前景堪忧

.NET计划描绘的互联网前景得到很多人的认同,正如大家都认同许多互联网公司在其商业计划和通过传媒描绘了网络、电子商务的美妙前景一样。但问题是一样的,如何盈利?

微软称通过提供作为服务的软件改变软件的应用方式,在不就之前其发布Office.NET和预览版的Visual Studio.NET,在国内各大网站我们可以看到注册微软个人信息中心的广告,但人们会接受这种软件销售方式吗?

或许微软的策略和IBM的e-business类似,通过推广一个新的观念而卖出更多的企业级产品,对IBM来说是服务器,对微软来说是系列的服务器软件。但这个如意算盘可能会遇到障碍,现在企业更新软件版本的速度在慢慢方面,有两个原因,一是企业应用软件越来越复杂,更新的成本太高;二是企业现在进行互联网化的过程中,往往倾向于暂停操纵系统和数据库系统的更新。而且在服务器领域微软并不占有优势,它有两个强大的竞争者Linux和Unix系统,而其应用软件绝大部分是基于Windows平台的。在服务器应用软件方面微软从来就没有占据过优势,也就是这里它并没有太多的力量可以依靠。如果它的产品出色、被广泛接受它可能借此在这个市场上获得 优势,但如果失败了,这场以公司为赌注的豪赌就比较危险了。

.NET会不会实现?这的确是微软的一次”以整个公司为赌注的赌博”。可能改变整个互联网,也可能如去年的”维纳斯”那样不了了之。

.NET是不是抓住了互联网发展的趋势?我认为是的,它描述出来了。但互联网是没法预知的,正如多年前没人能预知Netscape会开创的一个时代、没有人能预知一个简单文件交换程序Napster会开辟互联网的全新世界。

相关链接:
微软.NET白皮书
http://www.microsoft.com/business/vision/netwhitepaper.asp

微软.NET网址
http://www.microsoft.com/net

An Analysis of .NET
http://java.sun.com/features/2000/11/dot-net.html?frontpage-banner

Microsoft .NET vs. J2EE: How Do They Stack Up?
http://java.sun.com/features/2000/11/dotnetvsms.print.html

争论论坛链接
http://theserverside.com/home/thread.jsp?thread_id=1978

版权所有,如蒙选用请先联络作者,多谢。(方军 [email protected])