劉曉玲
( 大連市金融中專,遼寧 大連 116021)
引言:隨著經濟的發展,國家對環保事業越來越重視,數字化在線監測與控制技術已進入環保行業,并發揮重要作用。這些設備產生的數據進行實時讀取和生成實時圖表的需求對原有在線監測數據查詢WEB程序提出很高要求:原有基于瀏覽器的B/S模式完全依賴瀏覽器,具有網絡局限性;界面局限性:客戶端使用界面圖形簡單、功能不全,缺乏友好性,無法實現具有個性化的功能要求;版本更新局限性:版本的更新或升級步驟繁瑣,加大用戶的負擔。污染源在線監測系統既要隨著社會的發展不斷完善,又要方便客戶使用,而要使上千甚至更多的桌面程序保持時時升級,不僅有巨大的工作量,還有復雜、困難的技術問題。在解決客戶端軟件部署、更新方面,雖然B/S或n層結構技術曾被廣泛應用,由于B/S或n層結構技術是一種網頁發布技術[1],只能對簡單圖形進行組件,無法滿足對文字、表格和圖象處理的復雜應用,而且其服務器和網絡環境對其響應速度有重大影響[2]。
JWS(JAVAWEBSTART)技術使應用程序升級容易快捷,運行不受制于網絡,在國外受到很多應用軟件開發商的歡迎[3],在我國,有學者應用于工業自動化、地理信息系統及校園網絡方面[4]。課題中運用JWS,SWING等技術構建一種能快速部署并且能實現復雜用戶界面的WEB應用。在完全繼承B/S模式優點的同時解決了B/S模式的缺點,不依賴WEB瀏覽器,實現高度交互的用戶界面,同時支持脫機使用。
1 JWS技術
JWS是SUN公司為實現JNLP(JavaNetwork launchingProtocol,Java網絡加載協議)而開發的軟件[4],包含了 applet的可移植性[2]、Servlet和 Java ServerPages的可維護性以及類似XML和HTML標記語言的簡易性。是一種基于Java的應用程序部署技術,JWS技術的優點:(1)支持脫機使用。允許用戶在完全脫離Web的情況下運行和管理應用程序,實現基于Web部署的應用程序到本地應用程序的轉換。(2)升級簡易。提供一次單擊激活應用程序的簡易方法,保證始終運行應用程序的最新版本,避免復雜的安裝或升級過程。(3)安全最大化。JWS自身是一個Java應用程序,繼承了Java安全性的優點,使得下載的程序受到java中的沙箱模型限制,不能占用本地的系統與資源,同時也支持數字簽名來判別是否啟動應用程序。(4)界面友好。支持字處理、表格以及圖象處理等復雜應用,界面美觀友好。基于以上優點,JWS技術可以為污染源在線監測數據查詢系統軟件的實現提供技術支持和保證。
1.2 JWS工作原理
JWS應用于連接客戶端和應用程序,其工作流程如下:

