基于Oracle APEX的環(huán)保數(shù)據(jù)顯示平臺(tái)設(shè)計(jì)
隨著城市建設(shè)的不斷發(fā)展,空氣污染問題越來越突出,人們對于空氣質(zhì)量越來越關(guān)注,同時(shí),給氣象預(yù)報(bào)工作帶來了巨大的挑戰(zhàn)。為了制作環(huán)境空氣預(yù)報(bào),沈陽市環(huán)保局為氣象局提供11個(gè)國家環(huán)境空氣質(zhì)量監(jiān)測點(diǎn)數(shù)據(jù)。但是,隨著氣象服務(wù)需求的不斷擴(kuò)大,原有的文本數(shù)據(jù)顯得瑣碎和不便,而且這些傳統(tǒng)的方式不能實(shí)現(xiàn)隨時(shí)了解數(shù)據(jù)發(fā)展趨勢的要求。因此,如何從繁多的環(huán)境數(shù)據(jù)中提取出所需的數(shù)據(jù)信息,滿足預(yù)報(bào)員的應(yīng)用需求就顯得尤為重要。為此,本文提出基于Oracle APEX的環(huán)保數(shù)據(jù)顯示平臺(tái)設(shè)計(jì),為環(huán)境預(yù)報(bào)提供更便捷的服務(wù)。
Oracle APEX簡介
Oracle APEX全稱Oracle Application Express,是一種基于Oracle數(shù)據(jù)庫的Web應(yīng)用快速開發(fā)工具,由應(yīng)用程序構(gòu)建器、SQL工作室、實(shí)用程序和管理四個(gè)組件組成。采用Web開發(fā)頁面以及申明式的框架結(jié)構(gòu),通過向?qū)Чδ軇?chuàng)建對象、修改、查詢、管理SQL語句,完成提取、校驗(yàn)、轉(zhuǎn)換等相關(guān)操作,最終將數(shù)據(jù)以報(bào)表、表單、圖表等形式顯示在網(wǎng)頁上。
Oracle APEX體系結(jié)構(gòu)
Oracle APEX內(nèi)置于Oracle數(shù)據(jù)庫中,使用Web瀏覽器就可以開發(fā)、部署、運(yùn)行應(yīng)用,在客戶端瀏覽器與服務(wù)器端的web監(jiān)聽程序與Oracle數(shù)據(jù)庫進(jìn)行通信。Oracle APEX由元數(shù)據(jù)庫和引擎組成,元數(shù)據(jù)庫用來存儲(chǔ)應(yīng)用程序狀態(tài)信息,描述了網(wǎng)頁組件的創(chuàng)建,引擎在 PL/SQL中實(shí)現(xiàn),提交和處理頁面,還執(zhí)行狀態(tài)管理、權(quán)限服務(wù)、頁面流控制和驗(yàn)證處理等任務(wù)。瀏覽器與數(shù)據(jù)庫間的信息交換通過應(yīng)用服務(wù)器完成。APEX引擎在Oracle數(shù)據(jù)庫中起著關(guān)鍵的作用,它將URL請求解析成PL/SQL調(diào)用,由數(shù)據(jù)庫處理并將結(jié)果以HTML的形式返回瀏覽器。
Oracle APEX主要組件
Oracle APEX為快速、便捷地開發(fā)Web應(yīng)用提供了四大組件:應(yīng)用程序構(gòu)建器用于構(gòu)建以oracle數(shù)據(jù)庫為中心的交互式Web應(yīng)用程序;SQL工作室用于訪問數(shù)據(jù)庫對象、運(yùn)行SQL語句和SQL腳本;實(shí)用程序是加載和卸載數(shù)據(jù)、生成DDL、運(yùn)行對象報(bào)表以及管理回收站;管理組件是用于管理服務(wù)和用戶,以及監(jiān)視Web活動(dòng)。
系統(tǒng)整體框架設(shè)計(jì)
圖1 系統(tǒng)框架設(shè)計(jì)圖
Oracle APEX將用戶界面、應(yīng)用邏輯和數(shù)據(jù)訪問分離,因此在設(shè)計(jì)系統(tǒng)中,按照三層模型進(jìn)行設(shè)計(jì), 使得用戶不需要將 HTML 代碼與核心應(yīng)用連在一起,在改變頁面布局或業(yè)務(wù)邏輯時(shí),不需要對底層數(shù)據(jù)庫進(jìn)行改變。
圖2 環(huán)保數(shù)據(jù)顯示頁面
數(shù)據(jù)庫設(shè)計(jì)
采用Oracle DataBase 11G 數(shù)據(jù)庫系統(tǒng),為環(huán)境污染數(shù)據(jù)提供數(shù)據(jù)載體。通過JAVA語言實(shí)現(xiàn)數(shù)據(jù)采集和轉(zhuǎn)換。使用Microsoft SQL server 2008建立名為HBDATA的數(shù)據(jù)庫表。
應(yīng)用程序開發(fā)
Oracle APEX是以數(shù)據(jù)庫為中心的開發(fā)工具,本系統(tǒng)采用B/S系統(tǒng)架構(gòu),借助Eclipse集成開發(fā)環(huán)境以及HTML5技術(shù)對系統(tǒng)建設(shè)部署。環(huán)保數(shù)據(jù)傳輸采取VPN方式構(gòu)建安全的網(wǎng)絡(luò)傳輸模式,使用“深信服”的VPN設(shè)備建立一個(gè)獨(dú)立于各單位內(nèi)網(wǎng)的網(wǎng)絡(luò)。
文件讀取、數(shù)據(jù)讀取、數(shù)據(jù)存儲(chǔ)、文件生成等使用JAVA開發(fā)語言。在原始文本中獲取每行字符后,使用JAVA正則表達(dá)式分離每個(gè)數(shù)值,將分離好的日期時(shí)間轉(zhuǎn)換成標(biāo)準(zhǔn)時(shí)間格式,通過數(shù)據(jù)庫聯(lián)接類寫入Oracle數(shù)據(jù)庫污染數(shù)據(jù)表中。
Oracle APEX區(qū)域源代碼如下:
用戶交互層采用HTML5規(guī)范,利用ORACLE和JAVA開發(fā),主要是B/S結(jié)構(gòu)的可通過瀏覽器訪問的頁面。特點(diǎn)包括:
(1)不需要安裝使用簡單,任何瀏覽器都可以登錄。
(2)提供類似數(shù)據(jù)窗口功能,操作數(shù)據(jù)庫簡單快速。
(3)通過密碼驗(yàn)證權(quán)限訪問,驗(yàn)證技術(shù)基于ORACLE的APEX實(shí)現(xiàn),安全性高。
本文通過研究和分析Oracle APEX的工作原理和開發(fā)方法,應(yīng)用JAVA、HTML5等技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了環(huán)保數(shù)據(jù)頁面顯示的開發(fā),這個(gè)快速高效的開發(fā)工具對日常工作的開展帶來很多便利,為環(huán)境預(yù)報(bào)水平的提高和效率的提升起到了積極的促進(jìn)作用。
10.3969/j.issn.1001- 8972.2016.15.026