admin 管理员组

文章数量: 1086019


2024年3月20日发(作者:汇编语言实现大小写转换)

维普资讯

2009_年9月 

湖南师范大学自然科学学报 

Jota-Nat Scie Hunan Norm Uni 

Vo1.25 N【ll3 

第25卷第3期 

Sep..2002_ 

基于Delphi 5核心技术的分布式 

Web网站实现技术 

王绍恒 ,王志刚 

(1.重庆三峡学院计算机科学系,中国重庆404000;2.湖南师范大学理学院计算机系,中国长沙410081) 

摘要:比较了几种主要的 eb了T发技术,介绍一种基于Delplif 5核心技术支持的分布式Web网站的开发方 

法,并给出了运用Delplif 5的Web核心技术开发税法查询Web系统的一些细节. 

关键词:分布式Web;XML;IntemetExpress 

中图分类号:O171.7 文献标识码:A 文章编号:1000-2537(2002-)03—002-8—04 

The Methods of Developing Distributed Web based on the Technologies of Delphi 5 

WANG Shao-heng‘

WANG Zhig-ang 

(1.Depamnent of Computer Science,Chongqing Tlu-ee Gorges College,Chongqing 4O40O0,Clifna; 

2.Department of Computer,ciSence College,Hunan Normal University,Changsha 410081,Clifna) 

Abstract:There are Several technologies of developing distributed Web,they will introduce new problems.Delphi 5 

provides some new technologies for developing Web systems.By using them,we can developed a high quality Web SOla, el‘ 

and presented the methods of developing Web system with Delphi 5. 

Key words:distributed Web;XML;IntemetExpress 

1现有的Web实现技术 

目前在Windows平台中用来开发Web和Intemet/Intranet应用程序的技术大致上是以ASP、VBSc ̄・ipt、 

Java ̄ript和HTML/DHTML为主;使用这些技术来开发分布式Web网站应用程序有许多的问题,首先是必须 

混合使用数种不同的技术.在客户端浏览器中必须使用HTML和VBScript/JavaScfipt脚本语言来处理用户在 

浏览器中的动作,在Web服务器中则必须使用VB或者VC++建立ASP对象来处理浏览器的要求,此外ASP 

对象还必须使用COM技术建立ADO对象来存取数据.但是一般来说为了效率的因素,通常必须在Web服务 

器中使用VC++来开发ASP对象.由于必须混合使用数种技术,因此效率不高,此外以这种实现技术取得的 

数据是静态的数据,如果需要开发能够更新数据的Web应用程序,还必须编写大量的ASP程序代码来更新 

和处理数据. . 

为了避免在开发分布式web网站时应用程序使用VC++,还必须使用大量的VBScript脚本语言.这样虽 

然可以降低应用程序的复杂度,但是VBScript是没有效率的脚本语言,使用它编写一些简单的应用程序还可 

以,但若用它开发实际的分布式Web网站应用系统,则应用程序执行效率很低. 

2 Delphi 5提供的新技术 

Delphi 5在Intemet/Inhnnet、web和电子商务部分提供了非常强劲的支持,它除了可以开发Web应用系统 

收稿日期:2002—01—08 

基金项目:湖南省青年骨干教师基金和重庆三峡学院重点科研基金资助项目 

作者介绍:王绍恒(1961一),男,重庆人,副教授,主要从事计算机应用教学与研究 

维普资讯

第3期 王绍恒等:基于Delplif 5核心技术的分布式Web网站实现技术 

之外,还加入了XML协议.此外Delpl1i 5允许只使用Delphi便能够开发ASP对象、Web应用程序、MTS刘 象以 

及使用ADOExpress组件存取数据库之中的数据.只需要使用Delphi便能够完成大部分的工作,而不需要同 

时使用数种不同的语言和技术开发Web应用系统.因为Delphi 5使用了HTML 4.0,XML以及内嵌的J叭’aS— 

cript脚本语言技术,从web应用程序、ASP对象到存取数据的ADO对象都可以使用Delphi 5完成,而且不论 

是IE或是Netscape都可以正确地执行. 

2.1 InternetExpress技术 

IntemetExpl'ess组件是Delphi 5为支持Intemet/Intranet解决方案而提供的一个超前开发工具.IntemctEx— 

Dl"ess只包含了 rXMLBmker和TMIDASPagePlxxtucer这两个组件,其中TxMLBmker组件可以从分布式Web网 

