电脑技术学习

介绍 Active Server Page +

dn001

尽管ASP3.0的墨记还没有干,微软便忙着他们的下一个服务器核心编程技术。在被邀请的所写的三篇文章中,我们将介绍这个新产品,让我们看看它倒底是什么。现在这个新技术的名字是ASP+ Next Generation Web Services (八成微软会改这个名字,微软就喜欢这样,我们先叫着吧),我们将看到我们为什么需要这个新ASP技术,并且探索一下在这个设计和实施概念后的一些东东。这几篇文章主要是写给那些还在用ASP开发的人,如果你准备移植到ASP+中来,我们先举例看看一些核心文章。

ASP+设计时是与先前ASP是兼容的,开发环境只需要一点点小的改变。但是,你能够安装在一个存在的windows 2000(包含 ASP 3.0)安装ASP+。这就允许你调试程序时不需要一个测试用的服务器。在这个上面,你照样能够使用ASP,当你认为适当时再移植到ASP+中来,这样你的ASP投资就不会被浪费。

但是只是简单地将你的ASP应用程序转为ASP+,不会给你带来多少好处。ASP+拥有很多新的属性,这些属性将会使你的程序更简单,更强大,更有效率(你们后面就会看到,很像JSP),但是为了利用这些优点,你得了解很多ASP+工作的方式。

在专业开发会议2000中,微软已经发布了一个预览版本的AS“+,让大家知道它能做什么,并且让我们感觉这个令人兴奋的新的能让我们开发动态WEB应用时使用更少的代码的可能。

Active Server Pages 的发展
尽管ASP很有前途,但是其不过才3岁而已,它诞生在1996年末,但是其巨大的发展速度使其成为了Windows平台上主要的WEB服务器开发技术(使用一些软件也能在其它的平台下使用,如ChiliASP).但是它并不是无处不在的。

动态WEB服务开发程序
传统地,动态网页是使用服务器端程序开发的。一个标准的WEB服务器接口规范叫做Common Gateway Interface(CGI),它允一个执行程序访问所有客户的请求信息。这个程序能产生输出生成一个页面(HTML,脚本代码,文本等)以回应用户的请求,并把它发送回客户。

为了让程序员的日子好过,同时也节约生成的程序,Perl此类语言便使用能够接收文本脚本的文件的应用。程序员只需简单地写下脚本,服务器使用Perl解释器执行它。

微软 ISAPI 技术
微软公司在他们的服务器Internet Information Server(IIS)中使用了一种新的技术,名叫Internet Server Application Programming Interfac(ISAPI),和CGI不同的是它允许已经编译过的动态链接库(DLL)在WEB服务器上直接执行。和CGI一样,它也能处理用户信息。

大多数微软WEB技术的进步都是以ISAPI接口为基础的。一个早期的但是短命的产品是dbWeb,一种数据库访问技术,提供一定范围的搜索。

稍后的一种技术叫做Internet Database Connector(IDC).它对开发者来说是一个巨大的转变,不仅因为它速度快,效率高(比dbWeb不知道好到哪儿去了),而且它更简单,更大众化。IDC提出了模块(templates)概念.允许程序员使用其属性快度地开变一个存在的HTML,从而以最快的速度建立一个新的应用程序。

IDC为每个"页面"配上了个文本文件。第一个文件只是简单地定义一些方法说明我们将要联接的数据库服务器。说白了就是一个SQL语句再加上一配制信息。

{this is the query file named getuserlist.idc}
Datasource: GlobalExampleData
Username: examples
Password: secret
Template: getuserlist.htx
SQLStatement:
+;select;DISTINCT UserName
+ FROM Person ORDER BY UserName;

服务器执行上面的文件来获取recordset结果,然后调用下面的模块文件:

{this is an extract from the template file named getuserlist.htx}
...
User name:;
...

这个模块只不过是一个普通的WEB页面,包含HTML,文本和其它的对象,但是有一些统一的占位符在里面。它有些像ASP,哈哈ASP就是这里发展过来的。

