日期:2009-02-04  浏览次数:20486 次

DOS让微软起家,Windows让微软尝到了垄断的甜头,而IE让微软得到市场,却惹来了官司。当微软推出其.NET战略并大张旗鼓地宣传其开发工具VS.NET时,微软的目标又会是什么呢?


2002年3月22日,微软在北京重温了2月13日在美国旧金山举行的VSLive!大会的盛况。在那次IT盛会上,微软首席软件设计师比尔·盖茨正式发布了Visual Studio .NET(VS.NET) 和.NET Framework——微软.NET 应用程序的开发工具和平台;而在北京的会议上,微软发布了VS.NET八个其他语言版中微软认为最重要的中文版。Visual Studio .NET 和.NET Framework是盖茨作为微软首席软件设计师以来首次完全监控的软件,其目标是使微软XML Web服务理念变为现实。

盖茨说:“我们将Visual Studio .NET 视为下一次开发机遇,是创建XML Web服务的关键,它很快会成为所有主要新软件开发的基础。”VS.NET能否像盖茨所言,成为网络服务应用开发的一个里程碑呢?

Web Services释放.NET潜能

微软对VS.NET的定位是很明确的:.NET是下一个网络时代的标准平台,而VS.NET是支持这一平台的标准开发工具,它的任务是提供一个快速开发下一代Web Services应用的集成环境。

微软公司首席执行官鲍尔默先生在解释微软.NET战略时说:“.NET是一种软件。我们希望,它在第三代互联网中发挥的作用就像Windows在第二代个人电脑中发挥的作用一样。更友好的界面,更容易地将应用程序组合在一起,它在各种设备上运行,无论对个人电脑还是非个人电脑设备,都能提供相同的体验”。实现这一体验的就是微软极力倡导的Web Services。它不仅是下一代分布式计算的关键技术,也是.NET战略的核心。

根据国外分析报告预测,Web services将成为迈入电子商务时代的一个重要里程碑,并将在2~5年间创造数十亿美元的商机。因此,包括Sun、IBM与Web应用程序、服务器等相关业者,均投入到Web services市场。其中Sun力推J2EE及SUN One来构建网络服务;而全力支持开放性标准的IBM,则提供线上建置Web services的基础建设工具,并且新推出了开发工具Websphere Studio第四版——首个面世的Web services与Java服务器网页的开发工具;而微软.NET所描述的远景则是以Web services及相关应用为中心,其打造Web Services的利器就是VS.Net。

微软历来是新技术的追逐者,而这一次,它要成为Web services的领头羊。为了领导Web services,微软使出了浑身解数。首先是让.NET建立在一系列标准的协议之上,如XML、SOAP、WSDL、UDDI等,其核心是XML;其次是提供一流的开发工具,欲善其事,先利其器嘛。新推出的VS.NET完全是为Web services量身定做的,它不仅提供快速开发Web services的工具,支持Web services从开发到发布、注册、整合的全过程,而且对Web services的核心技术XML更是提供了全方位、可视化的支持。在VS.NET中,你不仅可以轻松地创建、预览、解析你的XML文档,更能够通过实例来自动生城XML Schema。随着VS.NET一起推出的全新C#更是生来就是为构建下一代Web services而打造的。

Web Services是开放的,XML协议是开放的,语言是开放的,这次微软真的想借VS.NET走开放之路了?先不急于下结论,要知道,谁掌握了标准,谁就垄断了市场。但是无论是对于XML,还是一系列的Web services标准,现在还有谁能像微软那样提供这么全面和内置的支持,微软领导Web services的企图已是路人皆知。要知道,Web services的平台是互联网,控制了Web services就控制了整个互联网。

组件:角逐企业市场

企业应用一直是每个软件开发商的必争之地。微软对此也是垂涎已久,但无奈还是让Java抢了先机。现在的组件市场,尤其是中间件市场,Java已占领了半壁江山,微软当然轻言放弃。.NET将是其重新定位于企业市场的一个开始。为此,.NET从底层便开始支持面向组件的开发,VS.NET更提高了组件的开发和部署效率。在以生产效率为核心的组件开发领域,它无疑是微软的一记重拳。这记重拳到底有多大力量呢?

