李鉑穎
?
基于J2EE架構(gòu)的企業(yè)項目群PMIS系統(tǒng)設(shè)計
李鉑穎
廈門煙草工業(yè)有限責(zé)任公司
該文從制造型企業(yè)項目群管理工作的實際需求出發(fā),采用基于企業(yè)級的J2EE架構(gòu),設(shè)計了一種制造企業(yè)科技項目管理輔助平臺的B/S模式解決方案,詳細(xì)闡述了該方案的功能模塊、系統(tǒng)架構(gòu)。
J2EE 項目集 PMIS 系統(tǒng)設(shè)計
項目管理是項目管理者在有限的資源約束下,運用系統(tǒng)的觀點、方法和理論,對項目所涉及的全部工作進(jìn)行有效的管理[1]。上世紀(jì)80年代,項目管理僅限于建筑、國防、航天等行業(yè),而今迅速發(fā)展到計算機(jī)、電子通訊、金融業(yè)甚至政府機(jī)關(guān)等眾多領(lǐng)域,成為當(dāng)前一種新興的經(jīng)營管理手段。隨著項目管理理論、實踐和信息技術(shù)的發(fā)展,將項目管理工作與信息化相結(jié)合,建設(shè)成為項目管理信息系統(tǒng)(project management information system,簡稱PMIS),從而確保項目管理工作可實現(xiàn)更加龐大信息數(shù)據(jù)的收集、更加復(fù)雜的計算分析以及更加廣泛的信息傳遞,使得項目管理工作變得更為高效、便捷,為項目目標(biāo)的實現(xiàn)提供了強(qiáng)有力的幫助。
目前,在高校、政府、工程建設(shè)項目中的項目管理著重對單個項目管理,且當(dāng)前國內(nèi)外已具有成熟的項目管理軟件,如甲骨文的P6、微軟的project等。但對于無法統(tǒng)一對正在開展的所有項目(簡稱項目群)進(jìn)行管理,為此需要立足生產(chǎn)制造型企業(yè),根據(jù)企業(yè)科技發(fā)展的需要,采用J2EE架構(gòu)設(shè)計一套適用于生產(chǎn)制造企業(yè)對項目群進(jìn)行有效管理的PMIS系統(tǒng),可對項目群進(jìn)行統(tǒng)一的資源分配、全生命周期的進(jìn)度跟蹤、評價考核以及知識共享,實現(xiàn)項目群管理的全程化、流程管理的可控化、過程管理的可控化、知識成果組織化、系統(tǒng)集成自動化的設(shè)計目標(biāo)。
根據(jù)公司項目管理工作的規(guī)劃,PMIS主要包括以下幾方面目標(biāo):
(1)完善現(xiàn)有創(chuàng)新管理流程,使其更加科學(xué)和規(guī)范;
(2)通過強(qiáng)有力的信息化手段,提高創(chuàng)新管理效率,實現(xiàn)項目和活動的精細(xì)化管理,以更好地完成項目的成本目標(biāo)和時間目標(biāo);
(3)通過信息化平臺的建立,提高項目管理人員的決策水平,以更好地完成項目的質(zhì)量目標(biāo)。
依據(jù)創(chuàng)新項目及活動管理業(yè)務(wù)流程,在PMIS中將創(chuàng)新項目管理輔助平臺作為首頁、該輔助平臺由創(chuàng)新項目全過程管理、創(chuàng)新活動管理、日常運營管理、創(chuàng)新基金管理、創(chuàng)新成果管理、方針目標(biāo)管理、項目庫管理、專家?guī)旃芾怼⑷瞬艓旃芾砗拖到y(tǒng)管理等主要模塊組成,系統(tǒng)架構(gòu)如圖1所示。
本文設(shè)計的基于J2EE架構(gòu)的項目群PMIS平臺采用的主要技術(shù)有spring、dhtmlx、strust、soa、jdbc、javascript和jsp等,依照文獻(xiàn)[2]中的方法采用B/S體系結(jié)構(gòu)。系統(tǒng)根據(jù)應(yīng)用功能分為表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)層,其技術(shù)架構(gòu)圖如圖2所示。
根據(jù)標(biāo)準(zhǔn)化和規(guī)范化要求,由J2EE構(gòu)架設(shè)計的PMIS平臺實現(xiàn)業(yè)務(wù)與處理分離,邏輯與數(shù)據(jù)分離,后臺管理系統(tǒng)界面可根據(jù)需要進(jìn)行定制,工作流程根據(jù)實際情況可自行定義,其權(quán)限可控制。若項目群中有新的業(yè)務(wù)需求時,可快速定制出新的應(yīng)用模塊。由文獻(xiàn)[3]可將新增業(yè)務(wù)應(yīng)用模塊的定義如圖3所示,以便滿足系統(tǒng)需求的不斷增長,具有強(qiáng)伸縮性。
圖1 系統(tǒng)功能模塊圖
圖2 基于web的B/S三層體系結(jié)構(gòu)
圖3 新增業(yè)務(wù)設(shè)計的定義
從圖3可以看到,當(dāng)新增或變更一個業(yè)務(wù)需求時,只有新增或變更的業(yè)務(wù)處理需要開發(fā)新的服務(wù)。
在表現(xiàn)層(如圖4)中主要運用dhtmlx來展現(xiàn),因為在dhtmlx中有一系列用于前臺展示的工具,如dhtmlxtree、dhtmlxgrid等。通過這些工具可以快捷、美觀地展示出用戶查詢的數(shù)據(jù),并在UNJDP中有一套相對應(yīng)于dhtmlx的UI配置系統(tǒng),因此可以通過簡單配置來生成XML數(shù)據(jù)源,以供dhtmlx顯示[4]。
圖4 表現(xiàn)層
業(yè)務(wù)層(如圖5)運用spring aop來進(jìn)行事務(wù)管理,此部分只需在配置文件中進(jìn)行配置即可管理事務(wù)。平臺運用log4j進(jìn)行日志管理,將業(yè)務(wù)日志和系統(tǒng)日志分別記錄在不同的數(shù)據(jù)庫或文件中。平臺的業(yè)務(wù)是面向服務(wù)的,根據(jù)需要封裝為webservice對外開放。同時也有多實現(xiàn)的webservice調(diào)用模塊來調(diào)用外部服務(wù)或與ESB連接。
圖5 業(yè)務(wù)層
數(shù)據(jù)訪問層直接與數(shù)據(jù)庫打交道,軟件運行的速度很大程度上取決于數(shù)據(jù)訪問層的存取速度,因此在此層中,選用較為底層的技術(shù)jdbc。因為jdbc可以靈活地對數(shù)據(jù)庫進(jìn)行操作,避免使用hibernate之類的數(shù)據(jù)層框架技術(shù)造成的冗余檢索,以此提高數(shù)據(jù)訪問層的速度。此層的結(jié)構(gòu)如圖6所示,但是此類處理方法將降低系統(tǒng)的可移植性,若系統(tǒng)提供主流數(shù)據(jù)庫的支持功能,如oracle和db2,系統(tǒng)的可移植性缺陷將可大大降低[5]。
圖6 持久層
平臺可以通過企業(yè)服務(wù)總線實現(xiàn)與第三方系統(tǒng)的通訊和功能集成,為此,平臺將自己的服務(wù)封裝為webservice,然后通過企業(yè)服務(wù)總線(ESB)與其它系統(tǒng)交換信息。考慮到不同系統(tǒng)中采用的接口規(guī)范可能不同,為此平臺提供了多種接口實現(xiàn),如基于axis、spring以及java1.6的實現(xiàn)等(如圖7)。
(1)調(diào)用服務(wù):由于平臺提供了多種接口實現(xiàn),所以可降低與其他應(yīng)用平臺不兼容的風(fēng)險。其他應(yīng)用平臺只需要按照相應(yīng)的接口規(guī)范,傳送響應(yīng)參數(shù),并解析返回結(jié)果即可。
(2)響應(yīng)請求:為了減少系統(tǒng)間的差異性,平臺中所有參數(shù)及業(yè)務(wù)數(shù)據(jù)都以XML方式描述。由此,服務(wù)請求者只需要對XML描述的信息進(jìn)行解析就可獲取所需的業(yè)務(wù)數(shù)據(jù)。具體的XML描述也有相關(guān)的文檔加以詳述,調(diào)用者只需按照規(guī)范進(jìn)行解析即可。
圖7 集成外部系統(tǒng)架構(gòu)
企業(yè)服務(wù)總線在數(shù)據(jù)處理過程中可解析數(shù)據(jù)包內(nèi)容,根據(jù)數(shù)據(jù)內(nèi)容進(jìn)行數(shù)據(jù)的進(jìn)一步處理。XML適合作為交換數(shù)據(jù)的媒介,且具有以下特點:
(1)XML是純文本的,易于理解;
(2)XML具有完整的結(jié)構(gòu)描述、驗證體系,基于XML易于商定接口標(biāo)準(zhǔn);
(3)XML標(biāo)準(zhǔn)體系中具有格式轉(zhuǎn)換的內(nèi)容,其樹形文件結(jié)構(gòu)易于進(jìn)行格式轉(zhuǎn)換;
(4)XML可擴(kuò)展能滿足業(yè)務(wù)需求發(fā)展的需要。
根據(jù)以上所述的架構(gòu)設(shè)計開發(fā)出項目群的PMIS平臺,其效果圖如圖8所示。在圖8中,可以清晰地看到信息化系統(tǒng)首頁中給出的項目開發(fā)中有關(guān)通知及提醒、項目進(jìn)展、待辦事宜及相關(guān)的項目列表。
圖8 首頁效果圖
此外,用戶菜單中顯示當(dāng)前用戶參與或有權(quán)利查看的所有項目列表,點擊如圖8所示的“項目名稱”列中任何一條記錄,便可打開本項目的全過程流程圖(如圖9)。點擊圖9中左側(cè)樹上的節(jié)點或點擊右側(cè)流程圖上的任何節(jié)點,便可進(jìn)入相應(yīng)的頁面。在流程圖中,已經(jīng)完成的流程節(jié)點以綠色表示,綠色節(jié)點只能查看不能編輯,未開始執(zhí)行的節(jié)點沒有顏色,點擊進(jìn)入后可直接編輯,進(jìn)行任務(wù)、人員、時間等因素的管理與調(diào)配。
圖9 項目全流程管理
本文根據(jù)制造型企業(yè)項目群管理工作的實際需求,采用企業(yè)級的J2EE架構(gòu),設(shè)計了制造企業(yè)科技項目群的管理輔助平臺,詳細(xì)闡述了該方案的功能模塊及系統(tǒng)架構(gòu),以B/S模式實現(xiàn)了平臺的各項功能并將該平臺與其他系統(tǒng)進(jìn)行信息交換,解決了企業(yè)項目群管理混亂的難題。
[1] 戚安邦,張邊營.項目管理概論[M].北京: 清華大學(xué)出版社,2008.
[2] 杜聚賓.搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例[M].北京: 電子工業(yè)出版社,2012.
[3] Cay S. Horstmann, Gary Cornell.JAVA 2核心編程[M].北京: 清華大學(xué)出版社,2003.
[4] 葛一鳴.Java程序性能優(yōu)化——讓你的Java程序更快、更穩(wěn)定[M].北京:清華大學(xué)出版社,2012.
[5] 閃四清.Oracle Database 11g基礎(chǔ)教程[M].北京: 清華大學(xué)出版社,2007.