当前位置:编程学习 > C#/ASP.NET >>

从Windows DNA到.NET(3)

答案:     三、从Windows DNA到.NET的转变
  
  
  微软总裁巴尔默曾说.NET是微软对未来的一个最大的赌注,在赌互联网将无所不在,无线接入将无孔不入。顺便说一下,微软对未来的打赌好像总是能赢。在计算机还只是大型昂贵的设施时,盖茨就认为未来会有PC机,并且PC机将无处不在,进而发现了一个以前没有过的独立的“软件市场”。以及进而推出的Windows在赌人们不会满足于PC机的现有应用,人们会喜欢方便漂亮的东西。Windows NT在打赌PC机将强大到足以支持企业级运算。有兴趣的读者可以看一下比尔.盖茨的《微软二十五年》。
  
  但比尔.盖茨也有犯错的时候。在95年之前,当互联网兴起并如火似荼的时候,比尔.盖茨却认为网络应用并不是未来软件开发的方向。在当年的互联网四骑士(思科、AOL、SUN、网景)里面,人们看不到微软的影子。但网景的成功很快惊醒了微软,微软开始奋起直追,并凭借强大的实力很快从第一代互联网的追赶者变为第二代、第三代互联网的领先者。但这似乎并不足以满足微软的胃口,微软耗费重金打造的.NET要成为下一代互联网的标准。
  
  我们看一下遵从Windows DNA体系的WEB应用的缺陷。遵从Windows DNA体系的COM/DCOM/COM+分布式应用可以将程序功能分布到整个网络上,DCOM构造于RPC体系结构的最顶层,使用DCOM远比使用RPC容易的多,但是它仍然继承了RPC的一些缺陷。第一个缺陷就是:RPC和DCOM都更适用于Intranet而不是Internet。RPC和DCOM要求的端口在防火墙内部,不太可能被打开。这种局限对于开发上线的WEB应用是一个很严重的问题。第二个缺陷是使用COM/DCOM需要注册或者发布,这会对应用程序产生很大的影响,所以它并不是一个理想的解决方案。这两个缺陷.NET都可以利用Internet上的标准XML、SOAP来解决。第三个缺陷就是利用ASP开发WEB应用时,会将负责程序的脚本和HTML混杂在一起,导致页面的脚本语言结构十分复杂,逻辑不清晰,可读性差,不仅给编程人员本身带来不便,也给系统的维护带来不小的困难,特别是当应用逻辑需求发生变动时,修改这些臃肿、晦涩的解释性脚本源代码真是味同嚼蜡。.NET中的ASP.NET可以使代码和界面完全分离,并提供了基于组件的开发,是WEB应用的开发效率大为提高。第四个缺陷是COM/DCOM是平台相关的,只能基于WINDOWS平台。这让许多应用只能选择J2EE体系。微软的.NET有望解决这个痼疾。有消息说,微软2003年将推出基于LINUX平台的.NET FRAMWORK。虽然有些人对此持怀疑态度,但理论上总是有可能的。
  
  .NET没有完全抛弃WINDOWS DNA,实际上我们可以把它看做是从WINDOWS DNA演进而来的,它是WINDOWS DNA的继续和发展。WINDOWS DNA是一个解决方案的平台,它关注的是如何使用微软服务器产品来解决业务问题。但是除了一个技术规范以外,WINDOWS DNA并没有任何切实的东西。但是.NET不仅有一套技术规范,它还包括了几个实实在在的产品,例如编译器、类库、甚至最终的用户程序。如Windows .NET是操作系统平台、.NET Framework是运行环境、.NET 企业服务器为产品服务器、Visual Studio .NET 为编程平台。
  
  在开发工具上面,由Visual Studio 6演进为Visual Studio.NET,程序语言由Visual Basic 6演进为Visual Basic.NET,成为面向对象的语言,添加了程序语言C#,一个面向对象基于组件的语言,一个为.NET平台量身打造的语言。另外对C++也做了扩展。在操作系统及后台的服务器方面,WINDOWS 2000演进为WINDOWS.NET,提供下一代Internet稳固的执行环境。DNA Server则演进为.NET Enterprise Server,其中包括SQL Server、Biztalk Server 2000、Commerce Server 2000、Application Center 2000等等。除此之外,.NET还增加了许多新的特性,包括.NET Framework(一个通用语言执行环境,提供一套功能齐备的类函数库,以协助程序设计师处理和系统沟通的细节)、Internet支持(提供了ASP.NET、WEB Form、WEB Service和应用服务结构,让WEB应用程序的开发与整合变得更加简单、易用)、WEB Service(提供了许多Services,可以让开发者把这些WEB Services当成软件积木直接组合使用)、Orchestration(应用在整合跨应用系统、WEB Services以及企业的交易流程)。
  
  对于.NET的其他细节,我们不再多说了。.NET对于DNA有很大的改变,并且为了实现.NET要做下一代互联网平台标准的目标,在无线接入、WEB服务集成等方面作了很大的创新。从纵深的方向了解一下微软技术的演变,对于学习今天的.NET会有帮助。如果有时间,我们还可以从横向技术(JAVA、CORBA、IBM的策略等)的发展,看一下.NET是如何产生并演进的(竞争会促使技术进步)。
  
  了解过去是为了更好的服务于现在。――――――罗曼.罗兰
  
  
  --------------------------------------------------------------------------------
  
  张晓鹏-2000年毕业于北京工商大学计算机专业,先后在安徽省蒙城县委宣传部、北京社会保障卡检测中心作为技术人员工作。现在北京航空航天大学软件开发环境国家重点实验室读研。愿意将学习和工作中的心得、体会和朋友们交流。
  

上一个:Visual C#中使用线程
下一个:从Windows DNA到.NET(2)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,