首先是跨语言的组件交互能力。在VS.NET中,无论是面向组件的语言(C#、VB.NET、C++等),还是传统的语言在.NET的平台中,都可以生成基于微软中间语言(MSIL)的组件。这些组件在运行间具有对象级的交互能力,这是基于Java单语言的组件技术所不能及的。

其次是开发效率。组件开发的效率一直是组件开发商和程序员们头痛的问题。因为组件开发往往是一件很复杂、很专业的工作,EJB就是一个很好的例子。EJB本身是一个很好的组件框架,但由于缺乏方便的开发工具,使得EJB的开发和部署往往要依赖于组件开发专家,从而影响了它的推广。充分利用底层的CLR的组件支持,VS.NET提供了一整套的开发工具,可以使组件开发变得简单而高效,用户只需关心组件的商业逻辑,而由VS.NET来完成其余复杂的工作。

.NET组件技术最重要的特点可能是其组件所具有的“即插即用”的能力。由于VS.NET支持自描述性组件的开发,使得组件的部署根本无需任何人工干,直接COPY就行了。这对于受够了“DLL黑洞”和Windows注册表的开发人员来说,无疑是一个天大的福音。而像EJB组件部署中的描述文件和复杂的部署过程却往往让应用者望而却步。

如果说.NET是微软进入企业组件市场的一场大规模战役,那么VS.NET则是赢得这场战役的强有力的武器,微软将借助它在组件市场重新定位。

当然,微软也有软肋:跨平台,VS.NET并没有解决这一问题。而这正是Java的主要卖点。虽然,微软也想在新的.NET框架中依靠CLR和Web Services来实现跨语言和平台独立的组件交互,但在有大量成功的案例之前,人们仍会在需要跨平台时选择Java。

攻心为上

微软知道,.NET神话的最终实现,要靠广大的软件开发人员,抓住了他们,就有了坚实的基础。所以在.NET开发工具——VS.NET上,微软是煞费了一番苦心。

统一的多语言企业级开发环境将使每个程序员能分享相同的体验,不必再为语言的优劣而争论不休,不必再为语言的变化而重新熟悉环境,不必再学习不同的类库和APIs,不必再为ASP代码的管理和调试苦恼,哪个程序员不会为之心动呢?

以前我们对开发工具的评价往往停留在方便、易用上,而现在微软的VS.NET则用体贴入微的智能化和All in one的解决方案,使程序员第一次感受到了机器的“人性味”,软件开发在这里已经成为一种视觉和心理上的享受。

当然,软件人员最关心的还是开发效率的提高,好用还要中用嘛!VS.NET的人性化界面和众多的智能化工具将成倍提高开发效率。无论是针对传统的Windows桌面开发,还是 Web services,用户不必再为每种不同的应用重写全部代码,不必为不同的客户设备定制不同的界面,VS.NET让这些都成为共享和可重用的,用户只需关心自己的商业逻辑和发挥自己的想像。

.NET的最终目的是给用户以全新的体验,而VS.NET首先让开发人员感受到了这种体验。看来,微软不仅是市场运作的高手,也是捕获人心的行家。

神话?噩梦?

一切好像都是那么完美,无论是.NET清晰的体系结构,Web Services的强大功能,组件的即插即用,还是VS.NET的人性化的开发环境,似乎.NET的神话伸手可及。

然而,也别兴奋的太早,互联网天生是一个多元化的环境,就在盖茨大力推广其.NET和VS.NET时,一些独立的软件开发商却对微软大举进军互联网感到担心。他们担心,微软的计划是将所有软件程序人员纳入微软自己的软件研发系统中,这样研制出来的软件只会与微软的网络系统相兼容。此外,Web Services也才刚刚起步,前景如何目前还尚未可知。

另一方面,针对.NET的“病毒”攻击也已经开始。病毒代号为W32/Donut基于Windows系统,其目标是.NET Framework中的某些文件。不过,一些分析家表