架構一個 WWW 上的 Z39.50 伺服器(二)
Setting up a WWW-based Z39.50 Server (Part II)
曾元顯 / Yuen-Hsien Tseng
輔仁大學圖書資訊學系 / Dept. Library & Information
Science
Email: tseng@blue.lins.fju.edu.tw
中國圖書館學會會訊104期
http://blue.lins.fju.edu.tw/~tseng/papers/lacz3950/lacz3950.htm
Feb. 25, 1997
Accessed times
壹、前言
過去數年,國內圖書館自動化的建設,使讀者感受到圖書館內便利的資訊檢索服務。隨著網際網路的發展,資訊的檢索、取得可以超越時、空的限制,對讀者造福更大,但伴隨而來館際資源合作分享的問題也逐漸明顯起來。讀者可以透過網際網路連上任何一所圖書館查詢資料,可是不同的圖書館採用的系統不一致,提供的使用方式與檢索介面並不相同,除了一個一個適應外,查詢不同的圖書館也要個別連線進行。
八十五學年度全國公私立大學校院圖書館館長聯席會議中,教育部余玉照司長提出連結全國圖書館自動化系統與圖書館資源共享等建議
[1]。雖然目前已有廠商將自己的系統串連起來,供讀者連上任一圖書館即可查詢其他屬同一系統圖書館的館藏
[2],但是個別廠商提出解決方案的作法並無法推行到跨廠商之間的合作。比較可行的是透過各項標準的制訂,使得館際之間有共同的協定可以遵循,讓由不同預算下採用的不同系統有一致的溝通管道。
美國自 1988 年起,即制訂一套稱為
Z39.50 的資訊檢索標準,此標準隨後為國際間承認,並於
1992、1995 年經歷二版、三版的修正,目前正在制訂第四版
[3]。Z39.50 已有部份國外廠商支援,一些研究單位並已發展系統放在網路上供免費使用。本文即介紹一套
Z39.50 資訊系統,說明其運作原理並提供實際範例,以便圖書館或其他資訊提供機構評估參考,希望將來讀者不管連到那個圖書館,都可以有一致性的檢索介面,甚至只要連到某個網站,即能檢索所有符合標準的資訊系統。
WWW 與 Z39.50
Z39.50是一套網路上進行資訊檢索時資料傳輸的標準。它規範使用者連上資料庫、下達查詢條件、以及取得檢索結果等檢索動作的一般性細節,所以除了書目資料的檢索外,它還可以運用於任何型態的資訊檢索。
Z39.50是以主從模式(Client/Server
Model)為架構。它定義伺服器(server)與使用者端(client)兩者間資料的傳輸方式。過去常用的檢索模式為主機式,使用者端用的是終端機模擬軟體,游標的移動、文字的輸入,都要傳回主機端,由主機來更新終端機的畫面。主從模式則充分運用使用者端的電腦資源:使用者介面的維護、查詢條件的編輯、查詢格式轉換、以及查詢結果的版面安排等檢索動作,均交由讀者端的電腦執行,而伺服器端則僅處理查詢連線、執行查詢動作、然後送回檢索結果等核心動作。因此一套完整的
Z39.50 系統,必須包含伺服器端軟體(即
Z39.50 server)與使用者端軟體(Z39.50
client)。
大部份的檢索模式都會記錄使用者檢索的狀態(stateful),以方便不同檢索結果之間的交集或聯集運算,或辨認使用者的檢索流程,免去使用者重複告知查詢主機同樣訊息的麻煩(如帳號與密碼)。Z39.50
也採用此種具備「查詢會期」(session-based)的檢索模式。所謂「查詢會期」是指使用者從連上查詢主機、進行各種檢索動作、一直到執行離線的動作為止,這一期間就稱做一個查詢會期(session)。然而
WWW(World Wide Web)採用的是超文字傳輸協定(HTTP,
HyperText Transfer Protocol),使用者透過
HTTP 與 WWW 伺服器的連線是不記錄狀態的(stateless),亦即每次使用者端向
WWW 伺服器要求一份文件,就要重新建立連線,文件傳送完畢後就自動斷線,使用者對
WWW 伺服器後續的資料傳送要求,都必須重複連線、傳送、斷線的過程。所幸
WWW 有共同通道介面(CGI, Common Gateway
Interface)的軟體技術可資運用,使得即使「WWW
伺服器」不記錄使用者狀態,我們仍可透過
CGI 發展出「伺服器端」辨識使用者狀態的能力。此點非常重要,是
WWW 與 Z39.50 可以結合的原因。
由於檢索 Z39.50 伺服器的資料必須使用到
Z39.50 使用者端軟體,然而 Z39.50
使用者端軟體並沒有像 WWW 的瀏覽器軟體那樣普及,而且
WWW 的超連結(hyperlink)方便易用,為檢索、瀏覽資料的利器。這些原因造成大眾希望透過
WWW 就能檢索 Z39.50 伺服器端資料庫的需求。下一節要介紹的就是能符合此種需求的
Z39.50 軟體─由美國網路資訊發現與檢索中心
(CNIDR, Clearinghouse for Networked
Information Discovery and Retrieval)所發展的
Isite 資訊系統。
Isite 資訊系統
澳洲昆士蘭大學曾對市面上商用與網路上免費的五種
Z39.50 系統做過詳盡的比較 [4],其中
Isite 資訊系統是兩套免費軟體裡功能較齊全的系統。目前輔仁大學圖書館已利用
Isite 系統安裝一套雛型系統 [5],讀者可連到暫時的網站觀看:http://140.136.250.49/gateway.html。圖一之(一)、(二)、(三)展示了利用瀏覽器連上
Z39.50 伺服器,然後進行檢索的範例。
Isite 軟體目前的正式版本為
1.08 版,可從CNIDR的
FTP站上取得:ftp://ftp.cnidr.org/pub/NIDR.tools/Isite/,其系統架構如圖二所示:
圖二顯示使用者可直接以 Z39.50 client
軟體連上 Z39.50 伺服器,也可以透過較為普及的
WWW 瀏覽器連線。如果是透過瀏覽器連線,WWW
伺服器這邊必須有一個 Z39.50 連結介面(如圖一之(一))。此一連線的動作會讓使用者透過
Isite 的zgate與zcon程式連上
Z39.50 伺服器(即zserver程式),其中
zgate 是一支 CGI 程式
[6],zgate 會針對不同的使用者查詢會期(session)而啟動不同的
zcon,而 zcon 再去啟動不同的
zserver 伺服器以服務不同的查詢會期。所以相對應於圖二的架構圖,此連線動作的實際流程如圖三所示。使用者的連線就由
zgate 來管理,使用者端首次連線時,zgate
會給回應使用者端一個隱藏變數:「sesion-ID」,變數內存放用以辨識會期的值,使用者端後續的檢索連線時都會將此「session-ID」的值傳回伺服器端。藉此隱藏變數,zgate
可以辨認此連線是否已發生過而叫用已經啟動的
zcon,或是新的連線而啟動一個新的
zcon 程式。而 zcon 的功用在啟動
zserver 伺服器,此伺服器可以在同一部主機,也可以在遠端的另一部機器上。這就是為什們我們可以在某個網站透過
Z39.50 檢索標準,來查詢不同主機資料庫的原因。
至於 zserver 伺服器可連接哪些資料庫,則非常彈性。從圖二可知,此資料庫可以是
Isite 的資料庫,也可以是安裝人員加裝的其他資料庫。目前
Isite 系統內附有一套英文的全文檢索程式
Isearch,可用以檢索 HTML、SGML、以及無結構性文字檔案等多種文件格式。使用者也可以將已有的資料庫連上(如書目資料),使其具備
Z39.50 檢索標準的介面。透過 Isite
制訂的檢索應用程式介面 Search API(Application
Programming Interface),只要使用者採用的檢索引擎其輸出與輸入符合此介面的規定,再加上對組態檔(zserver.ini
與 sapi.ini)適當的設定,即可成功連接
zserver 伺服器。但是由於一般的檢索引擎並不是專為
Isite 系統而設計,所以其輸出與輸入不會符合
Search API 的規定,這時我們就必須自行撰寫檢索引擎的介面程式,將其輸出與輸入進一步處理,並轉成必要的格式,才能正確的連接
Isite 的伺服器。在圖一的例子中,我們便是用中研院資訊所開發的Csmart檢索引擎
[7],透過Search API程式的撰寫,發展一套OPAC
雛型系統,使其符合Z39.50標準,並允許以近似自然語言來檢索書目資料。
結語
目前 Isite 的
1.08 版還沒能完全符合 Z39.50 的規定,我們實際安裝後也發現由於
Isite本身的一些錯誤(bugs)而使得整個系統運作並不順暢。
(註:此問題已解決,請參見「架構一個 WWW 上的
Z39.50 伺服器(二)」)
我們加入
Isite 的討論群已向系統發展者報告此種情形,並得知
2.0 版即將正式推出。其 2.0 版除改掉原有的錯誤外,還加入較為完整的
Z39.50 功能,如允許同時查詢多個資料庫等等。我們覺得在版本的更新上必須加快腳步,才能跟上進步飛快的網路技術。
一個標準的制訂與推行雖然可以解決系統不一致造成的困擾,但也很可能扼殺掉更有創意的技術出現。此點說明
Z39.50 的立意雖好,但是普及程度並不理想的原因。WWW
的簡單易用與圖形介面的親和性,使其在短短兩、三年內即快速崛起。一些先進的檢索系統,透過
CGI 等相關技術即克服記錄使用者狀態等問題,並在
Z39.50 還在制訂排序檢索時(Ranked
List Query),早已在 WWW 上提供功能更為強大、彈性與易用的檢索環境了[8-10]。
然而 Z39.50 還是有適用的場合,尤其像書目資料庫,其資料格式相當詳盡、一致,但明顯的分散在各處。類似此種情況的資料庫便極適合
Z39.50 檢索標準的運用。以 WWW 瀏覽器全方位發展的趨勢,未來有可能直接支援
Z39.50而可用作 Z39.50 的使用者端程式(Z39.50
client)。此種發展,將加快 Z39.50
的普及,使網路使用者在資訊檢索上更為便利。
參考資料
[1] "期待大學圖書館精益求精──余司長提出八點建言",高教簡訊,67期,85年10月10日,頁1-2。
[2] 清華大學圖書館圖書目錄查詢系統,http://lib.nthu.edu.tw/opac/pcopac.html
[3] Juha Hakala, "Z39.50-1995: Information Retrieval Protocol--An Introduction to the Standard and It's Usage," Automation Unit of Finish Research Libraries, Helsinki University Library, Jan. 18, 1996 http://renki.helsinki.fi/z3950/z3950pr.html
[4] "Survey of Z39.50 to Web Gateways," Resource Discovery Unit, Research Data Network CRC, Gehrmann Laboratories, The University of Queensland, Australia, version 3, Sep. 4, 1996, http://www.dstc.edu.au/RDU/reports/zreviews/z3950-gateway-survey.html
[5] 輔仁大學 雛型系統暫時位址:http://140.136.250.49/
[6] 曾元顯,"增加 Home Page 的互動性-- CGI 程式與資料庫的運用",中國圖書館學會會訊,4卷2期(101),85年6月31日。Also available at http://blue.lins.fju.edu.tw/~tseng/cgi.htm
[7] 中央研究院資訊科學研究所 Csmart(尋易)系統,http://www.iis.sinica.edu.tw/CKIP/
[8] Lycos, http://www.lycos.com/
[9] Alta Vista, http://altavista.digital.com/
[10] Gais, http://gais.cs.ccu.edu.tw/cwww.html