申蕾 張曉慧 張才俊 李杰 王宏巖



摘要:
在信息化改革趨勢下,針對傳統C/S架構構建的電力企業應用的開發維護以及擴容互通困難的問題,提出運用成熟的J2EE快速開發平臺進行電力行業綜合信息平臺快速開發的整體設計方案。該方案基于J2EE的B/S三層體系結構,通過對組件、事務服務技術的研究及API的應用實現了平臺的構建,并針對異構數據的遷移解決傳統企業應用的“信息孤島”問題,能夠滿足安全、穩定、可靠及高性能的要求。
關鍵詞:
J2EE; 快速開發平臺; B/S; 電力行業
中圖分類號: TP 399
文獻標志碼: A
Design and Implementation of Rapid Application Development
Platform in Electric Power Industry
SHEN Lei1, ZHANG Xiaohui1, ZHANG Caijun1, LI Jie2, WANG Hongyan2
(1.State Grid Customer Service Center, Tianjin 300309, China; 2.Beijing ChinaPower Information
Technology Co. Ltd., State Grid Informtion & Telecommunication Group, Beijing 100085, China)
Abstract:
With the informatization trend, this paper proposes a comprehensive design scheme for the rapid development of the integrated information platform for the electric power industry using the mature J2EE rapid development platform. The solution is based on the J2EE B/S threetier architecture, implements the platform construction through the research of components, transaction service technology and API application. It solves the problem of “information island” of traditional enterprise applications for the migration of heterogeneous data and meets the requirements of safety, stability, reliability and high performance.
Key words:J2EE; rapid application development platform; B/S; electric power industry
0引言
隨著通信技術和計算機網絡的成熟發展,各行各業都掀起了信息化建設的浪潮。在電力行業,經過數十年的電力信息化改革[1],我國電力企業已建立了一套相對完整、規模相當的信息系統,主要涵蓋了電力生產管理、市場營銷、企業管理、用戶服務等功能,并帶來了積極的社會和經濟效應。然而在全球化的市場發展中,信息的互聯互通、橫向傳遞等需求對電力企業現有的信息系統提出了新的挑戰[2],越發成為企業發展道路上的絆腳石。究其原因是因為目前電力企業的信息系統由于歷史發展的原因主要采用傳統的C/S(Client/Server)的應用模式[36],這種應用模式總體而言主要存在以下弊端[78]。
(1)開發維護困難:業務發生變動或者數據協議發生變化,需對客戶端甚至整個系統進行更新,牽一發而動全身,造成開發成本的浪費。
(2)缺乏開放性、通用性和跨平臺性:C/S架構的應用標準往往是專有的,因此各應用之間的信息共享難以實現,同時傳統的C/S架構的客戶端軟件需根據不同終端系統來開發不同軟件,跨平臺性差。
(3)安全性差:在 C/S系統中,客戶端程序直接與數據庫服務器進行連接,系統數據的安全性缺乏保障。
(4)并發處理和擴容能力有限:面臨廣域網集中大并發訪問情形,C/S模式的處理性能有限,且發生故障時難以進行性能擴展,導致系統穩定性難以保障。
因此,從安全、維護、集成、性能等角度出發,傳統模式由于技術和結構等原因的限制,給后期的維護和新功能的開發造成困擾,已無法適應電力行業“快速開發、開放互聯、高效集成”的信息化發展需求,需對應用集成、跨平臺共享、輕量WEB客戶端技術等投入關注,而J2EE(Java 2 Platform Enterprise Edition)是目前公認的企業級信息系統[910]的架構體系,適用于快速開發和創建服務器應用程序與應用,并打通了各子系統之間的壁壘,使得信息的流通和傳遞更加便捷,能夠很好地兼顧開放性、安全性和可擴展性等諸多優點,成為現在諸多軟件開發和企業客戶的選擇。
本文借助基于成熟的J2EE快速開發平臺[11]并將其應用于電力行業,研究了通過中間件技術尤其是EJB(Enterprise JavaBean)技術,結合B/S(Browser/Server)多層模式架構實現電力企業綜合信息應用的快速開發和構建,并通過實現電力企業不同職能部門間的異構數據進行共享,解決大型企業中常見的“信息孤島”難題。
1電力行業綜合信息平臺建設的總體架構與分析
1.1平臺總體架構
電力行業信息化的總體需求是,首先通過綜合自動化的平臺建設,從平臺的內、外部而言,分別實現平臺的各項主要應用服務間、各部門業務應用系統間,應當做到數據的統一,從而實現不同部門間信息的聯通;其次,通過統一化信息數據模型及中心數據庫實現數據在整個信息系統內的動態性和一致性。本文從電力行業角度出發,所研究的電力企業綜合信息平臺的總體架構,如圖1所示。
主要包括辦公自動化子系統、電力營銷自動化子系統、生產自動化子系統以及網絡門戶與平臺安全子系統。綜合信息平臺的主要功能實現各子系統間數據的存儲、整合及二次處理,規范化工作流引擎。
1.2平臺需求分析
技術層面上,系統總體基于J2EE快速開發結構設計并采用B/S架構,實現各子功能的模塊化設計和參數化設置,并支持組件的選調和動態加載。同時應具備較高的擴展和容錯能力,對于客戶端使用基于WEB瀏覽器的方式進行與服務器的訪問及管理。
在運行性能方面,整個基于B/S體系架構的綜合信息系統能夠實現全天候7*24小時無間斷工作,整體無故障率>99.9%,在網絡條件不出現瓶頸的條件下,普通操作的局域網響應時間<2秒,廣域網應<5秒,網站的WEB靜態頁面最大可接入超過600用戶的并發訪問操作以及2000用戶同時在線,業務處理功能最大用戶接入量為400。在系統正常運行的情況下,系統服務器的CPU平均使用率應小于25%。
2J2EE快速開發平臺在電力行業中的應用
2.1J2EE組件與服務技術
J2EE組件技術的主要作用是構建用戶接口并建立業務邏輯,這樣就能夠有效保證模塊設計的精確性,進而被較多的企業所應用,因此不必針對不同的應用進行功能的逐一開發,從而提高了整個系統的開發效率,是實現快速開發的重要概念。而服務技術通過提供事務服務或數據存儲服務,使應用組件更高效地發揮功能。
2.1.1J2EE組件技術
(1)Web 組件
B/S架構主要是基于瀏覽器模式,所以采用的是web組件生成的UI,并響應給用戶。J2EE平臺包Web組件由Servlet和JSP構成。
(2)EJB(Enterprise Java Beans)組件模型
EJB是一種部署于服務器端的分布式組件模型,用來開發安全可靠、擴展性強、可重用的多用戶事務處理組件單元。具體組件結構,如圖2所示。
EJB為于EJB容器中,每一個EJB都是通過本地與相應的接口進行調用的,這樣就弱化了位置關系。EJB組件可以分為以下3種,分別是實體Bean、會話Bean以及消息驅動Bean。
2.1.2服務技術
服務技術主要包括事務服務于數據存儲服務:
(1)事務服務(Java Transaction Service,JTS)主要用于保障分布式的環境中組件間、數據庫間等事務處理的完整性和一致性。
(2)數據存取服務指的是J2EE規范中提供的一種接口,這種接口能夠應用系統所需要的存取接口,保證業務與數據之間能夠建立聯系,并能夠實現不同企業共同訪問數據庫。在本文的電力企業應用構建中,EJB組件通過DB2數據庫的JDBC驅動(jdbc:db2://)來對后端數據庫進行操作和訪問。
2.2J2EE三層B/S體系結構
為了實現電力行業的應用和功能快速開發需求,系統采用了目前J2EE的三層B/S架構。即通過引入中間件技術,將以往傳統的C/S復雜邏輯進行解耦,同時提供可擴展伸縮、易訪問和管理的解決方案,可實現分布式部署多種應用于不同服務器,分布式應用借此技術可實現負載均衡和集群服務,從而提升應用的高可靠性和高資源利用率。中間件獨立于用戶機和服務器的操作系統之上,可實現跨網絡和計算資源的統一管理,支持標準協議和接口,保障互操作性。本文所設計的電力行業的綜合信息管理平臺基于J2EE經典的三層結構[12],即表示層、業務邏輯層和數據層,如圖3所示。
(1)表示層
網頁客戶端與Web組建構成了表示層,表示層的功能即通過可視化的HTML頁面形式將后端數據和事務的操作邏輯進行呈現,并實現與用戶的交互。
(2)業務邏輯層
業務邏輯層主要由EJB組件構成。每個EJB都負責承擔一部分的應用事務處理邏輯。本文中提出的電力行業應用所涉及的業務邏輯實現均于EJB中完成。JTS服務技術也將在此體現對EJB組件的支持。
(3)數據層
JDBC能夠為J2EE平臺提高數據庫連接方案,保證J2EE平臺能夠對數據庫進行增刪改查,為用戶提供所需要的服務。因此,在開發應用程序時只需按照JDBC規范編寫并安裝與相應的數據庫驅動便可支持任意數據庫的連接。
2.3應用程序前后端技術工作流程
首先用戶通過瀏覽器的客戶端對系統進行操作,通過web能夠發送相應的請求,然后呢通過JSP/Servlet能夠接受請求,然后在進行處理,并與會話Bean的業務接口交互。
對于數據實體的操作,實體Bean響應對接會話Bean,通過接口能夠返回相應的數據實體,最后將數據返回給前端回話Bean作進一步的業務處理。后端則通過JDBC對接書庫句,完成與后臺數據庫接口,完成數據的存取。整個系統的內部工作流程,如圖4所示。
3異構數據遷移
由異構數據[13]引起的信息孤島是目前在多數企業中經常會遇到的問題,常見的數據庫有微軟SQL數據庫、Sybase數據庫、DB2等,不同的子系統中使用不盡相同。為了能夠保證各個子系統都能夠順利接入綜合平臺,這是選用的數據庫是DB2,因此需將其他子系統數據庫中的信息自動化地復制到DB2數據庫中。
本文給出對解決方案是通過微軟提出的標準化應用程序接口ODBC(Open Database Connectivity,開放數據庫連接)[14]使用結構化查詢語句 SQL [15]作為數據標準訪問語言,ODBC提供了一套針對數據庫訪問的標準 API,從而屏蔽了數據庫系統間的不同。
在ODBC中,ODBC API通過DM(Driver Manager,驅動程序管理器)與數據庫進行交流。DM將API的調用轉達給適配的驅動程序,經過處理后將操作結果經DM反饋給應用程序,其結構關系,如圖5所示。
4綜合平臺的性能測試
根據本文給出的電力行業綜合平臺的方案,選用2臺HP Server RP5470作為中間層以及數據庫儲存的服務器硬件平臺,使用Sun Storage 7110磁盤陣列進行數據的存儲。服務器采用HP UNIX雙活解決方案進行熱備。基于如上硬件配置環境,進行綜合平臺的靜態和動態壓力測試。
4.1靜態性能壓力測試
靜態壓力測試中設定的壓力策略為每5秒增加5名虛擬用戶,每個用戶連續訪問多個電力行業綜合平臺的網頁模塊,直到
1 000名虛擬用戶同時在線為止。經多次測試,綜合平臺系統的靜態性能,如表1所示。
通過表1可知,在1 000用戶同時在線的情況下,綜合平臺系統能夠實現亞秒級相應,滿足系統的設計要求,CPU的負載情況來看,兩臺服務器的負載分擔合理,功能實現正常。
4.2動態性能壓力測試
動態壓力測試中在靜態訪問的基礎上加入查詢操作指令,調用后端數據庫進行整個系統的壓力測試。多次測試的動態性能及平均響應時間,如表2所示。
由圖可見1 000用戶同時在線時,綜合平臺系統的平均響應能夠實現在秒級。另外,通過CPU的log記錄可知用戶數的增加對整個系統的平均響應時間影響較小,沒有發生由于用戶數的增加而產生積聚效應導致整個系統響應能力降低的情況。
5總結
本文針對J2EE快速開發平臺進行了分析和探討,通過組件和服務技術以及B/S三層架構的研究,針對電力行業中綜合信息平臺的構建進行了設計和實現,并得出如下結論:
(1)傳統的C/S架構的應用開發與維護困難且不經濟,基于B/S架構開發的應用具有更高的安全性,更好的開放性、通用性和跨平臺性,并且具有更強的擴容能力。
(2)借助J2EE快速開發平臺,能夠真實有效地為企業在生產環境中部署應用,業務邏輯清晰,實現敏捷開發,解決了傳統應用架構下各子系統間信息無法交互的“信息孤島”問題。
(3)通過在硬件平臺上部署,實際驗證了在高并發狀態下,基于J2EE快速開發平臺的電力行業綜合信息平臺能夠很好地實現雙機熱備,負載均衡并運行穩定。
綜上所述,J2EE快速開發平臺適合為電力行業提供企業級的應用輸出,能夠滿足安全、穩定、可靠及高性能的要求,同時也可作為其他行業快速開發構建企業級應用的框架平臺。
參考文獻
[1]稅正威.基于docker的Java Web快速開發部署平臺的設計與實現[D]. 北京:北京郵電大學, 2018.
[2]王波.新形勢下網絡技術在電力信息通信中的應用[J].通信電源技術,2018,35(7):162163.
[3]宿杉.C/S模式下的財務管理系統構建探析[J].財會學習,2019(8):79.
[4]王斌,楊昌云,朱興飛.基于C/S(Client/Server)模式的網絡管理系統設計[J].信息系統工程,2018(10):114.
[5]任妹娟,張磊,龐麗麗, 等.基于C/S模式的地下水監測信息管理系統開發[J].中國水利,2018(15):6364.
[6]高梓焱.基于C/S模式下的中間件的應用與發展[J].信息系統工程,2018(9):131.
[7]唐菁敏,高張寶.基于B/S架構的企業綜合管理系統的研究與設計[J].信息技術,2019(03):144148.
[8]吳曉珊,曹旭東,王森,等.基于B/S架構的管理系統軟件開發[J].計算機測量與控制,2019,27(2):123128.
[9]寇建立,孫建華.基于J2EE輕量級框架的能源管理系統設計[J].電腦編程技巧與維護,2019(3):101102.
[10]王佳琪.基于J2EE架構的分布式企業級Web應用研究[J].計算機產品與流通,2018(10):27.
[11]莊巧蕙.基于J2EE的電子商務平臺的研究與構建[J].大慶師范學院學報,2018,38(6):5963.
[12]段紅義,折如義.三層B/S結構網絡教學平臺設計與實現[J].電腦編程技巧與維護,2017(11):1418.
[13]金紅軍.大數據背景下的校園一卡通異構數據集成研究[J].數字技術與應用,2019,37(2):9899.
[14]劉偉.Windows 7 64位平臺下Oracle ODBC的配置[J].網絡安全和信息化,2018(11):5253.
[15]毛旭.Oracle數據庫SQL語句的性能優化分析[J].電腦迷,2018(12):159160.
(收稿日期: 2019.05.31)
作者簡介:申蕾(1981),女,碩士,工程師,研究方向:電力信息系統建設管理、人工智能應用。
張曉慧(1984),男,碩士,工程師,研究方向:電力信息系統建設管理、技術架構及標準管理。
張才俊(1980),男,本科,副高級工程師,研究方向:電力信息系統建設管理、人工智能應用。
李杰(1984),女,碩士,工程師,研究方向:電力信息系統建設管理、智慧客服應用。
王宏巖(1987),男,本科,工程師,研究方向:電力信息系統建設管理、智能客服應用。
文章編號:1007757X(2020)08013204