圖1
步驟一:當客戶通過瀏覽器鏈接或點擊應用程序的快捷方式時,JWS即被啟動。步驟二:JWS鏈接提供應用程序的Web服務器。步驟三:JWS判斷客戶端是否是第一次運行應用程序,如果是,則自動從服務器下載JWS應用程序的最新版本到客戶端,然后在客戶端啟動應用程序;如果不是,則檢查客戶端緩存的JWS應用程序是否是最新版本,如果是,則在客戶端啟動應用程序,如果不是,當Internet連接可用時,下載應用程序更新部分,當Internet不可用時,客戶端啟動應用程序。
2 JWS在污染源在線監測系統的應用
2.1 系統功能
一、顯示實時數據,環保實時數據是由各個環境信息采集點實時產生,通過無線通信傳輸(GPRS)到環境監測中心,數據經過系統后臺服務器整理、分析、處理后發送到系統前臺界面顯示。
二、顯示小時數據,被監控企業廢氣污染源自動監測設備1個小時自動采樣一次,廢水污染源自動監測設備2個小時自動采樣一次,數據經過整小時進行傳輸顯示。
三、顯示報警數據,后臺服務器接收數據的時候,當有一種污染如濃度超出了系統設定的范圍時,系統采用多種形式給予報警或者警示。
四、生成日、周、月、季、年報表,系統從多種角度和層面來統計分析監測數據,提供全面的報表和統計圖表。可以按轄區、按行業種類、按污染物種類等多種分類方式,生成統計報表和統計圖表。
五、顯示動態圖表,動態圖表主要以曲線圖的形式顯示。
2.2 項目框架模型:
系統分為四層:UI層:借助SwingStruts實現。用ActionForm類封裝與用戶互動的數據元素;用Action類實現業務邏輯、動作處理、鏈接轉向。實現MVC中的C;借助Struts標簽來完成數據呈現,實現MVC中的V。選擇SWING實現跨平臺使用,實現復雜用戶界面。業務層:在servlet中實現具體的業務邏輯,系統的UI層和業務層完全獨立,分成兩個獨立的系統,他們之間通過可序列化對象進行通信。數據持久層:借助Hibernate實現。實現數據庫訪問性能優化和與數據庫交互的常用操作(CRUD),還將數據表與對象進行關聯,讓我們可以脫離數據表,而直接針對對象與數據庫交互,不再需要用字符串去描述表中字段,不需要組裝Sql語句。
2.3 系統部署實現
本系統采用JWS的D/S(DesktopApplication/ServerApplication)結構,客戶端用 Swing,服務器端可以使用SERVLE,采用Swing和SERVLE來交換數據,采用標準的HTTP協議來通訊,交換數據。把做好的Swing UI打包成*.jar,簽名(javasinger)后放到WEBAPP目錄下。同時建立一個 *.jnlp(Java.NETwork LaunchingProtocol)文件,客戶端只要點擊JNLP文件的連接,就會激活客戶端JWS啟動,下載jar包后自動運行程序。這里的Swing和在JavaIDE(如Eclipse)里面運行的一樣,可以操作本地文件,其實就是把jar包下載到本地運行的,通過運行的SERVLE來交換數據。其系統部署實現的具體方法如下:
(1)JNLP文件。JNLP文件是JWS的核心,是一種為應用程序提供基本元素和描述的XML文件[5]。JWS是與網絡瀏覽器相結合的應用軟件,當用戶點擊鏈接時會指向一個Java網絡啟動協議JNLP文件,然后瀏覽器自動啟動JWS,接著下載、緩存并運行軟件。在JWS背后的技術是JNLP及其API,JWS實際上是JNLP規范的一個參考實現,JNLP技術定義了一個標準的文件格式,該格式描述了如何調用一個JNLP文件。JNLP是一個和JWS緊密相關的概念,它經常可以和術語"網絡啟動"相互替代使用,實際上,JNLP是一個規定了JWS應用軟件如何啟動的協議。JNLP中的包含了諸如JAR包文件的位置、應用軟件主要類的名稱,以及程序的其它一些參數。
一個JNLP文件不包含任何二進制數據,實際上它包含的URL指向所有的二進制數據和二進制代碼資源。這些文件還可以指向其他的JNLP文件,它們被稱為擴展描述符[8],一個擴展描述符通常描述了運行軟件所必需的組件,在擴展描述符中描述的資源將會成為應用軟件類路徑的一部分,這樣,常用的功能只需要描述一次即可,同樣,污染源在線監測系統也是基于這種文件,開發過程中JNLP文件略。
(2)在 web server中設定 MIME形態,即:在TOMCAT_HOME﹨conf﹨web.xml中加入

(3)制作網頁,以鏈接JNLP文件,即
在網頁中加入。這樣,用戶點擊鏈接的時候就會指向一個Java網絡啟動協議JNLP文件,然后瀏覽器自動啟動JWS,接著下載、緩存并運行軟件。整個污染源在線監測系統應用程序在JWS下部署完畢。
3 污染源在線監測系統的應用
基于以上部署和算法技術,當通過Web瀏覽器啟動JWS,下載完成后,應用程序的啟動可以選擇在線啟動和離線啟動,當選擇在線啟動時,JWS先進行應用程序更新,后啟動應用程序;當選擇離線啟動時,JWS直接啟動應用程序。該軟件可以通過修改配置文件來滿足不同用戶的要求,用戶操作不當時,有相應的提示信息,用戶幫助中歸納了用戶可能遇到的問題和解決方法,便于系統維護。以JWS技術部署本系統的優點如下:
(1)采用多層結構和JWS這兩種瘦客戶端技術,解決了在企業級的局域網中部署軟件的問題,減少客戶端系統及硬件需求,降低了系統軟件成本。(2)業務和數據處理均在服務器端進行,對網絡要求不高,穩定性好。(3)來自JAVA技術的特點,該系統具有高度的通用性和跨平臺的特性。(4)系統的安全性高。用JWS部署軟件,該軟件至少有本系統部署單位的軟件簽名,方可部署;JWS能及時的更新或升級該軟件。(5)不依賴WEB瀏覽器。通過HTTP協議訪問WEB服務器,實現高度交互的用戶界面,同時支持脫機使用的在線監測數據查詢。
結論:本系統不僅適用于污染源的在線監測,還適用于水質、水文、生態等各種環境要素的自動監測。對環保企業污染物監測數據查詢和統計分析工作有重要的意義。目前我國大部分污染源監測系統不具備實時遠程監控功能。將自動控制、網絡通信等信息技術引入環境監測領域,是環境監測信息管理的時代潮流和必然趨勢。因此本系統還需要在這方面進一步完善。
[1]龍瓊.用Java Web Star軟件進行客戶端軟件部署[J].湖南工程學院學報,2004,(1):69-71.
[2]李文清,劉前進.基于Java Web Star技術的電網培訓考核系統[J].電力系統保護與控制,2009年4月1日,第37卷第7期.
[3]金進.基于Java Web Star技術的應用程序在工業自動化中的實現 [J].微計算機信息,2005,(5):218-219.
[4]張素青.使用Java Web Star部署自己的Java應用程序[J].新余高專學報,2005,(2):84-86.
[5]劉斌.基于Java Web Start的鐵路調度查詢系統研究[J].蘭州交通大學學報,2009年6月,第28卷第3期.