趙 凡,保繼棟
(甘肅省科學技術情報研究所,甘肅 蘭州 730000)
基于JAVA+STRUTS的科技計劃項目評估管理信息系統實現與安全設計
趙 凡,保繼棟
(甘肅省科學技術情報研究所,甘肅 蘭州 730000)
目前,科技計劃項目評估管理系統性、連續性、獨立性不強,第三方評估執行進程緩慢;項目的可監測度不強,沒有明確的監測指標和基線數據;沒有建立一套符合科技項目特點并與科技計劃管理相匹配的項目監測評估體系。針對以上問題,采用JAVA和STRUTS的開發方法實現易于維護、易于動態擴展、具有安全性的科技計劃項目評估管理的過程。通過近三年在甘肅省科技計劃項目評估管理中的應用表明,系統極大的提高了項目評估管理的工作效率,系統運行穩定,響應速度快,安全性高。
科技計劃;項目評估;JAVA;STRUTS;安全設計
科技計劃項目評估[1]管理已是當今科技發展的一個重要課題。對于科技計劃項目評估管理是科技部門(省科學技術廳)的一項重要任務。以往的科技項目評估管理信息,都是按年度或者階段填寫大量的紙質表格,既不利于信息的隨時更新,又耗費了科技部門大量的人力和物力。隨著科學技術的不斷進步以及計算機技術的迅猛發展,科技項目評估管理工作也要提高到一個新的管理水平。
科技計劃項目評估管理信息系統是加強對科技項目評估管理、使用和服務的信息化手段,通過系統對項目評估進行動態管理。系統的目標是建成一個數據填報、信息管理、專家評估多方位的信息管理平臺。
1.1 數據管理需求
通過該系統對科技項目評價指標信息進行數據填報;各個項目承擔單位項目負責人隨時、自主更新科技項目評估信息;方便組織科技部門及時了解項目評估中項目進展、項目經費、階段成果、儀器設備以及項目承擔單位自查評估報告等情況。
1.2 信息管理需求
通過該系統實時掌握和管理所有評估項目的實時信息。對不同的項目進行分類、查詢、統計管理;通過圖形統計分析為科技部門提供直觀的數據統計結果;通過格式轉換對統計的結果進行不同文檔格式的轉換,并根據數據統計的條件進行在線實時打印匯總。
1.3 專家評估管理需求
通過該系統生成項目評估專家庫,根據評估項目的不同,分別選取不同專家完成評估專家評議打分表和評估意見表,為最終評估結論提供參考依據。
1.4 業務流程需求
在業務流程上基于逐層上報、層層審核的設計原則[2],從而保證數據的權威性。項目承擔單位對需要評估項目的各種信息的真實性負責,評估信息管理單位對提交的評估項目進行分類統計和報表匯總。專家評估管理對信息管理部門提交的評估信息負責,通過在線打分和填寫意見表的方式對項目進行最終的評估評價。
系統設計遵循可擴展性、靈活性、可靠性和安全性原則。系統設計的出發點是:良好的框架結構和參數驅動,以便今后的升級和重用;相對獨立的子系統,保證穩定性和易擴展性;良好和統一的用戶界面,力求簡潔、清晰、方便、易用。
系統分為數據填報、信息管理和專家評估三大子系統。系統功能結構如圖l所示。

