KJF2000自動升級係統的實現
鄭 確,曾 偉,張 亮(大連礦山安全科學技術研究院,遼寧大連116013)
摘 要:目前國內外大部分企業的軟件開發產品都提供在線自動升級服務。而對於煤礦監控係統軟件尚無企業提供此服務。在此提出一種基於WebService技術,采用B/S模式來實現煤礦安全監控係統軟件的在線自動升級。
關鍵詞:C/S ;B/S ;WebService ;UDDI ;XML文件
中圖分類號:TD76 文獻標識碼:B 文章編號:1003-496X(2006)
煤礦安全監控係統是國內大、中、小煤礦用來對井下有害氣體進行監測的最基本的係統。目前大部分煤礦安全監控係統都是采用C/S結構進行設計與開發的,在軟件有改進和升級的時候需要頻繁地投入技術人員到礦上進行安裝和調試,極大地浪費了時間、金錢和人力。為了使現場用戶能夠及時使用監控係統軟件的最新版本,並且節省生產廠家的人力和財力,因此我們采用B/S結構設計開發了KJF2000軟件自動升級係統。
1 係統功能
KJF2000自動升級係統主要用於實現KJF2000礦中心站軟件、KJF2000礦終端軟件、KJF2000報表打印軟件、KJF2000曲線03manbetx
軟件和KJF2000短信報警係統的升級。用戶可以在互聯網上通過訪問服務器實現軟件的升級與文件下載。在客戶端,用戶可以根據自己的需要選擇所要升級的軟件。在升級過程中,我們通過用戶錄入的用戶基本信息,對用戶的合法性進行驗證而且根據這些信息可以及時了解用戶的使用情況。在服務器端,網絡管理員對工程、文件以及用戶進行管理。當有新的係統需要升級時,通過增加工程名稱對該係統的基本信息進行錄入;通過增加文件對該係統升級需要的信息進行錄入,從而使用戶順利完成升級。
2 係統結構
如圖1所示。
基於WebService技術的KJF2000自動升級係統主要包括2部分:軟件自動升級係統客戶端、軟件自動升級係統服務器端。
用戶訪問 的數據流程如下:
(1)用戶訪問升級服務器發出升級申請,從服務器端下載XML文件,自動升級係統判斷是否需要升級。
(2)當判斷需要升級時,根據XML文件中提供的地址再次連接服務器,下載需要升級的文件。
(3)當文件下載完成之後,自動升級係統進行安裝升級。
3 係統實現
3.1 軟件自動升級係統客戶端在開發過程中我們嚴格遵守軟件開發項目中比較經典的瀑布法(即生命周期法),按照瀑布法,從需求03manbetx
到概要設計到詳細設計一應懼全,所以我們的開發工作圍繞以下方麵有序的進行。
(1)可行性研究階段。我們為了用最小的代價在盡可能短的時間內確定問題是否能夠解決而進行可行性研究。在可行性研究中通過調研,根據實際情況畫出係統流程圖、數據流程圖、數據字典以及成本/效益03manbetx
從而得出結論,該項目中會出現的問題可以解決。進行下一階段。
(2)需求03manbetx
階段。我們在需求分析階段確定了自動升級係統必須完成哪些工作,並對該係統提出完整、準確、清晰及具體的要求。在需求分析階段我們對上一階段的數據流程圖進行了細化,明確了我們每位項目組組員在開發階段的分工。(3)總體設計階段。在總體設計過程中,我們按照該階段的慣例進行了兩個主要階段的設計,即係統設計(確定係統的具體實現方案)以及結構設計(確定軟件結構)。我們通過在需求分析階段細化的數據流程圖選擇合理的方案,並且在這些合理的方案中推薦出一個最佳的方案。之後我們進行功能的分解,確定組成這個係統的模塊以及數據庫,並且確定這些模塊之間的關係(要求模塊與模塊之間采用低耦合的關係)以及每個模塊的處理過程(要求每個模塊應該盡可能的功能獨立、接口簡單,即高內聚),數據庫設計采用了第三範式形式的實體及關係數據模型。
(4)詳細設計階段。我們通過在這個階段的設計工作,得出了對KJF2000自動升級係統的精確描述,從而在編碼階段可以將這個描述直接翻譯成用程序設計語言書寫的程序。詳細設計的結果基本上決定了最終的程序代碼的質量。由於本係統相對其它大型係統來說要簡單一些,所以在該設計階段並沒有分的那麼詳細。
(5)編碼階段。在以上4個階段進行完了之後,我們進入了實際的編碼階段,在這個階段我們實際上就是實現人和計算機之間的通信。在這裏我們采用的是運行在Microsoft Visual Studio .NET 2003平台下的C++語言,該平台具有Web開發環境,可以實現基於網絡的係統開發。
(6)測試。我們通過對自動升級係統進行了基本的測試(包括黑盒測試、白盒測試以及基本的模塊測試和簡單的係統測試)以後,已經排除了一些在測試過程中出現的問題。在投入現場後還需要對該係統進行進一步的測試,以便真正意義上的適應用戶需求。
3.2 自動升級係統服務器端
(1)需求分析。開發背景:隨著我院軟件產品在全國的廣泛應用以及軟件更新速度的加快,開發軟件升級係統也成為了必然。客戶要想獲得最新的產品,享用最新的增強功能,隻需點擊自動升級程序便可升級到最新版本無需重新更換軟件。節省了人力物力,方便了客戶的要求。用戶需求:用戶的需求是軟件開發的依據,根據用戶的反映以及現場與用戶的溝通,用戶急切希望自動升級係統的出現,通過在互聯網上收集相關資料,並對這些資料進行了詳細的分析,進而確定了軟件要實現的主要功能,如前所述。
(2)軟件總體架構及數據庫設計。總體結構:在需求分析的過程中確定了服務器軟件要實現的主要功能,根據主要功能將服務器軟件的設計主要分為4個模塊:工程管理模塊、文件管理模塊、用戶管理模塊、web服務模塊。數據庫設計:軟件采用Mi-crosoft SQL Server作為後台數據庫。數據庫的設計本著減少數據冗餘,提高數據庫性能的原則,係統運行時的重要數據在數據庫中都有存儲,方便重要數據的查詢和係統的維護
(3)詳細設計,代碼編寫。詳細設計:根據上述四大功能模塊將各模塊的功能細化。工程管理部分,主要實現工程的錄入、修改、刪除。文件管理部分,主要實現文件的錄入、修改、刪除以及文件的上傳、目錄的建立、刪除。用戶管理部分,主要實現用戶的添加、資料的修改、刪除以及升級用戶信息的瀏覽。Web服務,主要根據用戶的輸入信息進行判斷,生成升級文件列表。
4 係統設計流程
該係統采用VC.NET、C#開發,其軟件設計流程圖如圖2所示。
流程圖說明:當用戶選擇要升級的係統,點擊“開始”按鈕後,用戶將通過Internet訪問指定的
Web服務器,並在Web服務器上下載指定的腳本文件。如果文件下載成功,通過對比得出是否需要升級,當判斷需要升級時再根據文件提供的地址下載升級所需要的文件。下載成功後,係統將執行升級,然後重新啟動係統,升級成功。
5 關鍵技術
5.1 WebService技術與UDDI標準WebService是指由企業發布的完成其特別業務需求的在線應用服務,其他公司或應用軟件能夠通過Internet來訪問並使用這項在線服務。WebSer-vice技術是一種輕量級的獨立的通訊技術。WebService是下一代的Internet技術發展的趨勢,它允許在Web站點上放置可編程的元素,能進行基於Web的分布式計算和處理。WebService的發展非常迅速,正在走向成熟,它的規範(SOAP、WSDL和DDI)的構建模塊已經對設計、開發和部署基於Web的應用產生了巨大的影響,軟件產業的巨頭和Internet時代的軟件新貴們已經開始了在這個領域新一輪的競爭。
Web Service通過一種更具彈性的架構加速應用的開發,能夠靈活機動地用更好地業務流程處理多變的業務需求,可以大大降低與現有或未來客戶之間進行業務往來的成本,創造更大地利潤,並能迅速地發現並集成新業務夥伴的應用,充分利用現有的軟件投資UDDI是一套基於Web的、分布式的、為WebService提供的、信息注冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service注冊,以使別的企業能夠發現的訪問協議的實現標準。
所有的UDDI商業注冊信息都存儲在UDDI商業注冊中心。通過使用UDDI的發現服務,企業可以單獨注冊那些希望被別的企業發現的自身提供的Web Service。企業可以通過UDDI商業注冊中心的Web界麵,或使用實現了“UDDI Programmer’s API標準”所描述的編程接口的工具,將信息加入到UDDI的商業注冊中心。UDDI商業注冊中心在邏輯上是集中的,在物理上是分布式的,由多個根節點組成,相互之間按一定規則進行數據同步。當一個企業在UDDI商業注冊中心的一個實例中實施注冊後,其注冊信息會被自動複製到其他UDDI根節點,於是就能被任何希望發現這些Web Service的人所發現。
WebService是獨立的、模塊化的應用,能夠通過網絡,特別是WWW來描述、發布、定位以及調用。Web Service的體係結構描述了三個角色(服務提供者、服務請求者、服務代理者)以及三個操作(發布、查找、綁定)。
服務提供者通過在服務代理者那裏注冊來配置和發布服務,服務請求者通過查找服務代理者那裏的被發布服務的登記記錄來找到服務,服務請求者綁定服務提供者並使用可用的服務。
在Web Service的世界裏,三個操作都包含三個受到稱讚卻又截然不同的技術。發布服務使用UDDI(統一描述、發現和集成),查找服務使用UD-DI和WSDL(Web Service描述語言)的組合,綁定服務使用WSDL和SOAP。在三個操作中,綁定操作是最重要的,它包含了服務的實際使用,這也是容易發生互操作性問題的地方。正是由於服務提供者和服務請求者對SOAP規範的全力支持才解決了這些問題,並實現了無縫互操作性。
5.2 解析XML文件
XML是一種簡單的數據存儲語言,使用一係列簡單的標記描述數據,而這些標記可以用方便的方式建立。正象HTML一樣,可擴展置標語言XML(eXtensible Markup anguage)也是一種置標語言。它同樣依賴於描述一定規則的標簽和能夠讀懂這些標簽的應用處理工具來發揮它的強大功能。將從服務器上下載的XML文件進行解析,得到服務器傳送給客戶端的消息。我們這裏采用了從根接點開始,一節一節向下解析的方法來解析XML文件。
6 結束語
該係統采用WebService技術、UDDI標準,利用B/S結構模式的原理進行研究和開發。客戶要想獲得最新的產品,享用最新增加的功能,隻需點擊自動升級程序便可升級到最新版本無需重新更換軟件,節省了人力物力,方便了客戶的要求。目前該係統現已開發結束,即將投放市場。
作者簡介:鄭 確(1979- ),女,遼寧撫順人,助理工程師,2003年畢業於遼寧工程技術大學計算機科學與技術專業,獲得工學學士學位,現就職於大連礦山安全科學技術研究院。
(收稿日期: