闫晓弟 李 娟 李一鸣 杨 帆
1.西安交通大学图书馆 陕西西安 710049
2.西安交通大学网络与信息中心 陕西西安 710049
随着数字化校园建设进程的加快,校园网运行的系统越来越多,各个工作环节的工作都在不同的系统中展开,每个系统都配有一套独立的用户数据库[1]。学生毕业离校时,需要到财务处、图书馆、网络中心、教务处等各个环节去审核处理,流程较为复杂。为此,一些学校采用了学生自助离校系统,以简化工作流程。本文以我校图书馆离校手续为例,介绍了校园网自助离校系统中图书馆离校手续的处理。
在采用一卡通数据之前,学生需要带离校手续清单到各部门去办理相关手续。图书馆工作人员需要在集成系统中查验读者的借还情况、欠款情况以及论文提交情况,加盖公章后方能认定学生在图书馆的手续完成。
我校在使用一卡通系统后,校园网中心开发了综合离校系统,图书馆可通过综合离校系统来处理读者离校,如果读者在图书馆没有借书、罚款等情况,图书馆工作人员就可以很快将其状态改为通过,其他部门的工作人员就可以依此来判断学生的状况。但是由于Millennium系统没有读者接口,综合离校系统无法访问读者的数据,因此无法实现数据的同步处理。在办理离校手续时,图书馆需要提前通知读者归还所借图书、清还罚款,同时,在Millennium系统中,把即将办理离校的读者记录的“有效期限”字段改为开始办理离校的日期,这样既可以唯一地在系统中标识这些读者记录,便于对读者数据进行统计和处理,又能限制读者在办理离校手续期间借书。当查到读者无借书和罚款后,在综合离校系统上处理这些读者记录。这样做有两个方面的不便,对于读者来说,在尚未离校的一段时间不能借所需图书;对于工作人员而言,处理读者记录需要4个步骤:(1)在Millennium系统中更改读者字段;(2)查询读者记录以确定是否办理离校;(3)在离校系统中更新状态;(4)在Millennium系统中删除读者记录。工作流程如图1所示。
这种离校手续处理方式与传统的离校方式相比,在一定程度上方便了读者,读者不需要再到图书馆来查询并盖章,可随时通过离校系统查询自己的状态。但是也存在弊端:为了从图书馆集成系统中准确地获取读者数据,实行了“一刀切”的方法,即一段时间内所有需要办离校手续的读者都不能借书;工作人员需要每天不定时地获取和更新读者数据,一旦没有及时将符合离校条件的记录从Millennium系统中抓取出来并在离校系统中更新,便会给读者离校造成不必要的麻烦;最重要的是无法实现图书馆读者数据与离校系统的同步更新处理,整个过程实际上是一个人工操作、不断重复的过程。鉴于以上这些不足,西安交通大学考察和调研了Innovative公司的读者更新Web Service。
图1 使用读者更新Web Service前图书馆读者离校手续处理流程
读者Web Services利用机器之间的通讯来更新Millennium的读者数据库,它是通过第三方软件(非Innovative的产品),利用标准的SOAP协议来实现的,非Innovative的客户应用软件维护、更新Millennium的读者数据库,可以新建、更新、删除读者记录[2]。
读者更新Web Service提供一个应用程序接口(API),通过这个接口可以访问Millennium系统的数据和相关功能,它遵循标准的Web Service模式,也就是说,用户通过基于XML的HTTP请求数据,会得到一个XML格式的文本数据[2]。任何需要利用读者数据的部门都可以使用客户程序通过Web Service向Millennium系统发送请求,Millennium系统监听这些请求,通过ID号、姓名或者其他关键字段进行查找。如果找到记录,Millennium系统会返回读者数据,应用程序可以利用这些数据更新系统中的读者记录,增加新的记录或者删除记录。
读者更新Web Service满足了校园自助离校系统对图书馆系统读者数据访问、更新和获取的要求。在使用web Service时需要使用SSL(Security Socket Layer Protocol)协议,它指定了在应用程序协议(如HTTP ,Telnet 和FTP 等)和TCP/IP 协议之间进行数据交换的安全机制,为TCP/IP 连接提供数据加密、服务器认证以及可选的客户机认证[3]。
我校在购买了读者更新Web Service后,首先根据需求申请并安装了SSL,并将认证文件保存在Millennium系统的相关目录下,这是实现对系统访问的前提条件。然后利用程序来实现离校系统对Millennium系统的访问,也就是实现对Web Service的访问,西安交通大学是利用Java程序来实现的。离校系统图书馆环节的设计思想是:当读者在Millennium系统的“当前借书”“积欠金额”“读者讯息”字段均为空时,程序会自动在离校系统中将读者的状态设置为“通过”,同时,利用可更新读者记录的功能,在图书馆的Millennium系统中,将“读者状态”字段值改为“O”(已办理离校)。这样,图书馆工作人员可以通过这个字段来识别、统计离校读者。具体通过图2所示流程实现对读者记录的实时更新与访问,读者在个人门户上可以实时看到提示信息,不需要再到图书馆确认,十分方便,图书馆工作人员也不需要通过复杂的工作流程处理离校手续,提高了工作效率。
在实际开发中,我校采用的开发工具是Eclipse IDE for Java EE Developers,利用其Web Service Client生成向导,根据Web Service描述文件可以自动生成访问服务的帮助类,主要包括:Patron读者类,PatornField读者字段类,PatornIO服务接口和PatornIOProxy服务调用实现类。
Patron类“读者”,属性PatornID是读者的全局唯一标识;属性PatronFields是个数组,其中元素是Patron Field对象,描述了读者借阅、欠费等有关信息。
PatronField类“读者字段”在Millennium系统定义,其中属性 fieldTag是字段标识,表示每个字段具体的含义,value是实际值。在离校系统中主要是4个字段:目前借书(fieldTag=50)、积欠金额(fieldTag=96)、讯息( fieldTag=m)、读者状态( fieldTag=o)
PatronIO是一个接口,描述了Millennium系统“读者更新”Web Service对外提供的方法,分别是“查询读者(searchPatrons)”“更新读者(updatePatrons)”“删除读者(deletePatrons)”“创建读者(createPatrons)”。
PatornIOProxy是PatronIO接口的具体实现,离校系统通过这个类访问Millennium系统“读者更新”Web Service。
图3是对这些类的描述:
以下是离校系统访问“读者更新”Web Service的部分代码:
与传统的读者离校相比,借助于读者更新Web Service具有数据自动同步的优点,不需要更多的人工操作,整个过程由程序自动完成。在办理离校手续时,离校系统可以通过读者Web Service访问Millennium系统的读者数据,从而进行实时信息查询,确认读者是否可以离校。这样既无需限制读者借书,又减少了读者离校的处理环节,提高了工作效率,也不会出现读者记录已符合离校条件但是离校系统却没有及时处理的状况。各院系的教务人员可以直接在离校系统中查询学生在图书馆的状况,并为其办理领取毕业证及离校手续。
[1]许鑫,苏新宁,姚瑶.数字化校园一卡通平台研究[J].现代图书情报技术,2005(7):54-59.
[2][EB/OL].http://techdocs.iii.com/patronws_patron_data.shtml.
[3][EB/OL].http://csdirect.iii.com/faq/ssl.shtml.