欢迎来到天天文库
浏览记录
ID:41518115
大小:599.56 KB
页数:29页
时间:2019-08-26
《ASP与SQL网站数据库程序设计Chap12》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ASP与ActiveXDLL12-1什么杲MTS12-2如何创建ASP组件12-3将组件加入MTS中12-4调用MTS内的ASP组件12-1什么是MTS12-1-1MTS概述MTS是一种以MicrosoftCOM(对象模型组件)技术为基础,并且以服务器为屮心的三层应用系统开发技术。对于MTS应用系统而言,在服务器上执行的逻辑组件,其运行是客户端的MicrosoftDCOM技术实体屮心所引起的,并且服务器上运行的逻辑组件完全处于MTS控制下执行。对于这种多层次结构的应用系统而言,其客户端的坏境可以是各种不同类型的应用程序开
2、发系统,只要这些系统支持Microsoft的COM以及DCOM技术,即可利用MTS的特性开发多层的应用系统;这些应用系统如在MicrosoftIIS(InternetInformationServer)上执行的ASP(ActiveServerPages)脚本语言等,皆可应用MTS特性开发多层的应用系统,如图12-1所示是MTS应用结构图。I应用逻辑层
3、!1」IIIS/ASPDCOM更新分析查询WindowsNTServer图12-1MTS应用结构图对于MTS的多层结构模型通常运用于多种不同的数据库存取方面,这些数据库如:
4、MSSQL,ORACLE等。那么多层应用系统与MTS到底是什么样的关系,为什么要用MTS才能建立起多层的应用系统呢?MTS与多层应用系统之间的关系,请参考图12-2。图12-2标准三层结构模型如图12-2所示,在客户端对数据库进行数据的存取前,必须通过MTS应用组件的协助,才能进行后台数据库的存収。以此方式设计的程序,系统都不会直接接触到后台的数据库系统,因此使用MTS的一项优点就是可以保护后台数据库不被任意地存取,这种方式对于重要的数据库系统可以得到最大的保护。在上图中的中间部分是被称为中间层服务器的应用组件。此应用组
5、件可以由程序员使用各种不同的开发工具进行开发,但是这些开发工具必须能够把程序编译生成动态链接库,并且支持COM组件的开发。而为了使这些组件可以在MTS环境下有效地运行时,程序员必须遵守以下几个准则:•通过一个简单的API调用,创建一个対MTSContextObject的引用。•由于这些调用程序结束时,MTS无法重复地使用它们的资源,因此在MTS组件的处理过程中,不要存储有关状态信息(例如:局部变量或是全局变量等)。如果必须存储这些状态,可以将这些状态存放在数据库中或是MTS的共亨属性管理(SharedPropertyMa
6、nager)中,并得以随时调用并取得这些状态信息。•当组件成功地完成处理后,必须调用MTSContextObject内的“SetComplete”方法。此方法可以通知MTS组件已经完成工作并停止服务。•如果组件无法执行成功,必须使用“SetAbort”方法通知MTS放弃继续执行此组件的服务程序。当设计出来的应用组件都能按照这些准则运行,将对MTS的管理及运行有非常大的益处。关于如何将这些MTS应用组件转成DLL组件,并加到MTS的环境中,笔者将在稍后的章节中做详细的叙述。特别说明事实上,多层应用系统不仅只是包含图12・2
7、所示的三层结构应用系统模型。凡客户端与应用组件在不同设备上执行,并利用网络连接取得相关信息者,皆称为层。通常层数在两层以上者,称之为多层应用系统。但在现今多数应用环境中,以三层构建的应用系统模型最为常见,因而笔者特以此层为范例说明。12-1-2何时该使用MTS呢对于以MicrosoftCOM为基础的应用组件而言,在设计与开发多层应用系统过程中,MTS确实有很大优势。对于MTS如何在应用方面增加其附加值的部分,最好的方法是了解一下“何时使用MTS”的有关说明。1.有关Web-Based的应用在许多应用中,利用Web做为商业
8、间的数据传输方式,使用浏览器就可以非常简单地连接至服务器,并提供客户端强大的功能以及动态数据的展示。利和现今网络互连的便捷性,用户可以使用浏览器连接至世界上任一角落的服务器,执行数据的存取。近来值得注意的是在网页上具有用户输入功能以及动态数据展示的功能,己经成为所冇Web应用系统的一部分。而通常这些Web应用系统都是以HTML为基础,并且在这些网页上具有要求输入然后进行数据库操作等功能。因此如何处理这些由用户输入的数据,并且数据库响应相应的要求是很重要的。向数据库索取用户要求的数据,是通过中间服务器及组件完成这些动作的,
9、用户无须直接对数据库进行任何操作。使用以MTS为基础的多层结构应用系统模型是非常适合这种要求的,在Web上使用这种应用模型有下列优点:•多数的Web服务器仅提供部分或完全不提供任何多层结构的应用,这些Web服务器通常可以提供脚本语法上的应用。•大多数的Web脚本虽然其本身并不提供数据库的存収服务,但它们通常可以提供与
此文档下载收益归作者所有