ASP出现
接着就是到了1996年,Denali(ASP的代码名)发布了,它的第一个版本是0.9测试版。它给WEB开发带来一阵暴风,它能够将代码直接嵌入HTML,使得设计WEB页面变得更简单,更强大,并且通过内置的组件能够实现强大功能,最明显的就是ActiveX Data Objects (ADO),它使得建立一个动态页面如小孩子玩游戏一样简单。

最终出场的是Active Server Page 1.0,它做为IIS的附属产品免费发送。并且不久就在Windows平台上广泛使用。ASP与ADO的结合使用开发者很容易地在一个数据库中建立和打开一个记录集。这不无疑是它如此快就被大众接受的因素,因为你现在能使用这些脚本建立和打开一个记录集,处理和输出任何数据,以任何顺序,几乎只要你能想到的,它就能完成。

1998年,微软公司又发布了ASP 2.0 。ASP 1.0和ASP 2.0主要区别外部的组件需要实例化。有了ASP 2.0 和IIS 4.0,我们就有可能建立ASP应用了,而且每个组件就有了自已单独的内存空间。内置的Microsoft Transaction Server(MTS)也使用制做组件便得简单。

Windows 2000, COM+ 以及 ASP 3.0
今年初,Windows 2000也来了。 这个Windows版本给我们带上了IIS 5.0 以及 ASP 3.0。此次并不是简单对ASP进行补充,核心的不同实际上是把很多的事情交给了COM来做。在windows 2000中,微软结合了MTS与COM核心环境做出了COM+,这就让主机有了一种新的方法来使用组件,同样给主机带来了更多的稳定性,成了一个可以升级的效率高的工作平台。

IIS; 5.0在表面上似乎没有改什么,但是在接口上动的手术比较大。在内部,它使用COM+ 组件服务来对组件提供一个更好的执行的环境。

ASP+ 和 the Next Generation Web Services Framework
ASP+中上面所说的一切得到继承。ASP+的内部结构与以前的版本有很大的不同,虽然我们在表面上看不出什么(至少对开发者来说),它的确看起来使用了非常相似的接口。ASP+几乎完全做到了"以组件为基础",模块化。每个页面,对象以及HTML元素都是一个运行组件对象.

正是因为这样完成有效率,同时提供了升级的方法,管理这些对象是一个必须的重要任务。这个新的运行环境实现了管理自动化(嘿嘿,飞刀学管理的,这个听起来很顺耳),让ASP+"面向对象"更自然。这就使得开发者能够通过访问这些组件建立一个强大的应用程序,就像搭房子一样。

如上,ASP+的面象对象为整个环境提供了可延展性。开发者能够能过新建一个新的组件或继承一个基础类来添加以及延展环境。而在这一切表面的下面,COM运行时就在自动管理这些组件的安装,控制,以及定位。

Next Generation Web Services Framework
因此,COM+提供了一个操作系统服务的构架。但这还不是全部,ASP+实际上是一个崭新的运行结构的一部分,这个结构提供对所有windows应用程序的支持。这个结构是Microsoft's Next Generation Web Services ( NGWS)关建部分。当你安装了这个结构,你就获得了ASP+。这个结构同样支持所有其它服务器程序技术。

NGWS 结构通过对可升级分布式应用添加 [新的和增强的服务] 来扩展COM的结构,此种结构常用做编写可重复调用的可共同使用的软件组件,这些新的和增强的服务有:

一套统一的丰富的程序库
一个支持多语言的运行引擎
简单地应用建立,调试,以及维护
对分布式应用加强了可升级性
保护现已存在的软件和投资
我们下面来看看,它是怎样工作的。

什么是NGWS Framework?
ASP的综合性能明显的要好于以前的版本。到目前为至,ASP是通过一个名叫asp.dll 的ISAPI DLL来执行的,另外还加上一些系统文件和ASP用户组件。

这个新的NGWS结构反映了行业信息技术观点对于建立,调试以及维护各种WEB服务的需要的转变,这些服务包括简单的客户应用到复杂的分布式结构。上面所有的概念和策略只是 Windows Distributed Internet Applications (DIA)部分结构.

在这里我们最重要需要认识的问题是这里所说的结构(framework)不是我们所说ASP+。它只是做为windows系统中所有应用的基础。下面的图表给我们演示了framework是如何支持ASP+应用的。

标签: