信息得到增强。XML提供了一种从数据的演示视图分离出实际数据的方式。这是新一代互联网的关键,提供了开启信息的方式,以便对信息进行组织、编程和编辑;可以更有效地将数据分布到不同的数字设备;允许各站点进行合作,提供一组可以相互作用的“Web服务”。
Microsoft.NET环境中的突破性改进有三个方面,首先使用统一的Internet标准将不同的系统对接;其次.NET是Internet上第一个大规模的高度分布式应用服务架构;最后.NET使用了功能强大的管理程序,能全面管理平台中运行的服务程序,并且为它们提供更加安全的保护后台。.NET的平台蓝图如图1.1所示。
图1.1 .NET 平台蓝图
Microsoft.NET增加许多新的特性,包括.NET Framework、Web Services等。
图1.2 .NET Framework的基本层次
写好一份程序,到处执行,是Microsoft.NET对未来的期望。而实现这个目标的关键就在于.NET Framework,它的结构主要分为四大部分:通用语言执行环境CLR(Common Language Runtime),类函数库,程序语言,Visual Studio.NET。
CLR是.NET框架的运行环境。该运行环境为基于.NET平台的几乎一切提供一个统一的、受控的运行环境。CLR运行环境在.NET平台中充当一个类似于代理人的角色,为图2-3中基于其上的层次提供统一的底层进程和线程管理、内存管理、安全管理、代码验证和编译以及其他的系统服务。CLR通过中间语言等机制实现基于.NET的编程语言的无关性。即凡是符合通用语言规范CLS(Common Language Specification,定义了一组运行
于.NET Framework的语言特性)的程序语言所开发的程序,可以在任何有CLR的操作系统下执行。
.NET Framework提供了一个包含许多高度可重用的接口、类型的类库。该类库是一个完全面向对象的类库,所以它不仅支持面向过程语言,还为面向对象语言提供了完美的支持。它既是.NET应用软件开发的基础类库,也是.NET平台本身的实现基础。当然该类库不是.NET程序员可以使用的唯一一个类库,他们可以使用第三方厂商提供的类库。
.NET SDK本身提供了C#、Managed Extensions for C++、VB.NET、JavaScript的编译器。因此.NET Framework默认支持的语言是C#、C++、VB.NET、JavaScript。但.NET Framework具有了支持几乎所有语言互操作的特性,只要为该语言实现了可以将源代码编译成MSIL代码的编译器,都可以用于.NET平台的开发。
Visual Studio.NET是快速开发企业级Web应用程序和高性能桌面应用程序的工具。Visual Studio.NET包括了基于组件的开发工具,例如Visual C++以及许多其它用来简化、开发和解决方案部署的技术。Visual Studio.NET支持.NET Framework、ASP.NET。
.NET Framework支持Windows中所有的应用程序,它是Microsoft的下一代Web服务NGWS (Next Generation Web Service Framework)的主要部分,在.NET Framework发布之前,程序是以Win32API及COM对象为接口,ASP网页则以asp.dll所提供的对象为接口,但在.NET Framework发布之后,不管是程序或是ASP网页都是以它所提供的对象类别库为接口。
Web Services
在VB6时代,微软发布了RDS(Remote Data Service),确定可以让我们存取互联网上另一Server的数据库,但它仍有两个缺点:<1>一般使用者不易上手;<2>无法跨越平台,不管Server端或Client端,都必须
使用Windows操作系统。
简单地说,Web Services就是Server端跨越互联网所提供给Client的服务,或者说Client跨越互联网要求Server所提供的服务。微软.NET战略中最重要的组成部分就是对Web Service的支持和实现。Web Service技术是一种基于标准的Web协议的可编程组件(a programmable application component accessible via standard web protocols)。Web Service相当于Web上的组件,Web服务提供者开放一系列API,开发人员通过调用这些API来集成Web服务,构建自己的应用程序。这种调用和以前的本地调用很接近,不同在于调用的服务存在于某个远程系统上;也和以前的对象调用很接近,不同在于这些调用是基于消息机制和标准的Web协议之上的,因此它们具有相当大的可扩展性。
Web Services提供Internet应用程序之间一种紧密的整合方式。Microsoft.NET Framework的目标是要让Web应用程序与Web服务的建立过程更为简单,使得Internet上的各应用程序之间可以使用Web Service进行沟通。Web Service选择使用SOAP(Simple Object Access Protocol)协议交换信息,并采用XML作为信息交换的格式。因此,我们不用担心不同公司拥有不同的专属格式问题。
2. ASP.NET技术 (1)ASP.NET的新特性
ASP.NET是微软.NET技术中最引人注目的网站开发工具,它的推出和使用将对开发优质网站提供广泛的技术支持。它是一个建立服务器端Web应用程序的框架。ASP.NET是ASP的后继版本,它向前兼容ASP,但它又不仅仅是ASP的简单升级。 ASP.NET和ASP相比具有许多优势。
? 语言独立性,它支持功能强大的Visual Basic.NET、C#, JavaScript仍可用,凡是可以编译成MISL(Microsoft Intermediate
Language,是介于程序语言和机器码之间的一种语言,具有和程序语言无关的特性)的程序语言ASP.NET都支持,ASP.NET为Web应用程序提供了一个真正的中间语言的执行框架。ASP缺省只支持JScript和VBScript,若要使用其他脚本语言,必须安装相应的脚本引擎。
? 代码更易于编写、结构更清晰,程序代码与用户界面接口彻底分开,使程序的可读性更强。在ASP中,几乎必须为每件事情写代码,而且将代码、HTML、文本、对象说明等混在一起,很难重复使用这些代码。而在ASP.NET中引入了一种真正的组件模式,只需写很少的代码,并且在很多情况下,可以完全不写任何代码。
? 执行效率更高。ASP.NET是由支持它的服务器上的.NET Framework负责编译执行,当服务器接收到一个ASP.NET页面时,如果这是对该页面创建或修改后的第一次请求,.NET Framework就会把该页面中的程序语言内容先编译成MSIL,ASP.NET的执行代码以独立线程的方式一直存在于服务器内存中。以后对ASP.NET页面提出请求时,不需要重新编译,直到该页面被修改或Web应用程序重启动(见图1.3)。而ASP是解释性脚本语言,每次都需要重新编译。
图1.3 ASP.NET网页运行模式
整体比较如下:ASP.NET网页第二次被浏览速度>ASP网页浏览速度>ASP.NET网页第一次被浏览速度。
? 网页服务结构不同,ASP.NET与ASP的系统内部运行模式有很大差异(见图2-5)。ASP是通过一个ASP.DLL动态连接文件来支持ASP运行的,而ASP.NET的运行则完全依赖.NET Framework所提供的新架构以及多达数百种好用的类与对象。但可以考虑将原来的ASP做适度的修改,以便让它们能在.NET Framework的环境中运行。