閆曉弟 李 娟 李一鳴 楊 帆
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.