圖1 系統功能結構圖
2.1 數據填報子系統
數據填報子系統的主要操作為填寫“科技項目評估表”。分為7大類共29個指標,分別為:基本情況包括項目名稱、承擔單位、詳細地址、項目起止時間、所屬領域、批準部門、計劃類別、單位屬性、單位屬地、項目負責人信息、合作單位等;項目進展包括:項目進度完成情況、結題情況、內容目標變更情況、人員投入、參加單位;項目經費包括:經費投入、經費支出;階段成果包括:科技成果、申請專利、授權專利、科技成果、軟件登記、制定技術標準、科技論文、科技著作;儀器設備;項目承擔單位自查評估報告;附件上傳。逐項填寫完成并保存后,點擊“查詢”就能看到所填寫的全部評估表,此時的狀態是“未提交”,點擊“提交”按鈕對項目進程提交操作,點擊“修改”按鈕對項目進行修改。點擊“打印”按鈕,自動生成Word或者Excel格式的表格并進行實時打印,方便項目承擔單位上報要評估項目的紙質表格。
進入該系統時,首先要填寫帳號和基本信息進行注冊,通過上級主管單位審核通過后才能登錄。然后進行填寫“科技項目評估表”操作。
2.2 信息管理子系統
信息管理子系統主要是科技管理用戶匯總各年度數據的管理平臺,它主要由管理員登錄、項目查詢、數據退回、分類數據統計、數據統計圖形分析、數據格式轉換、指標維護、模板控制等功能組成。其中:數據退回:主要是管理員對不符合要求的數據可進行退回修改的操作。數據轉換:系統需要將用戶填報的html的結果格式轉換為Word和Excel數據格式供管理用戶打印。分類數據統計:是該系統的核心功能,可按照項目類型、技術領域、項目名稱、數據統計起始年度和截止年度選項,組合查詢所需要的數據;同時按照人員基本情況、項目經費投入情況、項目經費支出情況、科技成果數情況、項目專利數情況、科技成果獎勵情況、項目制定技術標準情況、科技論文著作情況、學術交流及成果轉讓統計、項目示范基地及獲后資助與配套情況、人才培養及新產品情況、項目經濟效益情況、項目儀器設備情況,進行數據的匯總統計分析,形成數據分析報告。
2.3 專家評估子系統
專家評估子系統主要是專家對項目進行評估打分及評估意見的數據管理平臺,它主要由專家用戶登錄、項目分配、項目查詢、項目評估、項目評估管理、項目評估提交等功能組成。
用戶驗證:系統采用實名注冊的方式進行身份驗證,避免了用戶重復登錄。項目分配:是由項目管理員進入系統后,為專家分配項目,分配原則根據專家的研究領域進行分配,也可對同一項目領域的項目分配到多個相同領域的專家中去,實現單項目多個專家一起評估的模式。提高了項目評估的準確性和公正性。項目查詢:對已分配的項目進行查詢,根據項目名稱、專家用戶名的條件查詢。項目評估:進行項目評估工作,填寫評估打分表以及意見表。項目評估提交:提交評估以后的項目,管理員進行保存。項目評估管理:管理用戶對評估項目進行刪除、修改以及專家賬號管理等。項目評估完成情況:對項目評估的進展情況進行查詢,可以及時了解項目評估階段,作出合理的時間安排。
2.4 業務流程
根據1.4節業務流程的需求分析,業務流程如圖2所示。

圖2 業務流程圖
3.1 開發環境和主要開發工具
操作系統采用Microsoft Server2003,WEB應用服務器采用Apache,采用Microsoft SQL Server2008作為整個系統的網絡數據庫服務器。
在線系統開發工具采用豐富的J2EE集成開發環境MyEelipse7.0。使用Sybase Power Designer9建模工具對系統進行建模。采用 Microsoft Visual Source Safe(VSS)負責項目文件的管理,進行源代碼版本控制。開發工具采用集成開發環境zend Studio for Eclipse6.1。
3.2 關鍵技術
3.2.1 JAVA技術
JAVA[3]是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和Java平臺(即JavaEE,JavaME,JavaSE)的總稱。Java自面世后就非常流行,發展迅速,對C++語言形成了有力沖擊。Java技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球云計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景[4]。
3.2.2 STRUTS技術
Struts[5]是Apache軟件基金會(ASF)贊助的一個開源項目。它最初是Jakarta項目中的一個子項目,并在2004年3月成為ASF的頂級項目。它通過采用JavaServlet/JSP技術[6],實現了基于Java EEWeb應用的MVC設計模式的應用框架,其中包括模型、視圖、控制器和一個XML文件。Struts有兩個相應的配置文件web.xml和struts-config.xml,其中web.xml除了要對ActionServlet進行相應的配置以外,還要對Web表示層中使用的有關struts標簽庫進行相應的聲明。而 Struts-cong.xm1則描述的是與Struts相關的文件,主要是用來存儲描述用戶請求的路徑以及相應的Action映射關系的配置信息的[6]。系統主要對以上文件進行配置實現。
3.2.3 數據庫調用
數據庫的實現,主要是科技評估表、用戶權限及數據管理等輸入的數據信息,并且以適當的方式進行匯總統計并進行輸出操作。
科技評估表的數據調用是通過struts的框架結構,利用Java技術直接調用數據庫中的數據,通過SQL查詢語句對相關的信息進行調用,實現前臺與數據庫的自動同步綁定。由于篇幅關系只列出單位情況的SQL查詢語句。如下所示:


