第五章 系統建構與設計
第二節 系統功能介紹
第二節 系統功能介紹
一、系統架構模型
Access Control Users
Policy HTTP Client
TCP/IP Network
HTTP Server
Scripts & Libraries
Programming Language
Librarians
Hardware Operating System
Databases
圖 5-1:MyLibrary@NCState 系統架構模型
資料來源:MyLibrary@NCState (This paper was shared at a workshop of the SIGIR '99 conference in Berkeley, CA )
MyLibrary@NHRI 為資料庫應用程式系統,藉由 HTTP/HTML 的介面達成互動,並 結合圖書館線上服務系統。以下描述此系統的技術性架構:
MyLibrary@NHRI 主要建構於四項電腦軟體技術:
(一)、 Java 平臺 (Java Platform)
(二)、 Oracle 資料庫 (Oracle Database)
(三)、 超本文傳輸協定伺服器 (HTTP Server) (四)、 程式語言 (Programming Language)
(一)、Java 平臺 (Java Platform)
MyLibrary@NHRI 於執行 J2SE 平臺的開發環境上運行。
Java 有許多令人稱道的優點,如簡單、支援物件導向概念、提供分散式應用、
可靠性、安全、可移植性、高性能、多執行緒、動態等等。Java 開發環境提供了三 種平臺:標準版、企業版和微型版。
1. 標準版 (Standard) 即是JavaTM 2 Platform, Standard Edition (J2SETM),定位於用戶 端程式的應用。
2. 企業版 (Enterprise) 即是JavaTM 2 Platform, Enterprise Edition (J2EETM),定位於 伺服器端程式的應用。
3. 微型版 (Micro) 即是JavaTM 2 Platform, Micro Edition (J2METM),定位於嵌入式 系統的應用。
這三種平臺目前在實際應用上相當廣泛,許多廠商已加入此陣營來共同推動它 們的發展。MyLibrary@NHRI 採用「J2SE」,因 J2SE 在用戶端提供許多支援的特性,
如”一次寫入,任意運行”的可攜性、資料庫應用的 JDBC 及保護網路上資料的安全 機制等。對於用戶端而言,J2SE 技術為網路用戶提供快速的性能和豐富的功能,
如企業內部網路 (Intranet) 和線上購物支援等。而對於企業開發人員,J2SE 則提供 了基礎工具,幫助他們創建實用性強大的應用。
(二)、Oracle 資料庫 (Oracle Database)
MyLibrary@NHRI 採用 Oracle 資料庫系統來儲存與擷取資料,目前所建立的表 格內容如下:
1. 個人網路資源組織整理 My Bookmark
表 5-1:Table LIB_BOOKMARK
Col # Column Name Data Type Not Null Comments 1 EMP_CODE VARCHAR2 (6 BYTE) Y 員工編號
2 SN INTEGER 流水號
3 BOOKMARK VARCHAR2 (100 BYTE) Bookmark 名稱
2. 圖書館群組性公告 Library News 表 5-2:Table LIB_BULLETIN
Col # Column Name Data Type Data Def. Comments
1 SN INTEGER 流水號
2 HEADLINE VARCHAR2 (200 BYTE) 標題 3 CONTENT VARCHAR2 (4000 BYTE) 內容
4 DEPT_GROUP VARCHAR2 (400 BYTE) 公告的部門代碼
5 START_DATE DATE 張貼起始日
6 END_DATE DATE 張貼到期日
7 POST_DATE DATE SYSDATE 修改日期
3. 個人新知通告 My Alerts 表 5-3:Table LIB_FEED
Col # Column Name Data Type Not Null Comments 1 EMP_CODE VARCHAR2 (6 BYTE) Y 員工編號
2 SN INTEGER Y 流水號
3 FEED VARCHAR2 (100 BYTE) Y RSS FEED 資料
4. 電子期刊清單 E-Journal List 表 5-4:Table LIB_JOURNAL_LIST
Col # Column Name Data Type Comments 1 JOURNAL VARCHAR2 (200 BYTE) 期刊名稱
2 AGENT VARCHAR2 (100 BYTE) 代理商 3 URL VARCHAR2 (100 BYTE) 期刊網址
4 YEAR VARCHAR2 (20 BYTE) 可觀看全文之年代範圍 5 ISSN VARCHAR2 (20 BYTE) ISSN
6 REMARK VARCHAR2 (50 BYTE) 連線或帳號說明
表 5-5:Indexs on LIB_JOURNAL_LIST
Uniqueness Data Type Columns NON-UNIQUE IDX_LIB_JOURNAL JOURNAL
5. 個人電子期刊 My E-Journal 表 5-6:Table LIB_MY_JOURNAL
Col # Column Name Data Type Comments 1 EMP_CODE VARCHAR2 (6 BYTE) 員工編號
2 JOURNAL VARCHAR2 (200 BYTE) 期刊名稱 3 AGENT VARCHAR2 (100 BYTE) 代理商 4 URL VARCHAR2 (100 BYTE) 期刊網址
5 YEAR VARCHAR2 (20 BYTE) 可觀看全文之年代範圍 6 ISSN VARCHAR2 (20 BYTE) ISSN
7 REMARK VARCHAR2 (50 BYTE) 連線或帳號說明
表 5-7:Indexs on LIB_MY_JOURNAL
Uniqueness Data Type Columns
UNIQUE IDX_LIB_MY_JOURNAL_1 EMP_CODE, AGENT, ISSN
6. 個人資料 Personal Information 表 5-8:Table LIB_MY_JOURNAL
Col # Column Name Data Type Not Null Comments 1 EMP_CODE VARCHAR2 (6 BYTE) Y 員工編號
2 ID_NO VARCHAR2 (15 BYTE) Y 身份證號
(NDDS 登入帳號) 3 NDDS_PW VARCHAR2 (20 BYTE) NDDS 登入密碼 4 TEL VARCHAR2 (20 BYTE) 聯絡電話
5 ROOM_NUM VARCHAR2 (60 BYTE) 辦公室號碼
6 NDDS_AUTH VARCHAR2 (30 BYTE) NDDS 登入密碼驗證狀
(三)、超本文傳輸協定伺服器 (HTTP Server)
Apache 是一個開放原始碼的網站伺服器 (HTTP Server),可以在大多數電腦作 業系統中運行,由於其多平臺和高安全性的特性而被廣泛使用。根據統計,目前 Apache 已成為佔有率最高的網站伺服器軟體。另外,為了讓 JavaServer Pages (JSP) 能有更好的表現成果,另採用了 Tomcat 套件作為網頁伺服器端軟體。Tomcat 是由 Apache 軟體基金會所開發的一個 Container,依據 Sun 提供的技術規範,實現了對 Servlet 和 JavaServer Page 的支援。由於 Tomcat 本身也內含了一個 Apache HTTP 伺 服器,因此它也可以被視作一個單獨的網站伺服器。
(四)、程式語言 (Programming Language)
JavaServer Pages (JSP) 是一種開發網頁應用程式的新技術,它是以 Java 為基 礎。在網站剛問世的年代,開發動態網頁內容的唯一工具是 Common Gateway Interface (CGI)。CGI 的著眼點,在於網頁伺服器如何讓程式取得使用者的輸入,以 及程式如何將它們動態產生的內容交給網頁伺服器,使其送回給使用者。CGI 並非 有效率的程式,當使用者呼叫 CGI 敘述程序,CGI 敘述程序會重頭開始執行,這對 傳輸量大的網站來說,會大幅減緩伺服器作業速度 (CNPedia 智匯館資訊百科,民 95)。
為了提供更有效率的解決方案,出現了不少 CGI 的替代方案,但是每一種方案 都只能侷限於特定種類的網頁伺服器,不夠全面性。另外,網站應用程式的複雜度,
已經成長到了需要一套完備的開發模式,讓不同領域的專家能有效率地分工合作。
JSP 解決了以上的困境,在許多企業入口網站上都可發現系統採用此種程式語 言撰寫。國衛院自行開發之程式亦以 JSP 為主,因此,考量其高效率特性以及國衛 院實際資訊環境整合,故採用 JSP 作為網頁伺服器技術。