張貴強 張文川 王炳鵬 郭 佳
(蘭州石化職業技術學院 甘肅 730060)
科技計劃項目的實施是實現科技計劃的唯一途徑,面向中小企業的科技計劃項目的具體實施可以發揮科技計劃對中小企業的宏觀調控和引導作用。為發揮中小企業在地區經濟發展中的重要作用,推動地區的科技發展水平建設,建設科技計劃項目管理系統。
本系統利用Flex與Java的集成構建,介紹了系統的功能設計和數據庫設計,并著重介紹了部分功能實現。
由于該省的企業分布廣泛,硬件環境較差,不能部署較復雜的客戶端軟件,而且該省工作人員和企業用戶計算機水平有限,所以該地區科技計劃項目管理需要一個具有友好性、擴展性和安全性的系統。
利用RIA技術可以幫助該地區科技廳實現科技計劃項目的推薦、申報、管理、驗收和咨詢服務等功能,為其科技計劃項目管理構建一個界面友好、擴展性強、易于交互的系統。
該系統的開發環境,除了需要具備Java應用程序的環境外,還需要滿足開發Flex應用程序的條件。系統的開發和應用環境如下:

系統包括評審項目專家管理、專家咨詢管理、項目申報管理、項目監理管理、項目驗收管理、項目推薦管理。
(1)用戶管理
用戶管理包括用戶信息編輯、刪除、審核、停用等操作。用戶可以注冊項目申報用戶,并修改資料。系統管理員能夠查看用戶狀態,編輯用戶信息,審核用戶資格等操作。
(2)用戶組管理
系統操作員能夠增加、刪除、修改和査看用戶組。默認的用戶組有系統管理員組、領導組、專家組、用戶組等。
(3)權限管理
權限管理和用戶組管理銜接在一起,給某用戶組分配權限后,該組的用戶就獲得了改組的相應權限,其權限以字符串類型存儲,以字符串中該為為1或0來判斷是否具有權限。
項目申報主要包括以下幾個重要功能:新項目申報、查看所有申報項目、項目中期檢查、項目驗收、二次項目驗收和重大事項變更等。在每個管理中要具備查詢、打印等功能。
錄入推薦公司的信息、項目推薦信息和視頻推薦信息后,由廳領導對推薦信息進行資格審核,然后,由廳辦公人員進行發布。系統中推薦信息以列表顯示,字段包括:企業名稱、企業類型、公司的經營信息等。點擊“查看”按鈕可以査看公司推薦信息的洋細。
業務層是整個應用的業務處理的核心,負責為客戶端的用戶操作提供后臺業務支撐。系統中采用Spring框架實現業務層,利用IoC機制,實現對持久層DAO組件的注入。該層有業務服務接口、接口實現類及數據傳輸對象組成。業務服務接口定義了一系列表示層需要的方法,供遠程方法調用,例如項目申請書中的類MyPjAService做為接口,定義了項目申報、查詢、提交方法等。
表示層直接與用戶交互,為用戶提供用戶界面,根據用戶的請求,遠程調用相應的業務處理邏輯,并將結果展示給用戶。系統釆用Flex技術實現,結合Cairngorm微架構對表示層釆用MVC設計模式,實現表示層中模式、視圖與控制器之間的分離。
3.2.1 模型的實現
系統的視圖層要顯示的數據模型全部保存在ProModelLocator中,該類實現了Cairngorm框架的ModelLocator的接口,用于存儲數據,實現方便管理、統一操作。ProModelLocator采用單例模式設計,只允許在程序運行時只有一個實例,客戶端程序共享一個Model層。
3.2.2 控制器的實現
在Flex客戶端中,Cairngorm框架起到的就是控制器作用。Cairngorm微架構的控制器作用體現在它提供的FrontController組件上,該組件通過監聽View派遣的攜帶了數據的事件,將事件以及其攜帶的數據映射到具體的Command中,由Command再負責創建Delegate,實現與服務器端的通信。
3.2.3 視圖的實現
系統的外觀布局采用嵌套式布局,整個系統的視圖層以project.mxml為基礎,整個頁面是一個VBOX容器,該容器內包括HBOX和HdivideBOX組件,Hdivided又嵌套了兩個VBOX組件:menus和displayArea。menus包括了Tree組件,用于頁面導航,displayArea用于顯示一系列的State,各個State由一系列的自定義組件組成,最終實現整個頁面的展示。
數據持久層主要封裝對于域模型對象的操作,是系統的根基,在數椐持久層采用Hibernate,來提高系統的對可移植性。數據持久層為業務邏輯層提供服務,實現數據訪問等操作。數據持久層封裝了訪問數據庫的所有方法,實現了系統的松耦合性。數椐持久層采用了Hibernate框架,可以大大縮短開發過程,使得系統持久層開發結構清晰。
采用Flex技術及與Java技術的集成,遠程服務器由LCDS實現,在部署服務平合時,要將LCDS.war包放在服務器下的WEB-INF目錄里。在服務器端需要 Services.mxml和remotingconfig.xml 兩個接口文件。
為了支持分布式事務管理,以插件的形式將JTOM管理器部署到Tomcat服務器的WEB-INF/lib下,運行LCDS。
利用Flex技術來實現的客戶端能為用戶提供一個更髙層次、更全方位的網絡體驗。基于Flex與Java的RIA系統開發技術除了具備傳統Web應用框架所具備的優良的體系結構、開發成本低等優點外,還可以給用戶提供良好的用戶體驗,從而提高與用戶的交互性,改善系統的性能。
[1]朱歡.基于RIA的商業業務管理系統構建[D].杭州:浙江大學,2008.
[2]Oracle項目管理[EB/0L].http://www.Oracle.com/lang/cn/applications/projects/intro.html,2009
[3]孟巖.跨越鴻溝-Adobe的RIA戰略[J].程序員,2008(5).
[4]馬智亮等.基于萬維網的工程項目管理系統綜述[J].土木工程學報,2006(10).