用戶權限的不同所對應的數據管理權限也不一樣。對于數據填報用戶來說,數據填報人員的信息修改和查詢請求,經過對查詢請求的分析得到人員的需求。然后把需求轉化為結構化查詢語言SQL語句,送入數據庫系統中。數據庫根據SQL語句,查詢出結果,返回。系統接收到數據庫返回的查詢結果集,經過一定的分析處理,轉化為HTML瀏覽頁面,返回給客戶端瀏覽器。對于用戶管理員和評估專家用戶的數據修改、添加、刪除等請求經過對數據修改、添加、刪除請求的檢查,確定該請求是獲得權限的管理員人員發出即為有效請求之后,對該請求進行分析,得到請求的具體內容。然后轉化為結構化查詢語言SQL語句,送人數據庫系統,更新數據庫信息。
通過對該平臺的需求分析,提高系統的安全性。系統從以下三個方面進行安全防護即:硬件防護和賬號安全。
4.1.1 硬件防護
通過對防火墻的配置,將該系統的應用層和數據層都放在DMZ區,通過一對一的地址轉化給相應的訪問地址。另外,關閉該系統服務器的不用的端口并更改了系統開放端口的端口號,防止通過常用的端口號進行網絡攻擊。
4.1.2 賬號安全
賬號設置方面,采用實名注冊的方式進行身份驗證[7],通過不用用戶的性質,賦予相關權限。如:數據填報用戶只能進行修改、提交操作;評估專家賬號只能進行查看、填寫打分表等評估專家的操作;管理員賬號分為系統管理員和數據管理員。系統管理員只能修改、刪除和審核賬號。數據管理員只能統計、退回、修改、刪除等操作。數據庫密碼通過MD5[8]方式進行加密。
該系統已經投入使用,甘肅省14個市(州)、86個縣(區)共計50多家單位進行了評估,數據統計量達到10萬次,已出的科技評估報告50多篇。該系統的使用極大地提高了科技評估的深度和廣度,為科技計劃評估管理部門提供了一個良好的決策支持服務平臺。
[1] 陳強,胡煥煥,鮑躍華.科技評估標準:國外的經驗與啟示[J].中國科技論壇,2012(5):22-28.
[2] 徐多勇,王計生,許小紅.基于Web2.0服務的研究生信息管理平臺[J].信息系統工程,2013(1):62-64.
[3] 昊斯特曼.JAVA核心技術:卷1+卷2(原書第8版)[J].中國科技信息,2014(2):110-130.
[4] 周銳棠.Java技術在嵌入式系統中的作用探究[J].網絡安全技術與應用,2014,(1):32-38.
[5] 王剛.Struts框架技術簡析[J].長春師范學院學報,2012, (9):23-26.
[6] 肖輝輝.基于Struts架構的網上書店系統的研究與設計[J].計算機技術與發展,2014,(3):46-50.
[7] 王毅敏.身份驗證技術在網絡安全保護中的應用[J].計算機光盤軟件與應用,2014,(5):34-36.
[8] 王雄.MD5加密逆向破解及安全改進[J].西安文理學院學報(自然科學版),2014,(17):52-55.
TP311