基于Oracle APEX的環(huán)保數(shù)據(jù)顯示平臺設(shè)計

隨著城市建設(shè)的不斷發(fā)展,空氣污染問題越來越突出,人們對于空氣質(zhì)量越來越關(guān)注,同時,給氣象預報工作帶來了巨大的挑戰(zhàn)。為了制作環(huán)境空氣預報,沈陽市環(huán)保局為氣象局提供11個國家環(huán)境空氣質(zhì)量監(jiān)測點數(shù)據(jù)。但是,隨著氣象服務(wù)需求的不斷擴大,原有的文本數(shù)據(jù)顯得瑣碎和不便,而且這些傳統(tǒng)的方式不能實現(xiàn)隨時了解數(shù)據(jù)發(fā)展趨勢的要求。因此,如何從繁多的環(huán)境數(shù)據(jù)中提取出所需的數(shù)據(jù)信息,滿足預報員的應用需求就顯得尤為重要。為此,本文提出基于Oracle APEX的環(huán)保數(shù)據(jù)顯示平臺設(shè)計,為環(huán)境預報提供更便捷的服務(wù)。
Oracle APEX簡介
Oracle APEX全稱Oracle Application Express,是一種基于Oracle數(shù)據(jù)庫的Web應用快速開發(fā)工具,由應用程序構(gòu)建器、SQL工作室、實用程序和管理四個組件組成。采用Web開發(fā)頁面以及申明式的框架結(jié)構(gòu),通過向?qū)Чδ軇?chuàng)建對象、修改、查詢、管理SQL語句,完成提取、校驗、轉(zhuǎn)換等相關(guān)操作,最終將數(shù)據(jù)以報表、表單、圖表等形式顯示在網(wǎng)頁上。
Oracle APEX體系結(jié)構(gòu)
Oracle APEX內(nèi)置于Oracle數(shù)據(jù)庫中,使用Web瀏覽器就可以開發(fā)、部署、運行應用,在客戶端瀏覽器與服務(wù)器端的web監(jiān)聽程序與Oracle數(shù)據(jù)庫進行通信。Oracle APEX由元數(shù)據(jù)庫和引擎組成,元數(shù)據(jù)庫用來存儲應用程序狀態(tài)信息,描述了網(wǎng)頁組件的創(chuàng)建,引擎在 PL/SQL中實現(xiàn),提交和處理頁面,還執(zhí)行狀態(tài)管理、權(quán)限服務(wù)、頁面流控制和驗證處理等任務(wù)。瀏覽器與數(shù)據(jù)庫間的信息交換通過應用服務(wù)器完成。APEX引擎在Oracle數(shù)據(jù)庫中起著關(guān)鍵的作用,它將URL請求解析成PL/SQL調(diào)用,由數(shù)據(jù)庫處理并將結(jié)果以HTML的形式返回瀏覽器。
Oracle APEX主要組件
Oracle APEX為快速、便捷地開發(fā)Web應用提供了四大組件:應用程序構(gòu)建器用于構(gòu)建以oracle數(shù)據(jù)庫為中心的交互式Web應用程序;SQL工作室用于訪問數(shù)據(jù)庫對象、運行SQL語句和SQL腳本;實用程序是加載和卸載數(shù)據(jù)、生成DDL、運行對象報表以及管理回收站;管理組件是用于管理服務(wù)和用戶,以及監(jiān)視Web活動。
系統(tǒng)整體框架設(shè)計

圖1 系統(tǒng)框架設(shè)計圖
Oracle APEX將用戶界面、應用邏輯和數(shù)據(jù)訪問分離,因此在設(shè)計系統(tǒng)中,按照三層模型進行設(shè)計, 使得用戶不需要將 HTML 代碼與核心應用連在一起,在改變頁面布局或業(yè)務(wù)邏輯時,不需要對底層數(shù)據(jù)庫進行改變。

圖2 環(huán)保數(shù)據(jù)顯示頁面
數(shù)據(jù)庫設(shè)計
采用Oracle DataBase 11G 數(shù)據(jù)庫系統(tǒng),為環(huán)境污染數(shù)據(jù)提供數(shù)據(jù)載體。通過JAVA語言實現(xiàn)數(shù)據(jù)采集和轉(zhuǎn)換。使用Microsoft SQL server 2008建立名為HBDATA的數(shù)據(jù)庫表。
應用程序開發(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è)備建立一個獨立于各單位內(nèi)網(wǎng)的網(wǎng)絡(luò)。
文件讀取、數(shù)據(jù)讀取、數(shù)據(jù)存儲、文件生成等使用JAVA開發(fā)語言。在原始文本中獲取每行字符后,使用JAVA正則表達式分離每個數(shù)值,將分離好的日期時間轉(zhuǎn)換成標準時間格式,通過數(shù)據(jù)庫聯(lián)接類寫入Oracle數(shù)據(jù)庫污染數(shù)據(jù)表中。
Oracle APEX區(qū)域源代碼如下:


用戶交互層采用HTML5規(guī)范,利用ORACLE和JAVA開發(fā),主要是B/S結(jié)構(gòu)的可通過瀏覽器訪問的頁面。特點包括:
(1)不需要安裝使用簡單,任何瀏覽器都可以登錄。
(2)提供類似數(shù)據(jù)窗口功能,操作數(shù)據(jù)庫簡單快速。
(3)通過密碼驗證權(quán)限訪問,驗證技術(shù)基于ORACLE的APEX實現(xiàn),安全性高。
本文通過研究和分析Oracle APEX的工作原理和開發(fā)方法,應用JAVA、HTML5等技術(shù),設(shè)計并實現(xiàn)了環(huán)保數(shù)據(jù)頁面顯示的開發(fā),這個快速高效的開發(fā)工具對日常工作的開展帶來很多便利,為環(huán)境預報水平的提高和效率的提升起到了積極的促進作用。
10.3969/j.issn.1001- 8972.2016.15.026