The design of distributed project management system
based on J2EE
Jiang Wenke and Jin Weidong
(College of electrical engineering, Southwest Jiaotong University, Chengdu, 610031 )
Abstract: In order to make it rebuilt and integrated well, combining with the advantage of J2EE used in design of system, the author design a distributed project management system based on J2EE in manufacture and describe the module structure, main function and key technology. This system is safe, efficiency, practical and suitable for distributed project.
Key words: J2EE; project management; distributed
1 引言
經濟全球化與信息技術的不斷進步和發展,在項目管理領域出現了新的機遇和挑戰,當今很多項目都面對項目參與人員地理上的分散性、組織上的多樣性、文化上的差異性、資源異構性的現象,企業從Internet獲取信息與基于Web 技術管理企業資源和生產活動越來越成為企業的迫切要求。但傳統的項目管理模式及項目管理系統難以對這種分布在異地的業務流程進行有效的管理。因此,構建一個具有伸縮性、開放性、便攜性和安全性的基于web的分布式項目管理系統成為現代企業的一種普遍需求[1-3]。互聯網技術的發展,尤其是以J2EE 為平臺的Web開發技術的應用,為建立分布式的項目管理系統提供了有力的技術支持。基于此,本文提出了基于J2EE 的分布式項目管理系統,從宏觀角度對分布式項目管理的系統結構進行分析, 并對系統中各模塊的功能設計進行了描述。
2 基于J2EE 的分布式項目管理系統設計
2.1 J2EE概述
J2EE 是SUN 公司推出的一種全新概念的多層分布式應用平臺,它比傳統的互聯網程序有著更大的優勢。J2EE提供了一個企業級的計算模型和運行環境,用于開發和部署多層體系結構的計算機應用。它通過提供企業計算環境所必須的各種服務,使得部署在J2EE平臺上的多層應用可以實現高可用性、安全性、可擴展性和可靠性。
J2EE體系結構(包括Servlet、JSP、和EJB 3個單元)的優點是:Servlet和JSP中可以完全使用Java進行編程,可以完成許多簡單的商業邏輯。JSP(Java Server Pages) 是J2EE 平臺的頁面編程技術,它通過一定的格式將Java 語句嵌入到HTML 語句中。Servlet 是一個運行在請求/ 響應模式的服務器上的Java 類模塊,它動態擴展了Web 服務器的功能。復雜的商業邏輯以EJB組件的形式部署在EJB Server中。EJB ( Enterprise JavaBeans) 是J2EE 平臺的組件技術,是J2EE 的核心。EJB 是用Java 編寫的服務器端組件,用于實現企業計算機應用的商業邏輯。EJB 分為兩類:會話EJB 和實體EJB。前者用于系統應用邏輯實現;后者用于數據存儲和狀態跟蹤。由于EJB Server提供了多種組件事務,使系統更能夠應付大量的并發用戶和管理復雜的事務邏輯。EJB Server中集成的組件命名服務可以使組件位置透明化,簡化了組件的部署和客戶端應用的維護。開發過程易于分工進行,可以由專人負責編寫組件,其他人組裝頁面[1]。企業原有數據可放人后臺的數據庫中,EJB 通過JDBC 進行存取,從而利用了企業原有信息資源。
因此,綜合目前項目管理發展的特點和技術發展的趨勢,作者開發了基于J2EE架構的分布式項目管理系統。
2.2 系統的體系結構
基于J2EE 的項目管理系統是多層、分布式結構,如圖1。系統的前端是瀏覽器,用戶通過請求Web 頁調用Web 服務器中的Servlet 和JSP ,調用應用服務器中的應用邏輯,如EJB 組件,也可運用JMS 與其企業其它信息系統交換信息。中間層主要提供系統級服務,并負責管理J2EE 的應用部件。業務邏輯由企業Bean來執行,企業Bean從客戶程序處接收數據,對數據進行處理,在將數據發送到企業信息系統層存儲,或者從數據庫中檢索數據后送回客戶端。系統的后端除包括數據庫外,還包括相關的其它企業信息系統等。連接器作為J2EE 的擴展,負責連接J2EE 平臺與異構的企業信息系統。
圖1 基于J2EE的分布式項目管理系統的體系結構
Fig.1 The structure of the distributed project management system based on J2EE
3 項目管理系統的功能模塊設計
系統主要包括用戶權限管理模塊、進度資源管理模塊、通訊模塊、日常事務信息管理、人力資源管理、質量管理、合同管理、知識管理及綜合查詢等模塊,用戶還可以根據需要進行模塊組合或方便的加入新模塊。
用戶權限管理包括用戶的注冊、登錄、用戶信息的維護等。不同角色的用戶擁有不同的權限。系統識別用戶身份,根據相應授權,開放或關閉某些功能模塊的使用權,即實現個性化界面。用戶通過瀏覽器使用該管理系統時,需要進行用戶身份的登錄與驗證,用戶的身份包括項目經理、各子項目負責人、一般項目成員、遠程用戶等。Web 服務器收集用戶的注冊和登錄信息,并通過Servlet 調用EJB( Enterprise JavaBeans) 服務器中的EJB組件進行處理驗證,并將處理結果返回給Web 頁面。不同的用戶根據自己的用戶權限分別登陸到各自的業務平臺進行業務處理。用戶進入系統后首先選擇角色(如果有多個角色)和能處理的項目,進入系統后所有信息都是關于這個項目和用戶當前角色的。用戶可以在系統中切換項目和角色。
進度資源管理模塊可以使項目管理者依據項目的進程及項目的整體情況和各個應用狀態,對任務流進行重組,各個任務進度進行調整,資源重新配置,組織/角色的重新定義,該過程會產生新的關鍵路徑和關鍵任務,成為項目運行的新依據。進度報警程序是運行于應用服務器端的后臺進程,定時掃描狀態為運行的任務,對其執行的時間進行累加,若該時間大于任務的預定時間,則向管理員和客戶應用端同時報警;能夠對項目的里程碑目標進行監控;能夠感知項目環境的變化,如提示系統有消息到來;對共享信息的越權操作及一些異常情況也能夠進行報警及處理。
通訊和交互接口主要實現服務器與客戶應用端、管理者與工作組成員間的通訊與交流。項目管理者在進行任務發放時,用E - mail 或短消息通知各開發小組,項目成員可以以聊天室形式參與交流。服務端和客戶端的連接以中間件為橋梁,對服務器的訪問通過JDBC 來實現。
項目綜合查詢模塊可以查詢各個模塊的信息,具有進度報警功能,還可以生成各類報表,并且采用先進的多級子工程管理技術,智能化自動生成甘特圖,輕松實現工程項目的多級管理規范化管理,實現對作業的全方位跟蹤監控,對外部服務器的訪問通過外部進程間的消息傳遞機制來實現。
此外,系統還包括日常事務信息管理、人力資源管理、質量管理、合同管理、知識管理等功能,用戶可以根據企業項目實際情況自由選擇或定制需要的功能,大大提高項目管理系統的柔性和適應性。
圖2 基于J2EE 的分布式項目管理系統模塊構成
Fig.2 The system modules of the distributed project management system based on J2EE
Fig.2 The system modules of the distributed project management system based on J2EE
4 系統的特點
4.1 通過EJB組件實現數據庫的連接和操作
EJB 是一個可重復使用的軟件組件,由于本系統是一個大型的Web 數據庫系統,所以會有大量的數據庫操作,因此構建一個專門的數據庫操作組件是非常必要的,這樣可以省去大量的重復性代碼,使程序結構化更強,易于移植和維護,同時還具有良好的擴展性和安全性。
4.2 基于角色的多層訪問控制
基于角色的訪問控制(RBAC:Role-Based Access Control)方法的基本思想是根據需要定義各種角色并設置角色的訪問權限,而用戶根據其、職責和崗位被指派為不同的角色[4]。這樣整個訪問控制過程就分成了兩部分:即訪問權限和角色相關聯, 角色再和用戶相關聯, 從而實現了用戶與訪問權限的邏輯分離。
傳統的訪問控制直接將訪問主體和客體相關聯,而RBAC在中間加入了角色,通過角色溝通訪問控制的主體和客體。為了能夠靈活地對系統的訪問權限進行控制,我們擴展了RBAC模型,形成了一個基于角色的多層訪問控制模型,如圖3所示。
4.3 數據庫設計
鑒于項目參與方在地理位置上分散各地的特征,為有效地管理與項目有關的數據和與數據有關的過程,系統的數據庫采用集中與分布式相結合的方法,建立中央項目數據庫和各項目組分布數據庫,中央項目數據庫主要存放用戶信息、項目模型、產品信息、中間結果、過程信息等,各項目組數據庫主要保存與本組有關的信息。系統使用組進行授權管理,將不同的用戶群劃分成不同的組,并對組授權。這樣既保證了公共信息的有效共享,又保證了各項目組私有信息的獨立性。
鑒于項目參與方在地理位置上分散各地的特征,為有效地管理與項目有關的數據和與數據有關的過程,系統的數據庫采用集中與分布式相結合的方法,建立中央項目數據庫和各項目組分布數據庫,中央項目數據庫主要存放用戶信息、項目模型、產品信息、中間結果、過程信息等,各項目組數據庫主要保存與本組有關的信息。系統使用組進行授權管理,將不同的用戶群劃分成不同的組,并對組授權。這樣既保證了公共信息的有效共享,又保證了各項目組私有信息的獨立性。
圖3 基于角色的多層訪問控制模型
Fig.3 Multilayer access control model based on role
5 結束語
J2EE是一個為企業分布式應用的開發提供的標準平臺。采用J2EE體系結構可以構造出完全不依賴平臺的計算機應用系統,并且支持分布式事務處理。從開發角度來講,由于系統的表現形式(Web頁面)和內部邏輯(EJB)相分離,因此,系統的不同部分可以由不同開發人員同步進行,提高了系統開發的效率和質量,同時也有利于系統的維護和升級。筆者采用J2EE方案開發的分布式項目管理系統,從企業實際運用的效果來看,該系統具有安全、高效、實用、支持分布式業務流程,適應網絡化虛擬企業的管理模式等特點。
參考文獻:
[1] 魏從剛,何衛平,趙峰,王建利,孫思. 基于J2EE的分布式項目管理系統應用研究. 制造業自動化. 2004, 26(11): 62-65.
[2] 郭建設,尹朝萬,羅煥佐,鄭紅星. 基于J2EE的分布式項目管理系統模型與實現. 計算機工程與應用. 2004, 31: 193-196.
[3] 鄭紅星,尹朝萬,郭建設,張福順. 分布式制造項目管理研究與實現. 計算機應用. 2004, 24(5): 120-122.
[4] 鄧筱鵬,胡堅,黃桁. 工程項目信息管理系統的開發及應用. 水運工程. 2005, 5: 78-83.
作者簡介:
姜文科(1982),女,江西九江人,漢,碩士研究生,研究方向:項目管理、分布式計算、中間件