您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > J2EE平台下的分布式项目管理模型与实现
平台下的分布式项目管理模型与实现姜文科,金炜东西南交通大学电气工程学院(610031)E-mail:wenke.jiang@163.com摘要:本文分析了分布式项目管理的特点,结合J2EE(Java2EnterpriseEdition)在计算机应用系统开发中的优势,构建了基于J2EE的分布式项目管理系统,并对系统中各模块的功能设计进行了描述,对该模型的有效性进行验证。关键词:J2EE,项目管理,分布式1.引言经济全球化与信息技术的不断进步和发展,在项目管理领域出现了新的机遇和挑战,当今很多项目都面对项目参与人员地理上的分散性、组织上的多样性、文化上的差异性、资源异构性的现象,企业从Interrnet/Intranet获取信息与基于Web技术管理企业资源和生产活动越来越成为企业的迫切要求。但传统的项目管理模式及项目管理系统难以对这种分布在异地的业务流程进行有效的管理。因此,构建一个具有伸缩性、开放性、便携性和安全性的基于web的分布式项目管理系统成为现代企业的一种普遍需求[1-3]。互联网技术的发展,尤其是以J2EE为平台的WEB开发技术的应用,为建立分布式的项目管理系统提供了有力的技术支持。基于此,本文提出了基于J2EE的分布式项目管理系统,从宏观角度对分布式项目管理的系统结构进行分析,并对系统中各模块的功能设计进行了描述。2.基于J2EE的分布式项目管理系统设计2.1J2EE概述J2EE是SUN公司推出的一种全新概念的多层分布式应用平台,它比传统的互联网程序有着更大的优势。J2EE提供了一个企业级的计算模型和运行环境,用于开发和部署多层体系结构的计算机应用。它通过提供企业计算环境所必须的各种服务,使得部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。J2EE体系结构(包括Servlet、JSP、和EJB3个单元)的优点是:Servlet和JSP中可以完全使用Java进行编程,可以完成许多简单的商业逻辑。复杂的商业逻辑以EJB组件的形式部署在EJBServer中。由于EJBServer提供了多种组件事务,使系统更能够应付大量的并发用户和管理复杂的事务逻辑。EJBServer中集成的组件命名服务可以使组件位置透明化,简化了组件的部署和客户端应用的维护。开发过程易于分工进行,可以由专人负责编写组件,其他人组装页面[1]。因此,综合目前项目管理发展的特点和技术发展的趋势,作者开发了基于J2EE架构的分布式项目管理系统。系统的体系结构对比现有各种技术,根据实际需要,我们选择基于J2EE平台,分为模型、视窗、控制器、数据库四层进行开发。Web服务器主要处理用户管理,包括用户的注册、登录、用户信息维护、工作组管理等。Web服务器收集用户的注册和登录信息,并通过Servlet调用EJB服务器中的EJB组件进行处理验证,并将处理结果返回给Web页面。EJB服务器为EJB组件提供了一个运行环境,管理EJB的生命周期、数据库的连接与并发操作、分布式事务处理等。EJB组件主要用来维护和处理用户及项目管理的数据信息,响应Web页面的用户信息的查询与修改和应用Applet中的各种数据的显示和保存。使用会话EJB结合JavaBean实现主要业务逻辑,使系统具有较高的灵活性和可扩充性,不代表数据库中的数据,从而简化表示层的处理与并发的用户需求处理。利用Servlet实现控制器,使用JSP实现用户界面的制作,使用实体EJB或JavaBean通过JDBC与数据库服务器进行交互。动态EJB间的交互仅仅由会话bean处理,减少客户错误地使用EJB的机会。隐藏服务器的实现细节,应用程序服务的实现和修改无需对客户重新配发。系统的技术构架如图1所示:图1基于J2EE的分布式项目管理系统的技术构架系统实现了工作流机制,使系统达到整体协同。图2为基于J2EE工作流管理系统层次结构图。●用户界面层J2EE应用可以是基于Web的,也可以不基于Web。在一个基于Web的J2EE应用中,用户的浏览器在客户层中运行,并从Web服务器上下载Web层中的静态HTML页面或由JSP、Servlet生成的动态HTML页面。在不基于Web的J2EE应用程序中,一个独立于客户程序运行在客户层中,并在不经过Web层的情况下访问企业Bean。●网络服务层Web组件可以由JSP页面,基于Web的Applet以及显示HTML页面的Servlet组成。调用Servlet或者JSP页面的HTML页面在应用程序组装时与Web组件打包在一起。Web层可以包括一个JavaBean类来管理用户输入,并将输入发送到业务层中运行的企业Bean类来处理。运行在客户层的Web组件依赖容器来支持客户的请求。HTMLAppletServlet客户端(浏览器端)Web服务器EJB服务器数据库服务器JSPJavaBean会话EJB实体EJBMSSQLServer●业务层业务逻辑由企业Bean来执行,企业Bean从客户程序处接收数据,对数据进行处理,在将数据发送到企业信息系统层存储,或者从数据库中检索数据后送回客户端。●企业信息系统层运行企业信息系统软件,这层包括企业基础设施系统的数据库。JavaApplicationHtml/JS工作流建模CORBA数据库文件库XML用户界面层网络业务层公共接口层EIS层JavaMailJSPXMLParserWorkflowEngine工作流执行工作流监控工作流更改工作流处理工作流历史图2基于J2EE工作流管理系统层次结构3.项目管理系统的功能模块设计系统是以项目为主线,用权限管理,流程管理来控制系统运转。在设计实现上,以时间管理为主线,项目计划、项目质量、产品数据为辅线,对项目的整个生命周期实施管理,包括项目的启动、计划、执行、控制和结束等阶段的管理,并综合考虑项目管理的9大管理要素。分布式项目管理系统的功能如图3所示。系统主要有八个功能模块:1)项目策划管理主要包含项目管理、勘测设计任务、项目人员分配管理、进度计划管理等子系统;2)项目过程管理主要处理工作大纲管理、子任务分配管理、计划管理、项目图纸管理;3)客户反馈管理管理客户的基本资料和对项目的意见;4)项目现场管理主要管理项目的现场分类和现场反馈回来的信息;5)会议管理主要管理会议的种类、项目会议通知发放、会议信息管理等内容;6)项目查询模块可以查询各个模块的信息,具有进度报警功能,还可以生成各类报表,并且采用先进的多级子工程管理技术,智能化自动生成甘特图,轻松实现工程项目的多级管理规范化管理,实现对作业的全方位跟踪监控;7)系统管理包括用户管理、角色管理、权限管理、模块管理等子模块,可以管理用户的权限,给每个用户定义一个角色;8)消息系统包括短消息、邮件系统,公告栏等。分布式项目管理系统的功能图总控台是进入整个系统的门户,用户必须提供合法的用户名和密码,才能登录进入本系统进行相应的操作。它主要包括以下功能:1用户身份认证;2各子模块的挂接:根据登录用户的身份,系统自动判断该用户可访问的模块。3工作任务的及时提醒:用户一旦登陆进入本模块,系统自动从数据库中提取用户当前需要处理的工作进行及时提醒。用户权限管理包括用户的注册、登录、用户信息的维护等。不同身份角色的用户拥有不同的权限。系统识别用户身份,根据相应授权,开放或关闭某些功能模块的使用权,即实现个性化界面。用户通过浏览器使用该管理系统时,需要进行用户身份的登录与验证,用户的身份包括项目经理、各子项目负责人、一般项目成员、远程用户等。不同的用户根据自己的用户权限分别登陆到各自的业务平台进行业务处理。用户进入系统后首先选择角色(如果有多个角色)和能处理的项目,进入系统后所有信息都是关于这个项目和用户当前角色的。用户可以在系统中切换项目和角色。进度报警程序是运行于应用服务器端的后台进程,定时扫描状态为运行的任务,对其执行的时间进行累加,若该时间大于任务的预定时间,则向管理员和客户应用端同时报警;能够对项目的里程碑目标进行监控;能够感知项目环境的变化,如提示系统有消息到来;对共享信息的越权操作及一些异常情况也能够进行报警及处理。以便项目管理者对项目的执行情况进行监控,根据实际执行过程中出现的影响到项目进度的各种情况,做出相应的调整,从而对项目实施有效控制。通讯和交互接口主要实现服务器与客户应用端、管理者与工作组成员间的通讯与交流,项目管理者在进行任务发放时,用Email以任务书的形式或者通过消息版以通知的形式通知各开发小组,项目成员间能够以聊天室的形式参与交流。项目初始化系统管理员项目基本信息项目管理员指定人力资源信息设计人员部门用户项目合法用户项目策划管理项目过程管理客户反馈管理项目现场管理会议管理公告栏和消息管理项目信息查询项目内权限配置管理对人员授权权限控制事务处理区系统管理.系统的特点4.1通过EJB组件实现数据库的连接和操作EJB是一个可重复使用的软件组件,由于本系统是一个大型的Web数据库系统,所以会有大量的数据库操作,因此构建一个专门的数据库操作组件是非常必要的,这样可以省去大量的重复性代码,使程序结构化更强,易于移植和维护,同时还具有良好的扩展性和安全性。4.2基于角色的多层访问控制基于角色的访问控制(RBAC:Role-BasedAccessControl)方法的基本思想是根据需要定义各种角色并设置角色的访问权限,而用户根据其、职责和岗位被指派为不同的角色[4]。这样整个访问控制过程就分成了两部分:即访问权限和角色相关联,角色再和用户相关联,从而实现了用户与访问权限的逻辑分离。如图所示:图4RBAC访问控制传统的访问控制直接将访问主体和客体相关联,而RBAC在中间加入了角色,通过角色沟通访问控制的主体和客体。为了能够灵活地对系统的访问权限进行控制,我们扩展了RBAC模型,形成了一个基于角色的多层访问控制模型。如图5所示:图5基于角色的多层访问控制模型5.数据库设计鉴于项目参与方在地理位置上分散各地的特征,为有效地管理与项目有关的数据和与数部门群组人员个人代理角色系统存取级别权限1:11:1m:n:n:mm:nn:m用户(Users)角色(Roles)权限(priviledges)据有关的过程,系统的数据库采用集中与分布式相结合的方法,建立中央项目数据库和各项目组分布数据库,中央项目数据库主要存放用户信息、项目模型、产品信息、中间结果、过程信息等,各项目组数据库主要保存与本组有关的信息。系统使用组进行授权管理,将不同的用户群划分成不同的组,并对组授权。这样既保证了公共信息的有效共享,又保证了各项目组私有信息的独立性。6.结束语J2EE是一个为企业分布式应用的开发提供的标准平台。采用J2EE体系结构可以构造出完全不依赖平台的计算机应用系统,并且支持分布式事务处理。从开发角度来讲,由于系统的表现形式(Web页面)和内部逻辑(EJB)相分离,因此,系统的不同部分可以由不同开发人员同步进行,提高了系统开发的效率和质量,同时也有利于系统的维护和升级。笔者采用J2EE方案开发的分布式项目管理系统,从企业实际运用的效果来看,该系统具有安全、高效、实用、支持分布式业务流程,适应网络化虚拟企业的管理模式等特点。参考文献[1]魏从刚,何卫平,赵峰,等.基于J2EE的分布式项目管理系统应用研究[J].制造业自动化,2004,26(11):62-65.[2]郭建设,尹朝万,罗焕佐,等.基于J2EE的分布式项目管理系统模型与实现[J].计算机工程与应用,2004,31:193-196.[3]郑红星,尹朝万,郭建设,等.分布式制造项目管理研究与实现[J].计算机应用,2004,24(5):120-122.[4]邓筱鹏,胡坚,黄桁.工程项
本文标题:J2EE平台下的分布式项目管理模型与实现
链接地址:https://www.777doc.com/doc-754125 .html