趙 凡,保繼棟
(甘肅省科學(xué)技術(shù)情報研究所,甘肅 蘭州 730000)
基于JAVA+STRUTS的科技計劃項目評估管理信息系統(tǒng)實現(xiàn)與安全設(shè)計
趙 凡,保繼棟
(甘肅省科學(xué)技術(shù)情報研究所,甘肅 蘭州 730000)
目前,科技計劃項目評估管理系統(tǒng)性、連續(xù)性、獨立性不強(qiáng),第三方評估執(zhí)行進(jìn)程緩慢;項目的可監(jiān)測度不強(qiáng),沒有明確的監(jiān)測指標(biāo)和基線數(shù)據(jù);沒有建立一套符合科技項目特點并與科技計劃管理相匹配的項目監(jiān)測評估體系。針對以上問題,采用JAVA和STRUTS的開發(fā)方法實現(xiàn)易于維護(hù)、易于動態(tài)擴(kuò)展、具有安全性的科技計劃項目評估管理的過程。通過近三年在甘肅省科技計劃項目評估管理中的應(yīng)用表明,系統(tǒng)極大的提高了項目評估管理的工作效率,系統(tǒng)運行穩(wěn)定,響應(yīng)速度快,安全性高。
科技計劃;項目評估;JAVA;STRUTS;安全設(shè)計
科技計劃項目評估[1]管理已是當(dāng)今科技發(fā)展的一個重要課題。對于科技計劃項目評估管理是科技部門(省科學(xué)技術(shù)廳)的一項重要任務(wù)。以往的科技項目評估管理信息,都是按年度或者階段填寫大量的紙質(zhì)表格,既不利于信息的隨時更新,又耗費了科技部門大量的人力和物力。隨著科學(xué)技術(shù)的不斷進(jìn)步以及計算機(jī)技術(shù)的迅猛發(fā)展,科技項目評估管理工作也要提高到一個新的管理水平。
科技計劃項目評估管理信息系統(tǒng)是加強(qiáng)對科技項目評估管理、使用和服務(wù)的信息化手段,通過系統(tǒng)對項目評估進(jìn)行動態(tài)管理。系統(tǒng)的目標(biāo)是建成一個數(shù)據(jù)填報、信息管理、專家評估多方位的信息管理平臺。
1.1 數(shù)據(jù)管理需求
通過該系統(tǒng)對科技項目評價指標(biāo)信息進(jìn)行數(shù)據(jù)填報;各個項目承擔(dān)單位項目負(fù)責(zé)人隨時、自主更新科技項目評估信息;方便組織科技部門及時了解項目評估中項目進(jìn)展、項目經(jīng)費、階段成果、儀器設(shè)備以及項目承擔(dān)單位自查評估報告等情況。
1.2 信息管理需求
通過該系統(tǒng)實時掌握和管理所有評估項目的實時信息。對不同的項目進(jìn)行分類、查詢、統(tǒng)計管理;通過圖形統(tǒng)計分析為科技部門提供直觀的數(shù)據(jù)統(tǒng)計結(jié)果;通過格式轉(zhuǎn)換對統(tǒng)計的結(jié)果進(jìn)行不同文檔格式的轉(zhuǎn)換,并根據(jù)數(shù)據(jù)統(tǒng)計的條件進(jìn)行在線實時打印匯總。
1.3 專家評估管理需求
通過該系統(tǒng)生成項目評估專家?guī)欤鶕?jù)評估項目的不同,分別選取不同專家完成評估專家評議打分表和評估意見表,為最終評估結(jié)論提供參考依據(jù)。
1.4 業(yè)務(wù)流程需求
在業(yè)務(wù)流程上基于逐層上報、層層審核的設(shè)計原則[2],從而保證數(shù)據(jù)的權(quán)威性。項目承擔(dān)單位對需要評估項目的各種信息的真實性負(fù)責(zé),評估信息管理單位對提交的評估項目進(jìn)行分類統(tǒng)計和報表匯總。專家評估管理對信息管理部門提交的評估信息負(fù)責(zé),通過在線打分和填寫意見表的方式對項目進(jìn)行最終的評估評價。
系統(tǒng)設(shè)計遵循可擴(kuò)展性、靈活性、可靠性和安全性原則。系統(tǒng)設(shè)計的出發(fā)點是:良好的框架結(jié)構(gòu)和參數(shù)驅(qū)動,以便今后的升級和重用;相對獨立的子系統(tǒng),保證穩(wěn)定性和易擴(kuò)展性;良好和統(tǒng)一的用戶界面,力求簡潔、清晰、方便、易用。
系統(tǒng)分為數(shù)據(jù)填報、信息管理和專家評估三大子系統(tǒng)。系統(tǒng)功能結(jié)構(gòu)如圖l所示。
圖1 系統(tǒng)功能結(jié)構(gòu)圖
2.1 數(shù)據(jù)填報子系統(tǒng)
數(shù)據(jù)填報子系統(tǒng)的主要操作為填寫“科技項目評估表”。分為7大類共29個指標(biāo),分別為:基本情況包括項目名稱、承擔(dān)單位、詳細(xì)地址、項目起止時間、所屬領(lǐng)域、批準(zhǔn)部門、計劃類別、單位屬性、單位屬地、項目負(fù)責(zé)人信息、合作單位等;項目進(jìn)展包括:項目進(jìn)度完成情況、結(jié)題情況、內(nèi)容目標(biāo)變更情況、人員投入、參加單位;項目經(jīng)費包括:經(jīng)費投入、經(jīng)費支出;階段成果包括:科技成果、申請專利、授權(quán)專利、科技成果、軟件登記、制定技術(shù)標(biāo)準(zhǔn)、科技論文、科技著作;儀器設(shè)備;項目承擔(dān)單位自查評估報告;附件上傳。逐項填寫完成并保存后,點擊“查詢”就能看到所填寫的全部評估表,此時的狀態(tài)是“未提交”,點擊“提交”按鈕對項目進(jìn)程提交操作,點擊“修改”按鈕對項目進(jìn)行修改。點擊“打印”按鈕,自動生成Word或者Excel格式的表格并進(jìn)行實時打印,方便項目承擔(dān)單位上報要評估項目的紙質(zhì)表格。
進(jìn)入該系統(tǒng)時,首先要填寫帳號和基本信息進(jìn)行注冊,通過上級主管單位審核通過后才能登錄。然后進(jìn)行填寫“科技項目評估表”操作。
2.2 信息管理子系統(tǒng)
信息管理子系統(tǒng)主要是科技管理用戶匯總各年度數(shù)據(jù)的管理平臺,它主要由管理員登錄、項目查詢、數(shù)據(jù)退回、分類數(shù)據(jù)統(tǒng)計、數(shù)據(jù)統(tǒng)計圖形分析、數(shù)據(jù)格式轉(zhuǎn)換、指標(biāo)維護(hù)、模板控制等功能組成。其中:數(shù)據(jù)退回:主要是管理員對不符合要求的數(shù)據(jù)可進(jìn)行退回修改的操作。數(shù)據(jù)轉(zhuǎn)換:系統(tǒng)需要將用戶填報的html的結(jié)果格式轉(zhuǎn)換為Word和Excel數(shù)據(jù)格式供管理用戶打印。分類數(shù)據(jù)統(tǒng)計:是該系統(tǒng)的核心功能,可按照項目類型、技術(shù)領(lǐng)域、項目名稱、數(shù)據(jù)統(tǒng)計起始年度和截止年度選項,組合查詢所需要的數(shù)據(jù);同時按照人員基本情況、項目經(jīng)費投入情況、項目經(jīng)費支出情況、科技成果數(shù)情況、項目專利數(shù)情況、科技成果獎勵情況、項目制定技術(shù)標(biāo)準(zhǔn)情況、科技論文著作情況、學(xué)術(shù)交流及成果轉(zhuǎn)讓統(tǒng)計、項目示范基地及獲后資助與配套情況、人才培養(yǎng)及新產(chǎn)品情況、項目經(jīng)濟(jì)效益情況、項目儀器設(shè)備情況,進(jìn)行數(shù)據(jù)的匯總統(tǒng)計分析,形成數(shù)據(jù)分析報告。
2.3 專家評估子系統(tǒng)
專家評估子系統(tǒng)主要是專家對項目進(jìn)行評估打分及評估意見的數(shù)據(jù)管理平臺,它主要由專家用戶登錄、項目分配、項目查詢、項目評估、項目評估管理、項目評估提交等功能組成。
用戶驗證:系統(tǒng)采用實名注冊的方式進(jìn)行身份驗證,避免了用戶重復(fù)登錄。項目分配:是由項目管理員進(jìn)入系統(tǒng)后,為專家分配項目,分配原則根據(jù)專家的研究領(lǐng)域進(jìn)行分配,也可對同一項目領(lǐng)域的項目分配到多個相同領(lǐng)域的專家中去,實現(xiàn)單項目多個專家一起評估的模式。提高了項目評估的準(zhǔn)確性和公正性。項目查詢:對已分配的項目進(jìn)行查詢,根據(jù)項目名稱、專家用戶名的條件查詢。項目評估:進(jìn)行項目評估工作,填寫評估打分表以及意見表。項目評估提交:提交評估以后的項目,管理員進(jìn)行保存。項目評估管理:管理用戶對評估項目進(jìn)行刪除、修改以及專家賬號管理等。項目評估完成情況:對項目評估的進(jìn)展情況進(jìn)行查詢,可以及時了解項目評估階段,作出合理的時間安排。
2.4 業(yè)務(wù)流程
根據(jù)1.4節(jié)業(yè)務(wù)流程的需求分析,業(yè)務(wù)流程如圖2所示。
圖2 業(yè)務(wù)流程圖
3.1 開發(fā)環(huán)境和主要開發(fā)工具
操作系統(tǒng)采用Microsoft Server2003,WEB應(yīng)用服務(wù)器采用Apache,采用Microsoft SQL Server2008作為整個系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)庫服務(wù)器。
在線系統(tǒng)開發(fā)工具采用豐富的J2EE集成開發(fā)環(huán)境MyEelipse7.0。使用Sybase Power Designer9建模工具對系統(tǒng)進(jìn)行建模。采用 Microsoft Visual Source Safe(VSS)負(fù)責(zé)項目文件的管理,進(jìn)行源代碼版本控制。開發(fā)工具采用集成開發(fā)環(huán)境zend Studio for Eclipse6.1。
3.2 關(guān)鍵技術(shù)
3.2.1 JAVA技術(shù)
JAVA[3]是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺(即JavaEE,JavaME,JavaSE)的總稱。Java自面世后就非常流行,發(fā)展迅速,對C++語言形成了有力沖擊。Java技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景[4]。
3.2.2 STRUTS技術(shù)
Struts[5]是Apache軟件基金會(ASF)贊助的一個開源項目。它最初是Jakarta項目中的一個子項目,并在2004年3月成為ASF的頂級項目。它通過采用JavaServlet/JSP技術(shù)[6],實現(xiàn)了基于Java EEWeb應(yīng)用的MVC設(shè)計模式的應(yīng)用框架,其中包括模型、視圖、控制器和一個XML文件。Struts有兩個相應(yīng)的配置文件web.xml和struts-config.xml,其中web.xml除了要對ActionServlet進(jìn)行相應(yīng)的配置以外,還要對Web表示層中使用的有關(guān)struts標(biāo)簽庫進(jìn)行相應(yīng)的聲明。而 Struts-cong.xm1則描述的是與Struts相關(guān)的文件,主要是用來存儲描述用戶請求的路徑以及相應(yīng)的Action映射關(guān)系的配置信息的[6]。系統(tǒng)主要對以上文件進(jìn)行配置實現(xiàn)。
3.2.3 數(shù)據(jù)庫調(diào)用
數(shù)據(jù)庫的實現(xiàn),主要是科技評估表、用戶權(quán)限及數(shù)據(jù)管理等輸入的數(shù)據(jù)信息,并且以適當(dāng)?shù)姆绞竭M(jìn)行匯總統(tǒng)計并進(jìn)行輸出操作。
科技評估表的數(shù)據(jù)調(diào)用是通過struts的框架結(jié)構(gòu),利用Java技術(shù)直接調(diào)用數(shù)據(jù)庫中的數(shù)據(jù),通過SQL查詢語句對相關(guān)的信息進(jìn)行調(diào)用,實現(xiàn)前臺與數(shù)據(jù)庫的自動同步綁定。由于篇幅關(guān)系只列出單位情況的SQL查詢語句。如下所示:
用戶權(quán)限的不同所對應(yīng)的數(shù)據(jù)管理權(quán)限也不一樣。對于數(shù)據(jù)填報用戶來說,數(shù)據(jù)填報人員的信息修改和查詢請求,經(jīng)過對查詢請求的分析得到人員的需求。然后把需求轉(zhuǎn)化為結(jié)構(gòu)化查詢語言SQL語句,送入數(shù)據(jù)庫系統(tǒng)中。數(shù)據(jù)庫根據(jù)SQL語句,查詢出結(jié)果,返回。系統(tǒng)接收到數(shù)據(jù)庫返回的查詢結(jié)果集,經(jīng)過一定的分析處理,轉(zhuǎn)化為HTML瀏覽頁面,返回給客戶端瀏覽器。對于用戶管理員和評估專家用戶的數(shù)據(jù)修改、添加、刪除等請求經(jīng)過對數(shù)據(jù)修改、添加、刪除請求的檢查,確定該請求是獲得權(quán)限的管理員人員發(fā)出即為有效請求之后,對該請求進(jìn)行分析,得到請求的具體內(nèi)容。然后轉(zhuǎn)化為結(jié)構(gòu)化查詢語言SQL語句,送人數(shù)據(jù)庫系統(tǒng),更新數(shù)據(jù)庫信息。
通過對該平臺的需求分析,提高系統(tǒng)的安全性。系統(tǒng)從以下三個方面進(jìn)行安全防護(hù)即:硬件防護(hù)和賬號安全。
4.1.1 硬件防護(hù)
通過對防火墻的配置,將該系統(tǒng)的應(yīng)用層和數(shù)據(jù)層都放在DMZ區(qū),通過一對一的地址轉(zhuǎn)化給相應(yīng)的訪問地址。另外,關(guān)閉該系統(tǒng)服務(wù)器的不用的端口并更改了系統(tǒng)開放端口的端口號,防止通過常用的端口號進(jìn)行網(wǎng)絡(luò)攻擊。
4.1.2 賬號安全
賬號設(shè)置方面,采用實名注冊的方式進(jìn)行身份驗證[7],通過不用用戶的性質(zhì),賦予相關(guān)權(quán)限。如:數(shù)據(jù)填報用戶只能進(jìn)行修改、提交操作;評估專家賬號只能進(jìn)行查看、填寫打分表等評估專家的操作;管理員賬號分為系統(tǒng)管理員和數(shù)據(jù)管理員。系統(tǒng)管理員只能修改、刪除和審核賬號。數(shù)據(jù)管理員只能統(tǒng)計、退回、修改、刪除等操作。數(shù)據(jù)庫密碼通過MD5[8]方式進(jìn)行加密。
該系統(tǒng)已經(jīng)投入使用,甘肅省14個市(州)、86個縣(區(qū))共計50多家單位進(jìn)行了評估,數(shù)據(jù)統(tǒng)計量達(dá)到10萬次,已出的科技評估報告50多篇。該系統(tǒng)的使用極大地提高了科技評估的深度和廣度,為科技計劃評估管理部門提供了一個良好的決策支持服務(wù)平臺。
[1] 陳強(qiáng),胡煥煥,鮑躍華.科技評估標(biāo)準(zhǔn):國外的經(jīng)驗與啟示[J].中國科技論壇,2012(5):22-28.
[2] 徐多勇,王計生,許小紅.基于Web2.0服務(wù)的研究生信息管理平臺[J].信息系統(tǒng)工程,2013(1):62-64.
[3] 昊斯特曼.JAVA核心技術(shù):卷1+卷2(原書第8版)[J].中國科技信息,2014(2):110-130.
[4] 周銳棠.Java技術(shù)在嵌入式系統(tǒng)中的作用探究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014,(1):32-38.
[5] 王剛.Struts框架技術(shù)簡析[J].長春師范學(xué)院學(xué)報,2012, (9):23-26.
[6] 肖輝輝.基于Struts架構(gòu)的網(wǎng)上書店系統(tǒng)的研究與設(shè)計[J].計算機(jī)技術(shù)與發(fā)展,2014,(3):46-50.
[7] 王毅敏.身份驗證技術(shù)在網(wǎng)絡(luò)安全保護(hù)中的應(yīng)用[J].計算機(jī)光盤軟件與應(yīng)用,2014,(5):34-36.
[8] 王雄.MD5加密逆向破解及安全改進(jìn)[J].西安文理學(xué)院學(xué)報(自然科學(xué)版),2014,(17):52-55.
TP311