- 相關(guān)推薦
基于ORACLE技術(shù)的WWW信息查詢系統(tǒng)
摘要:本文首先簡要介紹了三種Web數(shù)據(jù)庫的設(shè)計技術(shù),并針對目前數(shù)據(jù)庫技術(shù)的發(fā)展對比了基于WWW的數(shù)據(jù)庫、WWW技術(shù)在基于C/S數(shù)據(jù)庫上的應(yīng)用兩種技術(shù)的區(qū)別。在分析了Java技術(shù)的結(jié)構(gòu)后,最后提出了基于OracleWebApplicationServer和JavaApplet技術(shù)的Web環(huán)境下的WWW信息查詢系統(tǒng)。關(guān)鍵詞:JAVAINTRANETWWWHTMLODBC
引言
計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展帶動了數(shù)據(jù)庫技術(shù)的發(fā)展。WWW系統(tǒng)和數(shù)據(jù)庫是網(wǎng)絡(luò)化信息服務(wù)的基礎(chǔ)。Web能及時和以友好的方式向人們提供大量有用的信息,但同時需要大量的數(shù)據(jù)庫管理,Web和數(shù)據(jù)庫的結(jié)合是WWW信息服務(wù)技術(shù)和分布式數(shù)據(jù)庫技術(shù)發(fā)展的大勢所趨。把數(shù)據(jù)庫和WWW服務(wù)器連接起來,這種一體化的信息網(wǎng)絡(luò)系統(tǒng)將成為下一代的Internet開發(fā)的重要領(lǐng)域。
系統(tǒng)的有關(guān)概念及實現(xiàn)技術(shù)
WEB數(shù)據(jù)庫的設(shè)計技術(shù)。
RAD(RapidApplicationDevelopment)工具模型。
RAD工具模型通過利用一些插件(Plug-in),如ActiveX控件在瀏覽器上顯示出RAD工具窗口,由于要求用戶直接訪問數(shù)據(jù)庫,所以需要除插件以外的數(shù)據(jù)庫驅(qū)動程序,這就導(dǎo)致了這種方法比其它方法更加龐大。如圖1。
圖1.RAD工具模型
混合組件模型。
混合組件模型是指服務(wù)器利用HTML語言實現(xiàn)界面,同時通過ActiveX組件、Java組件或兩者的結(jié)合來實現(xiàn)界面中的窗體?蛻舴讲恍枰魏螖(shù)據(jù)庫驅(qū)動程序,但是用戶需要對這些組件進行下載,以使客戶端的功能趨于完善。如圖2。
圖2.混合組件模型
純HTML模型。
純HTML模型對于Web用戶來說是一種最普遍的訪問方式,同時也提供了最簡單的客戶方軟件。服務(wù)器通過標(biāo)準(zhǔn)的HTML語言形成用戶接口,Web服務(wù)器實現(xiàn)在客戶方和服務(wù)器之間的所有操作,而中間件可被用來提高處理速率。服務(wù)器利用CGI腳本、ASP和API等生成基于數(shù)據(jù)庫信息的HTML文件。中間件是負(fù)責(zé)管理Web服務(wù)器和數(shù)據(jù)庫服務(wù)器之間的通信并提供應(yīng)用程序的服務(wù),它能直接或調(diào)用外部程序或腳本代碼來訪問數(shù)據(jù)庫,因此可以提供與數(shù)據(jù)庫相結(jié)合的動態(tài)HTML頁面,將用戶的查詢結(jié)果格式化為HTML頁面,通過Web服務(wù)器返回給用戶瀏覽器。最基本的中間件技術(shù)有CGI、API。如圖3。
圖3.純HTML模型
數(shù)據(jù)庫技術(shù)的新發(fā)展—基于WWW的數(shù)據(jù)庫技術(shù)。
WWW技術(shù)在基于C/S數(shù)據(jù)庫上的應(yīng)用(圖4)與基于WWW的數(shù)據(jù)庫(圖5)還是有區(qū)別的。(只不過數(shù)據(jù)庫廠商考慮大多數(shù)數(shù)據(jù)庫還是在基于C/S的數(shù)據(jù)庫上使用的現(xiàn)實,在產(chǎn)品上兼顧兩者的緣故。)下面我們來分析它們的異同:
圖4.基于WWW的C/S數(shù)據(jù)庫的模型
圖5.基于WWW的數(shù)據(jù)庫應(yīng)用的模型
相同點:從硬件和物理結(jié)構(gòu)上來說,都具有C/S的結(jié)構(gòu);從客戶端和數(shù)據(jù)庫端來看,都是基于WWW瀏覽器的數(shù)據(jù)庫應(yīng)用。無論采用哪種結(jié)構(gòu)的數(shù)據(jù)庫,對于用戶的使用來說都能體現(xiàn)WWW的方便之處。
區(qū)別:兩者的軟件結(jié)構(gòu)有重大的區(qū)別;赪WW的C/S數(shù)據(jù)庫的客戶端和數(shù)據(jù)庫服務(wù)端是相對獨立的兩部分,也就是說WWW的開發(fā)應(yīng)用只是在傳統(tǒng)的基于C/S的數(shù)據(jù)庫的基礎(chǔ)上增加了一個開發(fā)的組件,過去所謂“基于WWW”的數(shù)據(jù)庫,只是傳統(tǒng)的數(shù)據(jù)庫的基礎(chǔ)上增加了與WWW的接口而已。而在開發(fā)上不得不采用創(chuàng)建HTML文件和CGI腳本,應(yīng)用的范圍和廣度都受到巨大的限制。而基于WWW的數(shù)據(jù)庫則提出了嶄新的WEB開發(fā)模式,真正將WWW服務(wù)作為數(shù)據(jù)庫的一部分,而把WWW數(shù)據(jù)庫的開發(fā)交給WWW應(yīng)用服務(wù)器去解決。
JAVA技術(shù)
Java是近幾年隨著網(wǎng)絡(luò)的發(fā)展而流行的,它能夠在短短的幾年內(nèi)成為計算機界的熱點,這跟它的種種良好的特性是分不開的。隨著Java標(biāo)準(zhǔn)的確立、技術(shù)更是不斷的成熟。在數(shù)據(jù)庫處理方面,Java提供了JDBCAPI,為數(shù)據(jù)庫開發(fā)者提供了標(biāo)準(zhǔn)的應(yīng)用程序接口。還有RMI技術(shù),它提供了遠(yuǎn)程對象引用的概念,這和在過程式編程年代提出面向?qū)ο笳Z言一樣具有革命性的意義。RMI技術(shù)更適合Java這種純面向?qū)ο蟮恼Z言,它使的分布式環(huán)境下不同的Java程序之間的通信更加簡單自然,符合面向?qū)ο蟮恼Z義。Java已經(jīng)成為開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用的理想工具之一。JavaApplet是Java與Web結(jié)合的產(chǎn)物,它給Web帶來了動態(tài)效果和極大的擴展,因為它本身就是一種編程語言,功能上比靜態(tài)HTML、CGI、Javascript等都強大的多。于是Javaapplet理所當(dāng)然的成為實現(xiàn)WEB數(shù)據(jù)庫應(yīng)用的理想途徑。
OracleWebApplicationServer簡介
OracleWebApplicationServer(以下簡稱OWAS)是一個功能強大的WWW應(yīng)用服務(wù)器。它不僅提供了WWW的HTTP服務(wù),而且自動實現(xiàn)了與Oracle數(shù)據(jù)庫服務(wù)器的連接。OWAS由HTTP監(jiān)聽進程,WRB(WebRequestBroker),和一組接口(Cartridges)所組成。OWAS提供了功能強大的API供用戶開發(fā)自己的接口服務(wù)(其體系結(jié)構(gòu)如圖6)。其中主要的接口:
圖6.OracleWebServer的體系結(jié)構(gòu)
PL/SQLCartridges。
提供了快速的數(shù)據(jù)庫訪問功能,開發(fā)了Htp及Htf包隔離本地的HTML的調(diào)用,以實現(xiàn)本地的HTML與Oracle的Webserver之間的接口。
JAVACartridges。
內(nèi)置Java解釋器,支持JavaApplet及JavaApplication的執(zhí)行,開發(fā)了oracle.rdbms、oracle.html、oracle.plsql等Java類包來支持動態(tài)的頁面產(chǎn)生、數(shù)據(jù)庫訪問等功能。
LiveHTMLCartridges。
將非Oracle的信息嵌入到OracleWeb的頁面中,以實現(xiàn)WebServer體系結(jié)構(gòu)中的SSI。
系統(tǒng)的設(shè)計實現(xiàn)
1、背景
遼河油田是我國重要的石油生產(chǎn)基地,其信息化建設(shè)一直處于國內(nèi)生產(chǎn)性企業(yè)的前列。但是其各采油廠的生產(chǎn)數(shù)據(jù)卻一直是人工在月末以月報的形式上報石油勘探局。領(lǐng)導(dǎo)既不能方便、迅速的把握生產(chǎn)數(shù)據(jù),各采廠也需要投入大量的人力、物力上報數(shù)據(jù)。
經(jīng)過多年的信息化建設(shè),油田各采廠都采用了一個數(shù)據(jù)完整的Oracle數(shù)據(jù)庫系統(tǒng)。但是生產(chǎn)曲線的上報仍然是在匯總各庫數(shù)據(jù)后,采用原來開發(fā)的基于Foxpro的小型圖形繪制系統(tǒng)。既沒有利用起現(xiàn)在的軟硬件設(shè)備,也不能實時的查看生產(chǎn)曲線。在考察了油田的實際信息化建設(shè)程度和數(shù)據(jù)庫的維護狀況以后,我們決定開發(fā)一個基于Oracle數(shù)據(jù)庫系統(tǒng),采用OWAS技術(shù)的WWW信息查詢系統(tǒng)。其主要設(shè)計目標(biāo)是:
能及時有效的對生產(chǎn)數(shù)據(jù)進行匯總查詢。
方便的查看生產(chǎn)動態(tài)曲線,掌握實際的生產(chǎn)情況。
2、系統(tǒng)的結(jié)構(gòu)
從前面對OWAS的分析介紹,我們可以看出它是一個具有Web服務(wù)器及應(yīng)用服務(wù)器功能的Server端的軟件系統(tǒng)。它支持我們在前面討論的三種數(shù)據(jù)庫的設(shè)計技術(shù)。并且很好的支持Java各種機制的實現(xiàn)。
利用OWAS的PL/SQLAgent能通過DAD(DataAccessDescription)透明的實現(xiàn)與Oracle數(shù)據(jù)庫服務(wù)器相連接。PL/SQL接口用來處理各PL/SQLAgent。它能最迅速、有效的解釋客戶端請求的PL/SQL過程,并將結(jié)果返回給Web監(jiān)聽器。所以生產(chǎn)數(shù)據(jù)上報及查詢模塊可以建立在OWAS的這一技術(shù)之上。
油田的生產(chǎn)曲線能反映一個油井或油區(qū)等的生產(chǎn)趨勢,以便在管理和開發(fā)上作出相應(yīng)的調(diào)整?紤]到網(wǎng)絡(luò)的容量的限制,采用JavaApplet組件技術(shù)在瀏覽器端執(zhí)行產(chǎn)生模塊,可明顯提高網(wǎng)絡(luò)的速度。由于生產(chǎn)曲線的專業(yè)要求較高,利用Java語言的面向?qū)ο蟮募夹g(shù)單獨處理各類曲線(其數(shù)據(jù)由PL/SQL過程動態(tài)從庫中提取)。系統(tǒng)體系結(jié)構(gòu)如圖7所示。
圖7.系統(tǒng)結(jié)構(gòu)模型
3、該查詢模式的優(yōu)點:
客戶端平臺只需安裝一個瀏覽器,并且無須對用戶進行特殊培訓(xùn),降低了客戶端軟件開發(fā)費用和用戶的培訓(xùn)費用。
Intranet模式具有很高的集中性。所有的應(yīng)用程序和數(shù)據(jù)庫都放在服務(wù)器端,客戶端只安裝瀏覽器。減少了系統(tǒng)維護的工作量,系統(tǒng)的全部工作集中在服務(wù)器端,從而真正實現(xiàn)了客戶端的零維護。
結(jié)束語
本系統(tǒng)在遼河油田的實際應(yīng)用中取得了良好的效果,它不僅解決了原來的月報上報的煩瑣程序和大量人力、物力,而且整合了一直處于分離的數(shù)據(jù)庫系統(tǒng)和生產(chǎn)動態(tài)曲線系統(tǒng)。
由于各個二級單位的信息系統(tǒng)的建設(shè)不一,沒有能夠?qū)崿F(xiàn)OracleWebApplicationServer的真正分布系統(tǒng),而是采用多節(jié)點方法。在界面和功能的實現(xiàn)上沒有完全的利用起OracleWebApplicationServer強大的接口系統(tǒng),有待進一步的開發(fā)。
參考文獻:
JohnAddphPlinskiOracle8初學(xué)者指南機械工業(yè)出版社1998.
ScottUrmanPL/SQL程序設(shè)計機械工業(yè)出版社1998.
KrisJamsaJava編程與實例電子工業(yè)出版社1997.
吳良清現(xiàn)行各種Web數(shù)據(jù)庫設(shè)計技術(shù)的分析與比較計算機系統(tǒng)與應(yīng)用99.3
聯(lián)系人:朱峻波
通訊地址:天津大學(xué)系統(tǒng)工程研究所97研(郵編:300072)
電話:(022)27400482
E-mail:zhujunbo#263.net
【基于ORACLE技術(shù)的WWW信息查詢系統(tǒng)】相關(guān)文章:
基于WWW的勞資人事管理系統(tǒng)08-06
基于WWW的勞資人事管理系統(tǒng)08-06
基于PB6和ORACLE8開發(fā)“勞動信息管理系統(tǒng)”08-06
基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)08-06
基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)08-06
基于WWW的協(xié)同式CAI軟件的Java實現(xiàn)08-06
開發(fā)基于Web的地震目錄數(shù)據(jù)庫查詢系統(tǒng)08-06