站应用程序服务器或是MTS对象取得数据,j{ 将MIDAS封装的数据转换为XML格式.由于使用了XML格 

式,因此这些数据库中的数据便可以和其它来源的数据(例如word,Excel或Oudook的数据)集成在一起. 

TMIDASPagePIxxtUCel"从 rXMLBmker组件取得以XML封装的数据,再集成HTML/XML,或是用户使用其它 

HTML编辑器设计的样版ITI ̄L主页,以及内嵌的JavaSeript脚本语言,进而汇整成一个有效的主页内容,最 

后再传送给Web网站服务器,由Web网站服务器把结果主页内容送回客户端浏览器中.另外,TMID— 

ASPagePlxxtuce・・组件还提供了一个可视化组件编辑器,可以像FrontPage一样用可视化的方式设计主页内容. 

由于IntemetExpress组件只是把数据库中的数据以可视化的方法设计,再封装成HTML/XML的格式传递 

给客户端浏览器中,它并不包含用户在客户端浏览器中和Web服务器之间通信的功能.但是分布式Web查 

询系统中,用户一定会在客户端浏览器中执行一些动作,例如点击一个按钮查询数据等. 

这些通信需要一种技术能够在Web网站应用程序中编写提供用户要求的服务程序码.在Delphi中除了 

可以使用ASP之外,也可以使用WebBroker技术处理这个问题,ASP只能使用在Micmsoft的IIS Web服务器 

中,Delphi的WebBroker技术却可以同时使用在IIS,Netscape服务器或者CGI服务器之中,而且Delphi 5还可 

以使用可视化的方式来开发ASP对象. 

IntemetExpress技术不是单独存在的,一个完整的分布式Web应用系统,需要同时使用IntemetExpress技 

术以及WebBmker技术.通过IntemetExpress技术来封装XML的数据再通过WebBroker和客户端用户通信,查 

询用户提出的要求并且满足客户端的需要.结合MIDAS应用程序服务器或MTS便可以提供一个大型、具得 

高度扩展性的分布式Web网站.WebBroker是在第一线和用户通信的技术,通过WebBmkel・客户端用户提出 

什么要求,以及客户端用户需要查询什么数据,或者更新了什么数据.WebBroker允许使用事件处理函数来处 

理』兀户在客户端浏览器中提出的服务(见图1所示). 

2.2 XML和分布式Web应用系统 

XML(Extensible Markup L加gua )似乎是继HT— 

ML之后又一个封装数据的标准.由于XML几乎能 

够封装任何种类的数据,又逐渐成为交换数据的业 

界标准,因此分布式Web网站应使用XML来封装 

以及交换数据. 

使用XML来封装数据不但可以在数据中封装 

数据代表的意义,也可以和其它的XML数据来源 

交换数据.由IntemetExpress设计的浏览器可视化 

图形用户界面以及在Web服务器和浏览器之间交 

IE/Netscape 

换的数据都是以XML格式来封装的.因此由Delphi 

图l WebBroker及IntemetExpress应.}千l示 

开发的分布式Web网站可以轻易地和其它的开发工具或者应用程序交换数据.XML除了可以封装数据之 

外,Micmsoft以及一些其它的厂商已经在提议使用XML来开发Intemet/Intranet或者Web应用系统.许多的数 

据库厂商声明支持XML,因此现在XML已经在Intemet/Intranet、Web、数据库和中间件中占有了显著且重要的 

地位. 

2.3中间件和分布式web应用系统 

用MqS构造的分布式Web网站应用系统是让Web服务器服务m 要求,让MTS对象负责执行逻辑程 

序码,因此可以适当的分散分布式Web网站应用系统的工作负荷.又由于MTS提供了数据库连结Pooling,线 

维普资讯

30 湖南师范大学自然科学学报 第25卷 

程Pooling,甚至在COM+中提供了对象Pooling,因此可以有效的减少分布式web网站应用程序的执行效率. 

更何况MTS/COM+能够提供负载平衡的功能,因此可以让使用这种结构的分布式web网站应用系统具有更 

好的扩展性. 

通常可以搭配ASP或是ISAPI/NSAPI的分布式Web网站应用程序和MTS一起开发多层的分布式Web 

网站应用系统.在这种结构中,仍然应该只编写简单的ASP应用程序,这些ASP应用程序只是调用MTS对象 

