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