概述
在去年7月美国奥兰多举行的专业开发者大会上,Microsoft展示了它最新.NET体系,众多的发言人向大会介绍了.NET的特征和构成。
什么是.NET呢?实质上,.NET是Microsoft贴在现有产品和未来产品上的一个新式行销标签。在Microsoft服务器端产品中,如基于Windows DNA 2000技术的BizTalk Server 2000和Application Center 2000,.NET标签将随处可见。然而,.NET最令人感兴趣的特色却在于它的开发平台、语言和协议。
通过.NET,Microsoft为我们提供了一种全新的开发平台,这个平台将推动以新体系为基础的协同Web应用开发。根据Microsoft的说法,.NET至少将成为一种“对Web编程”的方法。当前,第一版Visual Studio .NET已经出现,由此出发,我们或许可以比较精确地勾画出.NET平台最终的全貌。
可以说,无论是在技术上还是在战略上,Microsoft都对.NET寄予了厚望。当前的DNA 2000技术并未包含新的.NET平台;相反,.NET将是一种全新的技术,有望揉合许多根本性的、深层次的创意。
作为一种全新的平台和技术,.NET带来了许多新的产品,但这些产品和现有技术的兼容性未能获得百分之百的保证。.NET支持27种编程语言,它们将共享一组提供基本服务的类。.NET应用不再直接在裸机上运行,由于看好一种运行在虚拟机CLR(Common Language Runtime)上的称为MSIL的中间语言,Microsoft放弃了Intel x86代码。
此外,.NET大量地运用了XML技术,并赋予SOAP协议极其重要的地位。借助于SOAP,Microsoft希望将软件开发带入一个新的时代,即不再依赖于装配组件和对象,而是以重用服务作为软件开发的基础。SOAP和Web服务共同构成了.NET平台的基础。
然而,为当前正在开发的DNA应用的未来而担心仍旧是没有必要的。Microsoft已经承认,发布.NET最终版本的时间不会早于2002年,而且.NET能够直接在裸机上运行现有的应用,但这些应用将无法利用任何.NET的优势。
和Microsoft让我们相信的相反(显然那是为了安慰现有的用户),.NET对现有体系的改变非常深入,而且几乎影响了DNA体系中的一切:
由于看好多进程模式,IIS服务器放弃了高效但不稳定的多线程模式。 ASP技术让位给了ASP.NET(最初叫做ASP+),解释执行的代码将象JSP一样在第一次调用时被编译执行的代码取代。
诸如ATL和MFC之类的Win32 API由一组相关的Base Framework类取代。
为了遵从CLS规范(Common Language Specification,公共语言规范),VB.NET加入了大量.NET的特色,因此不再保证与VB6的兼容。
提供全新的分布式组件模型COM+ 2.0。COM+ 2.0没有从COM/DCOM/COM+系列技术继承任何内容。COM+ 2.0不再使用Windows注册表来注册本地或者远程的组件,在.NET中部署组件就象很久以前安装应用软件一样简单方便:安装软件就是把文件复制到某个目录下面;删除软件就是从目录下面删除它的文件。
诞生了一种新语言C#。这是一种新式的面向对象编程语言,有点儿象是C++和Java的混合物。C#由Anders Hejlsberg创建,Anders Hejlsberg也是Borland许多语言和工具的设计者,包括著名的Delphi。
以SOAP和Web服务为基础的新编程模式从根本上改变了应用的设计方法,并带来了一种新的职业:在线提供Web服务。
这些改变趋向于在Windows 2000操作系统和提供应用服务的上层之间建立宽松的连接。为了更深入地说明这些变化,下面本文将作更为详细的阐述。
更甚者,这些技术上的变化又与.NET平台大量采用各个中立组织(如W3C、IETF以及ECMA等)的标准有机结合,包括Gartner Group在内的许多分析家由此得出这样一个结论:“Microsft正在趋向开放”。