来执行企业逻辑程序码.因此这些ASP应用程序都非常的简洁,所以ASP脚本语言应用程序也不会成为这 

种Web结构的执行瓶颈. 

3分布式税法查询WEB系统简介 

远程数据查询是计算机网络技术十分普及的一种应用.同时计算机网络技术与多媒体技术相结合,让用 

户在一个轻松的环境下进行工作.分布式税法查询WEB系统为用户提供通过Intemet查询国家与地方税法 

税规条文,主要功能包括标题查询、关键词查询、单项查询功能(如分别查询文件名、文号、文件发放时问、关 

键词、文中含有关键字)、组合查询功能(对文件名、文号、文件发放时间、关键词、文中含有关键字几个条件 

中满足两或两个以上或全部条件时进行查询)、模糊查询功能(对文件名、文号、文件发放时间、关键词、文中 

含有关键字中所含任意条件进行查询). 

分布式税法查询WEB系统包括两个主要部分:一是远程数据服务器,该数据服务器的功能主要是根据 

EB应用程序的要求从数据库中读取适当的数据,并传送给WWEB应用程序;二是WEB应用程序,WEB应 

用程序根据用户端浏览器的要求激活相应的action处理程序执行,生成H'I ̄L文件格式后再通过WEB服务 

器发送到用户端浏览器,浏览器解释HTML后在用户终端上显示出相应的页面.鉴于篇幅有限,这里只给出 

将税法条文标题数据集转换为超级链接HTML文件的action程序段TWebModule1.abc和用户点击某一标题 

后查找全文并回送到用户的action程序段TWebModule1.readfile. 

3.1程序段rI'、^ odule1.abc 

procedure TWebModule1.abe(Sender:TObject;Request:TWebRequest; 

Response:TWebResponse;val"Handld:Booleean); 

function makesuperlink:stirng; //生成标题超级链接的子函数 

begin 

result:=’(A HREF=/shuifa2.dll/税法?wish=’+ 

quelyI.FieldByName(’sh’).AsString+’)’+ 

quelyI.FieldByName(’wj’).AsString+’(/A)’; 

end; 

val‘strl:string; 

egbin 

strl:= : 

try 

queryI.active ̄=true; 

while not query1.Eof do 

egibn 

strl:=strl+’(P)’+makesuperlink+’</P)’;//制作标题主页 

queiy1.Next; 

end; 

inal1f)r 

query1.active::false; 

end; 

response.content:=strl; //将标题主页赋值给response,准备回送 

维普资讯

第3期 

handled:=true: 

王绍恒等:基于Delphi 5核心技术的分布式Web网站实现技术 3 

end; 

3.2程序段TWebModule1.readt'lfe 

procedure TWebModuleI.readfile(Sender:TObject;Request:TWebRequest; 

Response:TWebResponse;var Handled:Boolean); 

val‘shI:stl‘ing; 

begin 

shI:=request.queryfields.values[’wjsh’];//从request读取用户指定的文件序号 

t1 

quer) 1.active: true; 

while(not query1.Eof)and(queryI.FieldByName(’sh’).As,Stirng()sh1)do 

uerqyI.Next; 

ifnally 

//查找全文 

//找到后生成HTML段 if not queryI.Eof then 

response.content:=’(P)’+query1.FieldByName(’wjnr’).As,Stirng+’(/P)’else 

response.content:=’(P)文件没找到!(/P)’; 

quel3,1.active:=false; 

end; 

handled:=true; 

end; 

说明:queryI是通过可视化设计方法连到税法条文库的query控件. 

4小结 

运用Delphi 5开发Web的一部分工作可以在可视化环境下进行,本文不予描述的原因是需要的图片太 

多,占篇幅太大,故省去.选择适当的分布式Web开发工具是成功的第一步,从以上的例子来看运用Delphi 

5提供的技术对于提高工作效率是有很大帮助的,特别适合开发以动态数据库访问为主的分布式WEB网 

站. 

参考文献: 

[1]李维.Delplif 5.x分布式多层应用系统篇[M].北京:机械工业出版社,2000. 

[2]徐新华.Delphi 5高级编程.COM,CORBA和Intemet编程[M].北京:人民邮电出版社,2000. 

[3]王志刚.基于MIDAS分布式多层系统的容错技术[J].湖南师范大学自然科学学报,2001,24(2):15.17 


本文标签: 数据 分布式 查询 技术