ASP是基于Windows NT 4.0、Windows 9X的动态站点设计技术,我们可以通过它来创建动态的、交互的、高性能的Web应用程序。
与传统的动态技术相比,ASP具有可直接和HTML集成、易于创建、无需手工编译、面向对象和易于通过Active Server Component来进行功能扩展等特点,因而在企业级Internet/Intranet应用中具有美好前景。但针对不同的商务逻辑,我们需通过自制功能组件、改善软件体系结构等途径来提升ASP页面的商务计算能力。具体做法如下:
■在ASP页面中使用自制的功能组件对象
作为IIS的一个组成部分,ASP提供了一个无需编译的集成开发环境,开发人员可以把HTML、VBScript或Jscript、ASP脚本和ActiveX组件等结合在一起,从而建立一个动态的、功能强大的Web应用系统。ASP脚本相当于粘合剂,把一个个具有特定功能的组件粘合在一起,以形成最终的软件产品。虽然ASP提供了很多内置的对象和组件,但对于复杂的商务应用,必须根据商务要求自行研制开发具有某些特色的组件对象,以完成特殊的任务。我们可以使用Visual C++、Visual Basic、Delphi和Java等语言开发下列两种类型的组件对象:
1.由类打包而成的.dll文件,称为ActiveX DLL。经注册器注册后,在ASP脚本中可通过“Set 对象名=类名”来引用。对象在这种使用过程中是在服务器的后台运行的,其运行的结果通过系统自动生成的HTML作用到前端浏览器。这一类组件用来处理商务逻辑计算,通常也称为事务逻辑单元。
2.生成.ocx文件,一般作为可视化的对象,称为ActiveX Control。通常组件制作完成并按下载的要求打包后,会生成.cab文件,我们可直接将其嵌入.ASP主页中。在页面中插入时需使用HTML语言的标记加以引用。对象在这种使用方式下要先从服务器下载,然后在客户端的浏览器运行。在第一次下载时被展开成相关的.dll和.ocx文件进行本地安装注册。以后再使用时,就可直接从本地获得,不必每次重复下载。这一类组件常用来在前端的浏览器完成信息的表现和展示任务。
■使用MTS构建实用的三层体系结构
在“浏览器客户/Web应用服务器/数据库服务器”结构体系中,IIS只提供了对页面的多线程支持,而不负责对组件本身的管理。多个用户同时访问嵌入了ActiveX DLL组件的ASP网页时,势必造成服务器端网络的拥塞,从而带来系统性能的下降。为了有效支持多用户对组件的访问,微软推出了MTS(Microsoft Transaction Server)事务服务器。MTS是一个功能强大的开发环境,为开发和配置分布式、基于组件的应用程序提供了一个应用程序编程模型和一个程序运行的基础环境,能方便地用于开发和配置高性能、可测的和可靠的Internet和Intranet企业级应用程序。它提供了数据连接缓冲、线程管理和事务管理等多项服务,很好地解决了多客户端利用组件频繁访问后台数据库等一系列问题。IIS担负页面的服务和管理工作,MTS则负责页面中嵌入组件的服务和管理工作,两者结合在一起组成中间层的应用服务器,从而构建实用的三层体系结构。
安装MTS所需的软件环境为Microsoft Windows NT 4.0或更高版本,或安装了具有DCOM支持的Windows 9X(Windows 9X的DCOM支持是由IE4.0安装的)。若在Windows NT环境下,首先必须安装Windows NT Service Pack 3或更高版本,然后使用Windows NT 4.0 Option Pack来安装MTS。如果希望组件能访问数据库,则需使用Microsoft SQL Server 6.5或更高版本。若计划创建Internet应用程序,服务器端应使用IIS4.0或者更高版本,客户端采用IE4.0或更高版本。
MTS拥有直观友好的界面,操作起来十分简单。向MTS添加组件的一般步骤如下:
1.用支持开发ActiveX的工具语言创建ActiveX DLL;
2. 对所开发的ActiveX组件进行注册;
3.进入Transaction Server Explorer,利用“安装软件包”选项创建空的软件包;
4.打开空软件包的组件组,向其中加入已注册好的ActiveX DLL;
5.在ASP页面中使用该ActiveX DLL;
6.调整注册器的服务参数以适应实际应用的需要。
此后,当该组件再被调用时,MTS会自动接管来自客户端的请求,并提供统一的服务。