專題報導-快速建構Oracle網頁應用程式系統31快速建構Oracle網頁應用程式系統--使用OraclePL/SQLWeb開發工具沈玉升國立中興大學計算機及資訊網路中心台中市402國光路250號(04-22840306轉724)E-Mail:ysshen@nchu.edu.tw所謂Oracle網頁應用程式是指用Oracle工具程式存取Oracle資料庫的網頁應用程式。目前我們較常見的ASP、PHP、JSP等都有提供資料庫連接支援。但對以Oracle資料庫為基礎所開發的組織內各類資訊系統而言,選擇與資料庫密切配合的Oracle網頁開發工具,更能有效率的發揮資料庫資料計算與網站存取瀏覽的資訊展現速度。本文將略述選擇用PL/SQL當開發網頁應用系統的考量點、OracleWeb應用程式的執行機制、資料庫伺服端的PL/SQLWebToolkit簡介、WEB/應用程式伺服端必須設定的DAD(DatabaseAccessDescriptor)環境設定以及手寫PL/SQL應用程式的開發流程等。並用一個應用實例擷取片段,在WIN/NT平台上示範,看完本章,即使您是個網頁應用程式新手,也可輕易著手建構您的系統了。一、為何選擇用PL/SQL開發網頁?目前Oracle提供的開發工具有JavaServlet、PL/SQLWebToolkit、Designer、Portal或使用Developer的Forms和Reports等五種基本方式來開發網頁程式。上述開發工具各有使用上的優缺點,您必須根據實際的應用系統需求來選擇.以下幾個因素可供在網頁開發工具的選擇評量上參考:1.使用者群屬性。2.使用者介面的複雜度。3.系統開發時限。4.開發者對工具的熟悉度。因此若您要建構的系統使用者來至網際網路、非專業使用、使用者介面只需提供資料查詢瀏覽或單純的資料登錄維護作業(不需做到滑鼠控制等)、有開發時間上的壓力、對Java不熟悉、但熟悉PL/SQL程式語言與基本的HTML網頁資料展現格式等特性,那選擇使用以HTML為基礎的PL/SQLWebToolkit當作網頁應用程式的開發工具應是個不錯的決定。二、OracleWeb應用程式的執行機制:一個完整的Web系統包括了客端的瀏覽器,中間層的web/應用伺服器(Applicationserver),以及後端資料庫伺服器(Databaseserver)等3層架構。其中web/應用伺服器端是用來與Web瀏覽器溝通,及執行應用程式的應用程式伺服器。後端資料庫則儲存以HTML為基礎,使用OraclePL/SQLWeb套裝中興大學計資中心技術通訊第17期專題報導-快速建構Oracle網頁應用程式系統32軟體函數或程序呼叫方式寫的儲存程式碼(StoredProcedures),這些程式碼產生一系列的網頁供瀏覽器顯示。開發這種應用程式碼較簡易,只要您熟悉Oracle的PL/SQL語言,對HTML的資料格式及瀏覽器如何呈現的視窗控制有基本的認識,就可很輕易上手寫web應用程式。本文範例安裝的是Oracle9iApplicationServer1.0.2/NT2000版本,安裝選[OracleHTTPServeronly],<圖一>為Oracle9i應用程式伺服器的主要元件,Webserver是直接與瀏覽器溝通的元件,其溝通的方法是使用HTTP(HyperTextTransportProtocol),目前Oracle新的版本都是使用標準ApacheWebserver。在我們所開發的應用程式裡,ApacheHTTPservr為固定的檔案提供服務,這些檔案包括固定的HTML檔案或影像檔等。換句話說,您寫的HTML檔案或影像檔必須放在Web主機端,儲存程式必須放在資料庫端。WebserverMod_cgi<圖一>Oracle9i應用程式伺服器的主要元件在此以PL/SQLWeb應用程式實例(請參考「範例說明」單元)的執行流程來簡略說明運作機制:1.當使用者要求一個Web網頁(鍵入或點選一個URL)時.如<圖二>畫面鍵入http://shen/schair/index.html2.HTTPserver收到index.html裡有呼叫執行pls/schair的PL/SQL儲存程序請求時(Request),就會將這個請求送至Apache的mod_plsql模組。由<圖三>的登入系統原始碼可知,此網頁使用HTMLformmethod接收變數的方式將值傳給action="/pls/schair/tedp_chk"3.mod_plsql模組使用包含在URL的設定需求,由DAD(DatabaseAccessDescriptor)決定用哪個資料庫帳號簽入後驅動該資料庫端的儲存程序。4.接收的請求會傳給資料庫的儲存程序(StoredPL/SQLProcedure)處理,執行的結果利用PL/SQLWebToolkit的HTP套裝軟體產生HTML文件格式送出給Webserver,轉送至瀏覽器展示。三、PL/SQLWebToolkit簡介由上述單元的執行流程可知,在您叫用PL/SQL網頁應用程式前,Web中興大學計資中心技術通訊第17期Webse...