2024年6月21日发(作者:)
图书馆学刊 2011年第6期
TUSHUCUANXUEKAN N0.6,2Ol l
基于ASP和Ajax硇音像管理系统设计与实坝
黄悦深
(五邑大学图书馆,广东江门529020)
【摘要】为促进馆藏音像资料的管理和利用,提出了应用ASP构建音像管理系统的思路,分析了系统架构、业务流
程、框架式用户界面、音像管理模块、基于Ajax的音像查询模块的实现方法。最后探讨了本系统与OPAC的集成应用。
【关键词】ASP Ajax音像资料管理 系统
【分类号1G250.71
图书馆应用信息技术,根据馆藏情况自建数据库,为用 库采用微软Access 2003。服务器和数据库之间的连接采用
户提供信息服务正是潮流所趋。为了提高本馆音像资料的管
ADO(ActiveX Data Objects)组件。ADO是微软公司的一个用
理效率,让用户随时了解馆藏音像情况,笔者设计了一个音
于存取数据源的COM组件,它提供了编程语言和统一数据访
像管理系统。该系统以ASP为搭建平台,构建了音像信息编辑
问方式的一个中间层,允许开发人员编写访问数据的代码而
器,实现了在线动态发布和音像信息维护,并建立了基于A5ax 不用关心数据库是如何实现的 。ASP、ADO、Access三方协同
的音像查询功能。
运作,共同构建起音像管理系统的后台运作体系。ASP负责接
1 ASP ̄OAiax应用简介
收客户端请求,处理逻辑代码,发起ADO调用,返回结果页
面,它是整个业务流程的调度中心。ADO是连接服务器和数
ASP全称Active Sewer Page,是微软公司开发的基于
据库的接口,它负责连接数据库以及执行SQL操作。Access是
Windows NT Se ̄er和IIS的服务器端脚本编写环境。它具有
数据存储中心。系统的完整架构和运作过程如图l所示。
无须编译,直接执行;易于编写;与数据库连接简便;源代码
保密等优点[11。ASP提供了6组内置对象,应用于常见的Web事
①查询请
创建并调 SQL查询
务处理,包括收集浏览器请求信息、响应浏览器以及存储用
调查墅墨
户信息等。ASP支持VBScript和JavaScript脚本语言编写。在实
Window server+lIs}._——— 组件卜.—— Access
数据序
际开发中,开发者使用脚本语言结合调用ASP内置对象,编写
果页面
具体的逻辑处理过程。ASP简单易用,特别适用于中、小型的
B/S系统开发,这是本系统选用ASP作为开发环境的原因。
图1音像管理系统架构及业务流程
Ajax是Asynchronous JavaScirpt and XML的缩写。它不是
2.2系统内部模块
一
种新技术或者新语言,而是一种用于创建更好更快以及交
系统遵循模块化设计思想,以功能块为单位进行程序编
互性更强的Web应用程序的技术,它在浏览器与Web服务器
写,目的是降低程序复杂度,使程序设计、调试和维护等操作
之间使用异步数据传输(HrITrP请求),使网页从服务器请求
简单化。根据功能划分,本系统共有4个子模块,包括用户界
少量的信息,而不是整个页面。Ajax最为人熟悉的应用是
面、管理员登录模块、音像管理模块以及音像查找模块。每个
Google搜索建议、Google ̄图等。Ajax主要包含以下技术:①
子模块下再划分出具体的功能模块,每个功能模块对应实现
一
XHTML+CSS,实现网页界面设计;②DOM(Docuinent oNect
个业务处理流程。图2描述了系统的模块组成。
Model,文档对象模型),实现与各种网页元素的动态交互;③
使用XML和XSLT进行数据交换;④使用xMLHttpRequest对象
执行异步数据查询、检索;⑤使J ̄JJavaScript结合调用上述各
类对象,完成整个逻辑事务处理过程 。
2系统架构及模块构成
考虑到系统开发和用户使用的简便性,系统采用B/S架构模
式,系统内部则按照业务处理流程进行模块化功能设计。
2.1 系统架构
图2系统模块构成
系统采用数据库、服务器、浏览器3层结构模式。服务器
端选用Windows2000 Server+IIS5.0作为ASP的运行环境。数据
图书馆学刊 2011年第6期
’
TUSHUGUANXUEKAN No.6,2o1 l
3功能实现
3.1数据库结构
后台系统安全的门户。为了防止非管理员用户恶意破解系
统,登录模块采用了一系列安全验证措施,包括限定IP段登
录、输入登录验证码、防SQL注入检验、防未登录用户访问后
台页面。
数据库包含Admin、Disc、Bigclass、Smallclass4个表。Ad—
min表记录了管理员的登录账户和密码。Disc表记录了音像的
信息。Bigclass和smallclass两个表分别记录了音像的大类和
程序代码如下:
UserName=Trim(Session(“UserName”))
UserPwd=Trim(Session(“UserPwd”))
小类的划分情况。表1列出了Disc表结构。
表1 Disc表结构
字段名称
disc
id
_
Function HaveUser() ‘HaveUser函数判断输入的账户和
数据类型
自动编号
文本
e
说明
自动递增编号
音像名称
密码是否存在
Set rs:Serve r.CreateObject(“ADODB.Recordset”)
disc name
blgeiass
nam
sql=“select¥from admin” ‘读取admin表中保存
文本
文本
音像所属大类
音像所属小类
的账户信息
rs.Open sql,conn,l,l
sinailclass
name
_
disc source
disc
_
文本
文本
文本
出版发行机构
光盘数量
光盘类型
if UserName=is(“use ̄nltalTle”)and UserPwd is(“pass—
hum
type
word”)then
exist=true
数返回True
else
‘如果账户和密码存在,HaveUser函
disc
_
disc
note
_
备注
文本
文本
文本
音像简介
影片时长
录入时间
音像系列名称
timelong
addtime
SeneS
exist=false
函数返回False
end if
HaveUser=exist
‘如果账户和密码不存在,HaveUser
文本 音像编号
initial
years
文本
文本
音像名称首字母
出版年份
End Function
If Not HaveUser0 Then
response.redirect“login.asp”‘如果账户和密码
不存在,返回登录页面
End If
3.2用户界面设计与实现
用户界面即系统的前台部分,是用户与后台发生数据交
互的界面。用户界面按照功能实现的不同划分为3个框架页
面:搜索入口、结果显示、分类导航。搜索入口和分类导航框
架页面是用户向服务器提交查询请求的入口(对应图1
第1步)。相应地,结果显示框负责将结果页面呈现给用户(对
应图1第6步)。采用框架式设计的优点是,页面各个组成部分
是独立的,任一框架内的数据更新不需要刷新整个页面。当
②音像管理模块实现了音像管理的全部功能,包括信息
录入、音像分类、发布、修改、删除。信息录入模块除了提供基
本的信息录入框外,还支持图片插入、文件上传、页面再编辑
等高级功能。为了方便进行页面编辑,模块内嵌了word编辑
器。用户可以对输入的文本内容进行文档格式设置,包括字
体、大小、颜色、样式等,还可以插入表格和超链接。音像的添
加、删除等操作通过服务器调用ADO组件来完成。ADO组件
用户多次向服务器提交查询请求时,结果显示框需要多次更
新显示新的结果集,但是页面的其他部分无需刷新,有利于
减少服务器负荷。框架式页面实现代码如下:
<frameset rows--"200,}”>
<frame name="search”sre=“top
asp”frameborder="0”frames—
.
通过构建Connection对象进行数据库的连接和执行sOL查询
操作,完成对Disc表记录的添加、修改、删除操作。
③音像查找是重要的功能支撑模块,其代码必须具备良
好的逻辑结构,才能为前台用户检索功能提供充分的支持。
为了支持多途径检索(提供6种检索途径:按音像大类、小类、
音像名称、音像简介、出版年份、名称首字母)的需要,代码的
pacing="0”><!——搜索入口——>
<frameset cols:“300, ”>
<frame name=“navigation”src=“left.asp”frameborder=“0”
scrolling=“auto”><!——分类导航——>
<frame name=“ esuIts” srlc=“search
asD” frameb0rder=‘‘^’0’
.
逻辑组织采用Switch结构,包括6个分支,每个分支处理一种
检索途径。检索过程是:服务器通过ADO调用Connection对象
scrolling="all ><!——结果显示——>
<]frameset>
</frameset>
构建不同查询字段的SOL表达式,再执行数据库查询操作(对
应图1第3步)。待数据库返回结果后,调用ADO组件的Rec0rdset
对象读取记录(对应图l第5步)。最后由结果显示模块构建结
果页面返回用户(对应图1第6步)。
为了提供更加友好的查找功能,笔 应用Ajax构建了类
3_3后台管理
①管理员登录模块既是用户进入后台的入口,也是保护
图书馆学刊 2011年第6期
TUSHUGUANXUEKAN No.6,2O1 1
似Google搜索提示的音像查找提示功能。实现步骤如下:①构
建XMLHttpRequest对象。在无刷新网页的情况下,通过on—
的资源整合平台或者是对MARC字段的利用以外,通过利用
各种Open API,以及各种Web 2.0技术成为流行的集成技术141。
Keyup事件触发aja】【Function函数。②向服务器发出访问请求。
ajaxFunction函数首先判断检索词输入框是否有新内容输入,
如果有,则创建xMLHttpRequest对象,并通过该对象的叩en0
为了提高音像资源的可发现性,笔者在本馆的OPAC检索页
面集成了音像查询。构建思路是:当用户在OPAC检索页面输
入一个主题检索词时,服务器在执行原有馆藏查询的同时,
方法向服务器发出通信请求。③服务器返I ̄lhtml文本。服务器
将访问请求 ̄getSuggest-asp页面处理。getSuggest.asp从保存
有全部音像信息的XML文档中读取音像名称标签的文本内
容,并1)2html ̄本格式返回。getmessagei ̄数接收返回结果,并
显示在检索词输入框下方。
也向音像查找模块发出查询请求,并提供结果显示链接。笔
者应用JavaScript实现了上述功能,代码如下:
<div>
<input type=“checkbox”name=“disc search”checked
“
checked”onclick=“if(this.checked)fdocument.showresult.in—
程序代码如下:
nerHTML= <a href=http:#202.1 92.240.1 39/disc/disc
—
search?
<input name=“text’’type=“text’’id=“text”onKeyUp=“a—
disc note=keyword>音像查找结果</a> ’>
iaxFunction()”/>
</div>
<!—一text是检索词输入框,onKeyUp是触发ajaxFunction
上述代码中,checkbox属性表示在页面中增添一个单选
函数的事件——> 框元素,onclick属性表示当点选单选框时,触发后续代码的
<script type=“text/javascript”>
运行。这是整段代码的核心所在,它首先判断单选框是否选
function ajaxFunction()
择,如果已选择,则执行后续代码生成指向音像查找结果的
{
超链接。超链接标签<a>中指定了音像查询接口,用户在
thisLen=document.getElementById(“text”.value.1ength;
OPAC检索框中输入的检索词将传递至该查询接口。docu—
if(preEen!=thisLen),/如果有新的内容输入,则向服务器
ment.showresuh.innerHTML语句表示在ID标志为showresult的
发出访问请求
页面元素(一般为<div>元素,它的ID可任意命名)中显示“音
{
像查找结果”超链接。经过以上处理后,用户在点选音像资源
ajax=new ActiveXObject(“MsXML2.XMLHTYP”);, 0建
单选框后,系统将执行馆藏资源的检索,同时显示一个“音像
XMLHttpRequest ̄象
查找结果”链接,实现了音像查询功能在OPAC的集成应用。
textLen=doeument.getElementById(“text”).value.1ength
if(textLen>O)
5结语
{
通过笔者的开发实践,深入分析了音像管理系统的设计
6ax.onreadystatechange=getmessage;ajax.open(“GET”,
与实现过程。本次实践不只是实现了一个具体的应用系统,
“
getSuggest.asp?text=”+escape(document.getElementById(“text”).
而是为日后自建数据库搭建了一个系统原型。从这个意义上
value)+“&texteen="+textLen+“&num=”+Math.random(),true);
讲,本系统是日后深入研究的起点。今后,笔者主要研究从3
//向服务器发出请求
方面改进系统功能,使其能够作为一个通用平台,为图书馆
ajax.send(nul1);
自建各类数据库提供有力支撑。①应用Lucene全文搜索软件
}
包增强系统的分词、索引和搜索能力。②应用更多的Web 2.0
}
技术扩展系统功能,改善用户体验。③自建数据库与OPAC无
preLen=thisLen;
缝整合的实现技术。
}
function getmessage()
参考文献:
{
【l】周峰,徐晓军,李德路.ASP开发技术原理与实践教程[M】.
北京:电子工业出版社,2007.
document.getElementById(“showinfo”).innerHTML=ajxa.re—
【2】陈锋敏.Aja)【原理与系统开发[M】.北京:清华大学出版社,
sponseText;
2009.
}
[31 Sceppa D著-AD0编程技术【M】.石均等译.北京:清华大学
</script>
出版社,2001.
4音像查询功能在OPAC的集成应用
【4】王海.基于0PAc的资源整合创新研究与实践lJJ.图书馆
理论与实践,2010(10):74—76.
当前,关于馆藏资源、网络资源以及第三方资源在OPAC
黄悦深男,1984年生,硕士。
的集成应用正是研究热点。整合手段除了原有的购买软件商
(收稿日期:2011-01—07;责编:王天泥。)
发布者:admin,转转请注明出处:http://www.yc00.com/web/1718948923a2753790.html
评论列表(0条)