張鍔 柯亞唯
摘 要:隨著信息化的發(fā)展,電力信息化越來越受到電力行業(yè)的關(guān)注和重視,電廠是電力行業(yè)的主要組成,電廠的信息化管理有助于促進電力行業(yè)信息化的發(fā)展。電廠信息管理系統(tǒng)采用前后端分離技術(shù),有效地提高了開發(fā)效率。文章主要對電廠信息管理系統(tǒng)進行后臺程序的開發(fā),在開發(fā)的過程中采用了當下流行的SSM(Spring MVC,Spring與MyBatis)框架,它能為編程提供通用的jar包、源碼、文件等資源,SSM框架分離了開發(fā)人員的前后端開發(fā)任務(wù),以及前端頁面顯示與后臺系統(tǒng)所需實現(xiàn)的業(yè)務(wù)邏輯,提高了Web應(yīng)用系統(tǒng)的開發(fā)效率,方便模塊的測試和維護。
關(guān)鍵詞:電廠管理信息系統(tǒng);SSM框架;后臺程序;前后端分離
中圖分類號:TP311.52 文獻標志碼:A 文章編號:2095-2945(2018)29-0156-03
Abstract: With the development of information technology, more and more attention has been paid to the power industry. Power plant is the main component of the power industry. The information management of power plant is helpful to promote the development of information technology in the power industry. The power plant information management system adopts the technology of separating the front end from the end, which effectively improves the development efficiency. This paper mainly develops the background program of the power plant information management system, and adopts the popular SSM (Spring MVC,Spring and MyBatis framework in the process of the development. It can provide general resources such as jar package, source code, file and so on for programming. It separates the front and back development tasks of the developer, and the business logic needed to be realized between front page display and background system. It improves the development efficiency of Web application system. Facilitate module testing and maintenance.
Keywords: power plant management information system, SSM framework; background program; front end separation
引言
隨著信息技術(shù)和計算機技術(shù)的迅猛發(fā)展和深入應(yīng)用, 計算機和網(wǎng)絡(luò)已進入到電力系統(tǒng)的各個領(lǐng)域,尤其是對電廠的建設(shè)、管理與監(jiān)控起著非常重要的作用。電廠信息管理系統(tǒng)是一個基于“瀏覽器/服務(wù)器”(B/S)的應(yīng)用系統(tǒng)[1],其靈活性、可移植性更強,對設(shè)備和瀏覽器的兼容性高,電腦端和移動端能同時訪問。電廠信息管理系統(tǒng)采用新的前后端分離的開發(fā)技術(shù),該技術(shù)具有以下優(yōu)點:
(1)前端開發(fā)人員和后端開發(fā)人員可分別對其代碼進行開發(fā),分工明確,開發(fā)過程更靈活,可同時進行,極大地提高了系統(tǒng)開發(fā)效率。
(2)前后端人員只需關(guān)注自身開發(fā)所需的理論技術(shù),而無需顧及另外的技術(shù),使開發(fā)過程更專注,系統(tǒng)性能有所提升。
(3)摒棄了前后端不分離開發(fā)時頁面固定死板的缺點,前后端分離技術(shù)可使前端頁面按需加載,使用戶體驗感更佳。
電廠信息管理系統(tǒng)的開發(fā)采用目前主流的前端React框架和后端的SSM框架,通過使客戶端與服務(wù)器端分離,可以快速定位問題所在,系統(tǒng)代碼可維護性高,更便于重構(gòu)。
1 電廠信息管理系統(tǒng)后臺程序需求分析
電廠信息管理系統(tǒng)作為連接上下級電力部門和用戶的媒介,一方面要能夠與各級電力公司、供電局等電力部門進行信息傳輸與交互,另一方面也要能夠為各下屬部門進行實時數(shù)據(jù)展示。鑒于電力行業(yè)的特殊性,其對信息傳輸?shù)陌踩浴⒎€(wěn)定性等方面有著較高的標準和要求[2]。
對電廠信息管理系統(tǒng)建設(shè)的基本要求和功能如下:
(1)標準化的信息設(shè)計,統(tǒng)一數(shù)據(jù)模式,在各級控制系統(tǒng)中智能設(shè)備與系統(tǒng)之間通過標準化的通訊流程、協(xié)議進行數(shù)據(jù)讀取和傳輸[3]。
(2)整體化的平臺設(shè)計,整個電廠只需通過一個數(shù)據(jù)平臺進行日常電廠信息管理,包括報文生成、實時監(jiān)控預(yù)警、數(shù)據(jù)存儲、人員管理及通知信息上傳下達等功能[3-5]。
(3)智能化的輔助決策設(shè)計,對于關(guān)鍵數(shù)據(jù)進行實時監(jiān)控,數(shù)據(jù)超出正常范圍時,及時預(yù)警,輔助電廠工作人員進行危機處理。
(4)良好的可擴展性,提供數(shù)據(jù)接口,方便對原有系統(tǒng)功能給予擴展和補充[3]。
(5)開發(fā)便利,可維護性強,模塊化開發(fā),便于系統(tǒng)管理與維護。
2 系統(tǒng)設(shè)計目標及實現(xiàn)方法
電廠信息管理系統(tǒng)后臺程序主要功能就是與數(shù)據(jù)庫進行交互,對后臺數(shù)據(jù)進行管理,并通過算法進行數(shù)據(jù)計算。系統(tǒng)的設(shè)計目標即通過對電廠信息管理系統(tǒng)采用前后端分離編程技術(shù)開發(fā)實現(xiàn)后臺管理程序功能,使用戶能在網(wǎng)頁上對系統(tǒng)數(shù)據(jù)庫進行增刪改查操作。具體功能如圖1所示。
3 SSM框架分析
本論文所采用的Spring-Spring MVC-MyBatis框架,使用MySQL數(shù)據(jù)庫對系統(tǒng)數(shù)據(jù)進行存儲和管理。它們?nèi)咧g的關(guān)系如圖2所示。
采用SSM框架編程可利用框架所提供的編程方法和參數(shù)簡化編程任務(wù),分離各層所需實現(xiàn)的業(yè)務(wù),使開發(fā)目標更明確,效率更高,兼容性和擴展性較高。
3.1 Spring框架概述
Spring是一款能解決很多J2EE共同的問題和代替EJB技術(shù)的強大的輕量級開源框架,是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的[3]。Spring框架的“輕”體現(xiàn)在框架自身的基礎(chǔ)配置,支撐和為其他工具的聚合能力。與龐大的EJB相比,Spring能直接通過容器獲取必要的業(yè)務(wù)組件而無需寫工廠模式,單例模式以及其他構(gòu)件方法。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從 Spring 中受益。它的核心技術(shù)就是控制反轉(zhuǎn)(IoC,Inversion of Control)和面向切面容器(AOP,Aspect Orient Programming)。
Spring框架中Spring核心容器模塊是Spring應(yīng)用的核心,它用于管理業(yè)務(wù)組件的IoC容器;Spring DAO和Spring ORM提供了數(shù)據(jù)處理的抽象模塊,并且整合了Hibernate,JDO和iBatis等流行的對象關(guān)系映射框架模塊支持[6],并提供了一個緩沖連接池(數(shù)據(jù)庫數(shù)據(jù)緩存的地方,可節(jié)省連接數(shù)據(jù)的時間,提高程序運行速度),傳輸過程和其他重要的服務(wù)功能來保證系統(tǒng)表現(xiàn)和數(shù)據(jù)完善;Spring Web模塊提供了大量的抽象Web應(yīng)用包,可用于整合Web框架。
3.2 Spring MVC框架概述
Spring MVC是Spring框架提供的構(gòu)建Web應(yīng)用程序的全功能模型-視圖-控制器(Model-View-Controller,簡稱MVC)模塊[7],它將任務(wù)分成了三大主要模塊,分工明確,開發(fā)效率高。
當用戶通過View頁面將對服務(wù)端的請求發(fā)送到Spring MVC應(yīng)用程序時,它的Web請求處理流程如圖3所示[8]。
Spring MVC分離了控制器、模型對象、處理器對象和調(diào)度器的角色,使用戶定制化更容易。Spring MVC盡可能多地將功能模塊之間分離可使應(yīng)用設(shè)計者更容易理解和修改每個特定單元,而無需知道其他單元的相關(guān)信息。MVC模式將任務(wù)分成了三大主要模塊,從而使三者之間的合作更有效。
MVC特定的行為能給不同類型的使用者代理發(fā)送不同的頁面。使用者之間通過MVC應(yīng)用的交互遵循以下循環(huán):使用者發(fā)生一個動作,應(yīng)用改變它的數(shù)據(jù)模型并傳遞一個更新的頁面給用戶作為響應(yīng),然后循環(huán)重復(fù)。
3.3 MyBatis介紹
MyBatis是一個內(nèi)部封裝了大部分的Java數(shù)據(jù)庫連接的基于Java的持久層框架。它能將要執(zhí)行的Java語言程序用SQL數(shù)據(jù)庫操作語言編寫,并將操作的結(jié)果以Java對象的形式返回。簡單易上手,靈活性更高,代碼低耦合,提供映射,易于維護,擴展性好。
3.4 采用SSM框架設(shè)計電廠信息管理系統(tǒng)后臺程序
基于SSM框架的電廠信息管理系統(tǒng)后臺程序分為以下四層:持久層、業(yè)務(wù)層、控制器層、視圖層。數(shù)據(jù)持久層的工作主要負責封裝與數(shù)據(jù)庫進行關(guān)聯(lián)的一些任務(wù);服務(wù)層主要負責寫入各接口的實現(xiàn)類方法;控制器層負責具體的業(yè)務(wù)模塊流程的控制,實現(xiàn)對JSON對象的各種操作;視圖層由前端JSP頁面完成。在這四層結(jié)構(gòu)之間通過調(diào)用接口可實現(xiàn)所需的數(shù)據(jù)交換功能,統(tǒng)一API使得數(shù)據(jù)傳輸樣式和類型一致,從而簡化了編程思路,提高了編程的效率。
4 電廠信息管理系統(tǒng)后臺程序設(shè)計實現(xiàn)
由電廠信息管理系統(tǒng)后臺程序設(shè)計思路可知,在Dao層定義操作電廠信息管理系統(tǒng)數(shù)據(jù)庫的方法,在Service層實現(xiàn)該系統(tǒng)各接口的訪問方法,在Controller層對電廠信息管理系統(tǒng)的數(shù)據(jù)以JSON格式進行對象操作,在View層寫入需要展示出來的前端JSP頁面代碼。
由于采用前后端分離開發(fā)技術(shù)后,后臺程序只需將數(shù)據(jù)以JSON格式傳給前端網(wǎng)頁,而無需編寫Web應(yīng)用程序,前端顯示靠JSP頁面實現(xiàn)。因此,在進行前后端分離開發(fā)后,View層主要由前端開發(fā)人員編寫實現(xiàn)網(wǎng)頁界面,后端管理系統(tǒng)只需依次實現(xiàn)控制器層、服務(wù)層和實體類即可。
5 結(jié)束語
電廠信息管理系統(tǒng)后臺程序采用了SSM框架進行開發(fā),該框架為編程提供通用的jar包、源碼、文件等,并為Web應(yīng)用系統(tǒng)帶來了新的開發(fā)模式——前后端分離的開發(fā)模式。提高系統(tǒng)的開發(fā)效率,方便模塊的測試和維護,分離開發(fā)者的角色,使用開發(fā)模式,實現(xiàn)了界面顯示與業(yè)務(wù)邏輯的分離;在項目管理的過程中能降低項目開發(fā)成本,縮短開發(fā)周期,降低開發(fā)風險,同時還兼具良好的可擴展性,兼容性強,易于開發(fā)和維護。
該系統(tǒng)的開發(fā)和實現(xiàn)促進了電廠的信息化技術(shù)的創(chuàng)新和發(fā)展,有助于電力行業(yè)信息化向標準化、一體化、智能化和擴展性的方向推進,具有尤為重要的意義。
參考文獻:
[1]干耀國,唐林煒,刁柏青,等.電廠管理信息系統(tǒng)設(shè)計[J].山東科技大學學報(自然科學版),2008(02):68-70.
[2]王智.水電廠管理信息系統(tǒng)中的數(shù)據(jù)庫規(guī)劃[J].電力信息化,2008(06):84-87.
[3]葉加青.Spring框架技術(shù)的應(yīng)用[J].計算機時代,2009(10):54-55.
[4]許繼剛,鄭慧莉.電廠管理控制一體化信息系統(tǒng)的發(fā)展[J].電力系統(tǒng)自動化,2001(07):59-63.
[5]高磊,李永紅,鄭健兵.智能水電廠一體化數(shù)據(jù)平臺設(shè)計[J].水電自動化與大壩監(jiān)測,2012(01):11-14.
[6]劉富華.基于輕量級J2EE架構(gòu)的CRM系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學,2009.
[7]徐雯,高建華.基于Spring MVC及MyBatis的Web應(yīng)用框架研究[J].微型電腦應(yīng)用,2012(07):1-4.
[8]薛峰,梁鋒,徐書勛,等.基于Spring MVC框架的Web研究與應(yīng)用[J].合肥工業(yè)大學學報(自然科學版),2012(03):337-340.
[9]曾厲,常青,喬紅偉,等.基于SOA和ESB的安全生產(chǎn)管控系統(tǒng)軟件架構(gòu)設(shè)計與應(yīng)用[J].計算機應(yīng)用與軟件,2018(02):121-125.
[10]仇曉智,喬宗良,周建新,等.電廠績效管理系統(tǒng)研究與開發(fā)[J].電站系統(tǒng)工程,2008(02):65-66.