随着VS.NET的正式发布,Microsoft的。NET梦想终于如实展现在人们面前,对几乎所有以Microsoft技术为核心的开发组织来说,它带来了不容忽视的变革。就像以前对Windows寄予厚望一样,Microsoft现在把自己未来的重注下在了。NET的成功上。同样与以前Windows出现时相似的是,绝大多数Microsoft技术的开发者不可避免地要转移到。NET上。认清这些简单但关键的事实,这是评估。NET将在你的组织中扮演什么角色时首先要解决的重要问题。
除非你准备彻底放弃或背离Microsoft的软件战略,否则,对于最终迁移到以。NET为基础的产品和体系,你只拥有很少的选择权:这是一个何时进行的问题,而不是一个是否要进行的问题。实际上,你真正拥有的实际控制权仅仅是迁移工作的进度安排。然而,在深入分析。NET可能在你的组织中起到哪些作用之前,首先要澄清一下本文所指的。NET具有哪些含义。
一、澄清一些事实
Microsoft使用的“。NET”术语在不同的场合有着许多含义:它是一种展望,一种远期战略,一种商标,同时也不可否认地带有市场策略的成分。从最简单直接的角度来看,。NET是Microsoft对“软件即服务”或“服务式软件”(Software as Services)这一IT战略和技术体系的设想。从最长远的观点来看,。NET是一种占领市场的战略,在此基础上Microsoft将支持下一代以Internet为中心的应用,这些应用将充分利用当前正在浮现的新技术的优势,例如Web服务和移动设备、无线设备等。虽然完整的、全面的。NET图像仍被市场宣传的迷云笼罩,但在这迷云之下,一个真实坚固的新平台确实存在,这就是。NET框架。本文的讨论正是以。NET的这一概念为基础。
对于几乎所有以Microsoft技术为基础的开发者来说,转移到。NET是不可避免的趋势。在这种情况下,评估迁移工作的时间安排之前应该先回答这样一个问题:“我是一个积极的新技术采用者,还是一个保守的新技术采用者?”积极的新技术采用者会把。NET视为自DOS升级到Windows之后最重要的机遇,很自然地,他很可能把注意力集中到。NET带来的优势,而忽略其缺点。这类最早采用新技术的人往往以积极甚至激进的策略为基础,选择最前沿的、正在浮现之中的新技术,看重竞争优势带来的希望,轻视随之出现的风险。
。NET技术早期采用者的第一个机遇在于它具有抵御竞争威胁的能力。正如Windows曾经抵御了因为Apple Macintosh日益流行而带来的威胁,抵御了OS/2的出现带来的重大威胁,。NET计划在很大程度上针对的是Java带来的威胁。著名的技术市场研究公司Gartner预测,接下来的五年中,百分之八十或更多的新电子商务应用将建立在Microsoft或Java平台技术的基础上。很自然地,。NET的目标很大程度上是在这个百分比中尽可能地扩大Microsoft的份额,降低Java技术在主流IT企业之间日益广泛的影响。
Microsoft通过推出一个全新的技术平台回应Java的威胁,这个新的平台在许多方面填补了原来的空白,在一些领域(例如Web服务)甚至有所超越。对于Microsoft来说,这一举措正当其时,因为旧的Win32/COM体系正显示出严重的时代局限性。Java威胁的出现是由于,几年之前WWW刚刚出现时,Microsoft犯下了重大的估计错误,它仍旧坚持着以PC为中心的计算理念,对Internet日益增长的重要性视而不见。在很大程度上,推出。NET新平台这一重大举措的驱动力量来自甩下旧包袱的需要,因为旧包袱拖了Microsoft与Java展开全面竞争的后腿。
二、评估。NET vs. Java
旧的分布式Internet体系(DNA,Distributed Internet Architecture)建立在Win32和COM等技术的基础上,它就象是一条橡皮筋,在过去的十多年里,从最初的以PC为中心的计算模式不断拉伸和扭曲。今天,这条橡皮筋已经拉伸到了极限,该是来一次大变革的时候了。与DNA不同,Java出现在人们面前只有六年之久,既得天时也得地利,紧紧抓住了Internet大潮的机遇。Java带来了许多革命性的编程概念,它们与新兴的Internet和Web编程模式紧密结合,例如内建的安全沙箱(Security Sandbox)、可移植的代码,以及直接构造到语言和库里面的强大的Web、TCP/IP编程支持。另一方面,Microsoft只给出了一些充满缺陷的答案,例如意图作为Internet组件使用的ActiveX控件。然而,。NET不再是以PC为中心的计算技术的简单扩展,它代表着一种长远意义上的划时代的飞跃,成功地为人们带来一条全新的橡皮筋——具有足够的灵活性和伸缩能力,足够用上好几年。