崔偉寧,畢明光,金傳洋
(裝甲兵工程學(xué)院,北京 100072)
裝備保障信息系統(tǒng)是裝備保障信息化建設(shè)的重要內(nèi)容,對提高裝備保障效率、實現(xiàn)“精確保障”具有重要作用。由于裝備保障業(yè)務(wù)本身涉及了裝備、人員、器材、維修、設(shè)備設(shè)施等多個保障對象,決定了裝備保障信息系統(tǒng)是一個復(fù)雜的信息管理系統(tǒng),涵蓋了裝備管理、人員管理、器材保障、維修管理、保障訓(xùn)練管理等多個方面,業(yè)務(wù)覆蓋面廣,信息種類多[1-4]。因此,建立一個完善的裝備保障信息系統(tǒng)通常需要多部門聯(lián)合,由多個開發(fā)團隊共同完成。隨著WEB技術(shù)的發(fā)展,采用WEB方式實現(xiàn)裝備保障信息系統(tǒng)成為發(fā)展的趨勢。而傳統(tǒng)的WEB開發(fā)方式在系統(tǒng)整合和集成方面存在操作繁瑣、界面風(fēng)格難以統(tǒng)一、維護升級困難等缺點,限制了WEB技術(shù)在裝備保障信息系統(tǒng)中的應(yīng)用。而Portal技術(shù)在Web資源整合、個性化定制等方面具有特有的優(yōu)勢[5],并且在開發(fā)上支持多個團隊分散開發(fā),集成方式簡單,維護容易。筆者通過參與的基于WEB的裝備保障信息平臺(Quipment Support Information Platform on WEB,ESIP-WEB)建設(shè),研究了Portal技術(shù)的應(yīng)用,探討了其在裝備保障信息系統(tǒng)建設(shè)中的可行性和優(yōu)勢,分析了應(yīng)用前景。
Portal技術(shù)是近年來廣泛應(yīng)用的構(gòu)建企業(yè)統(tǒng)一信息門戶的技術(shù),提供個性化定制、認證、不同來源的內(nèi)容聚合,以及信息展示[6]。與通常Web頁面不同的是,Portal展現(xiàn)在用戶面前的是由一系列Portlet構(gòu)成的Portal頁面。Portlet是一種可插拔的用戶接口組件,由Portlet容器管理,根據(jù)客戶端的請求,生成各種動態(tài)內(nèi)容,并可在不同的Portal頁面中重用[7-8]??梢?,Portlet在 Web 開發(fā)上,類似于組件或插件,一個Portal頁面由多個Portlet渲染生成,因此在設(shè)計和開發(fā)時可以專注于每個Portlet的功能,通過Portal把各個Portlet聚合形成一個完整的系統(tǒng)。Portal、Portlet、Portlet容器三者的處理過程如圖1所示。
圖 1 Portal、Portlet、Portlet容器關(guān)系圖[6]
由圖1可見,當(dāng)用戶訪問Portal頁面上的Portlet時,會觸發(fā)對Portlet的動作,而在處理這個動作的過程中,會引起其它Portlet進行相應(yīng)事件的處理,從而最終展現(xiàn)給用戶一個新的頁面。新頁面的內(nèi)容是Portlet處理用戶請求而產(chǎn)生的動態(tài)內(nèi)容。因此,對于裝備保障信息系統(tǒng),可以采用Portal技術(shù)實現(xiàn)不同的業(yè)務(wù)處理和系統(tǒng)整合。
ESIP-WEB體系結(jié)構(gòu)如圖2所示,共分為5層。其中最底層為數(shù)據(jù)庫層,區(qū)分為基礎(chǔ)數(shù)據(jù)庫、共享數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫三類?;A(chǔ)數(shù)據(jù)庫存放單位、人員、數(shù)據(jù)字典等公用基礎(chǔ)信息,共享數(shù)據(jù)庫存放業(yè)務(wù)共享數(shù)據(jù),業(yè)務(wù)數(shù)據(jù)庫存放業(yè)務(wù)數(shù)據(jù)。其中基礎(chǔ)數(shù)據(jù)庫和共享數(shù)據(jù)庫統(tǒng)一設(shè)計和實現(xiàn),并且相對穩(wěn)定不變。業(yè)務(wù)數(shù)據(jù)庫由各業(yè)務(wù)系統(tǒng)具體實現(xiàn),可由不同開發(fā)組按照數(shù)據(jù)庫設(shè)計規(guī)范自行設(shè)計。這樣設(shè)計即不僅保證了公用數(shù)據(jù)和交互共享數(shù)據(jù)的集成統(tǒng)一,也保證了可以滿足不同業(yè)務(wù)數(shù)據(jù)處理的特殊要求。
數(shù)據(jù)訪問層支持Hibernate和JDBC的數(shù)據(jù)訪問。其中Hibernate提供關(guān)系/對象映射,以對象方式操作數(shù)據(jù)庫,可以顯著提高開發(fā)效率。
基礎(chǔ)服務(wù)層由應(yīng)用程序服務(wù)器提供EJB管理、Portal管理、WEB服務(wù)等各種基礎(chǔ)服務(wù)。ESIP-WEB選擇了JBoss服務(wù)器作為應(yīng)用程序服務(wù)器,選用Liferay Portal作為Portal容器。
業(yè)務(wù)應(yīng)用層提供業(yè)務(wù)應(yīng)用的基礎(chǔ)服務(wù),包括公用基礎(chǔ)服務(wù)和業(yè)務(wù)基礎(chǔ)服務(wù)。公用基礎(chǔ)服務(wù)包括集成服務(wù)、消息服務(wù)、數(shù)據(jù)服務(wù)等,各業(yè)務(wù)模塊均可使用,且與具體業(yè)務(wù)無關(guān)。業(yè)務(wù)基礎(chǔ)服務(wù)包括裝備管理、人員管理、訓(xùn)練管理等,是各業(yè)務(wù)實現(xiàn)的基礎(chǔ)。
界面表現(xiàn)層通過封裝JSP、Struts、JQuery、GWT等界面技術(shù),利用瀏覽器實現(xiàn)各業(yè)務(wù)子系統(tǒng)。
圖2 ESIP-WEB體系結(jié)構(gòu)圖
ESIP-WEB的Portal框架設(shè)計如圖3所示,共分為3層。其中,核心框架層包括Web框架、Portal管理、EJB管理、安全服務(wù)、認證服務(wù)、日志服務(wù)等,由JBoss和Liferay Portal提供。這些服務(wù)也是Java EE要求的標準服務(wù),對應(yīng)于體系結(jié)構(gòu)中的基礎(chǔ)服務(wù)層各種服務(wù)。
圖3 ESIP-WEB Portal框架設(shè)計
公共服務(wù)層提供報表工具、界面主題、界面庫、即時消息、數(shù)據(jù)訪問、工作流等獨立于業(yè)務(wù)的基礎(chǔ)服務(wù)。其中報表工具整合了JasperReport,界面主題提供了十幾套不同風(fēng)格的界面,界面庫提供JQuery、Struts、GWT等常用界面庫,即時消息整合了JMS,數(shù)據(jù)訪問通過EJB的RMI/IIOP,工作流整合了JBpm。由這些工具整合形成的公共服務(wù)層為業(yè)務(wù)系統(tǒng)層提供了豐富的工具支持,極大地方便了系統(tǒng)的開發(fā)。
業(yè)務(wù)系統(tǒng)層利用上兩層提供的服務(wù),專門針對特定業(yè)務(wù)實現(xiàn)。為了各業(yè)務(wù)公用模塊的復(fù)用,例如裝備信息、人員信息等,還抽象出了幾十類業(yè)務(wù)基礎(chǔ)Portlet,例如人員基本信息顯示Portlet,顯示詳細的人員基本信息,如姓名、性別、圖像等,方便需要顯示人員信息的業(yè)務(wù)模塊調(diào)用。
ESIP-WEB通過上述設(shè)計,實現(xiàn)了通過配置搭建不同業(yè)務(wù)子系統(tǒng)的功能,并很好地支持業(yè)務(wù)領(lǐng)域的開發(fā)團隊開發(fā)業(yè)務(wù)專屬功能,解決了采用WEB方式開發(fā)大型復(fù)雜系統(tǒng)時系統(tǒng)整合和集成方面遇到的各類難題。
數(shù)據(jù)訪問支持EJB遠程接口訪問和JDBC直接訪問。EJB訪問示例代碼如下:
上述代碼首先構(gòu)造了遠程訪問接口類名,然后通過上下文環(huán)境查找遠程接口,找到后調(diào)用業(yè)務(wù)方法,即完成了對數(shù)據(jù)的訪問和操作使用。
采用EJB遠程接口訪問數(shù)據(jù)可以使EJB服務(wù)器和Portal應(yīng)用服務(wù)器分開部署,并在數(shù)據(jù)量和訪問量增大的時候進行集群擴展,提高系統(tǒng)的性能。
Portlet由JSP頁面、Portlet類文件、Portlet配置文件共同實現(xiàn)。其中JSP Portlet類文件核心代碼如下:
上述代碼實現(xiàn)了一個基于JSP頁面的單位管理Portlet。對應(yīng)的配置文件片斷:
把Portlet以及相關(guān)的資源打包成WAR包,即可在JBoss環(huán)境下熱部署。部署完畢后,由管理員進入,可以進行系統(tǒng)配置,配置菜單、界面Portlet、圖標、主題等,形成一個完整的Portal應(yīng)用。圖4是ESIP-WEB實現(xiàn)一個的業(yè)務(wù)系統(tǒng)界面。
圖4 ESIP-WEB界面
本文研究了采用Portal技術(shù)設(shè)計基于WEB的裝備保障信息系統(tǒng)的方法,建立了基于Java EE的5層體系結(jié)構(gòu)和3層Portal框架,實現(xiàn)了ESIP-WEB平臺并開發(fā)了業(yè)務(wù)系統(tǒng),驗證了Portal技術(shù)是解決基于WEB的復(fù)雜業(yè)務(wù)系統(tǒng)的有效技術(shù)。結(jié)合Java EE技術(shù),可以實現(xiàn)靈活部署、分散開發(fā)、擴展性強、維護性好WEB應(yīng)用系統(tǒng),避免傳統(tǒng)WEB開發(fā)的弊端,提高開發(fā)效率和維護成本。下一步將深入研究ESIP-WEB的數(shù)據(jù)集成、集群部署等問題,為ESIP-WEB的大規(guī)模應(yīng)用打下基礎(chǔ)。
[1] 趙占梁,龔傳信.裝備保障信息系統(tǒng)需求分析中的問題及對策[J].計算機工程與設(shè)計,2007,28(17):4082-4085.
[2] 張建偉,黎鐵冰.一種裝備保障信息系統(tǒng)綜合集成方法研究[J].艦船電子工程,2009,29(8):23 -25.
[3] 黃丕超,王盼卿.XML技術(shù)在裝備保障信息系統(tǒng)集成中的應(yīng)用[J].四川兵工學(xué)報,2008,29(5):50 -52.
[4] 馮玉成,劉曉斌,何國良,等.基于BMD的通用裝備保障信息系統(tǒng)開發(fā)策略[J].兵工自動化,2009,28(12):54-56.
[5] 陳芳.基于Portal的企業(yè)信息門戶系統(tǒng)研究[J].計算機與數(shù)字工程,2009,37(11):115 -117.
[6] Stefan H.Java(TM)Portlet Specification[S/OL].http://jcp.org/en/jsr/detail?id=286,2008-1 -25/2013 -3-21.JCP.JSR 286:Portlet Specification 2.0[EB/OL].http://jcp.org/en/jsr/detail?id=286,2013.3.
[7] 劉毅,湯怡潔,楊銳.基于Liferay Portal的所級圖書館集成信息服務(wù)平臺設(shè)計與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2008(6):72-77.
[8] 高俊,李長云,劉小飛,等.基于Portlet的數(shù)字化校園信息門戶的設(shè)計[J].計算機工程與設(shè)計,2009,30(17):4006-4008.
(責(zé)任編輯周江川)