2024年5月21日发(作者:)
第13卷第10期
天津职业院校联合学报
Journal of Tianjin Vocational Institutes
No.10 Vo1.13
oct.2011
2011年10月
基于Java EE的模拟器
开发项目管理系统的实现
杨 桦
(天津海运职业学院,天津市 300350)
摘要: 基于Java EE开发平台,经过需求分析和总体设计、架构设计,开发实现“模拟器开发项目管理系统”。
它可以使项目管理者灵活而合理的制定项目计划、分解和规划项目任务;使项目执行者快速方便地按照项目计划来
执行任务,与其他项目参与者协同工作,从而实现高效、成功的网络化制造。
关键词: 分布式项目管理;Java EE;设计模式
中图分类号:TP311,5 文献标识码:A 文章编号:1673—582X(2011)10—0065—07
网络化制造充分利用网络技术,实现制造资源的优化配置和集成。它以数字化、柔性化、敏捷化
为基本特征,针对某一需要,利用以网络技术为特征的现代化制造网络,灵活而迅速地组织和利用社
会制造资源,把分散在不同地区的现有生产设备资源、智力资源和各种核心能力,按资源优势互补的
原则,迅速地组织成跨越地区、空间约束的网络联盟,实现快速、高质量、低成本的产品和服务。本系
统引用“网络化制造”的思想,并与传统的项目管理模式相结合,从而实现对分布在异地的业务进行有
效地管理,即分布式的网络化制造项目管理。
一
、
开发平台的选择
目前在网络环境下,为了能够有效地开发、部署、运行和管理系统,通常采用多层体系架构的应用
模式,在多层架构的设计中,对于位于中间层的应用服务器的设计显得尤为重要。就目前来看,可供
选择的开发平台主要有基于Java EE的解决方案和微软.NET平台的解决方案。
基于Iava EE在以下几方面的优势,本系统选择Java EE作为开发平台。
(一)开发的高效性
(二)支持异构环境
(三)安全性
Iava EE应用服务器可以使开发人员集中精力开发业务逻辑,而不用考虑
设计合理的基于Java EE可移植程序不依赖任何特定操作系统、中间件和
通用、繁琐的底层系统服务,从而减轻了开发人员的工作量,缩短了开发时间。
硬件,只需开发一次就可以部署到各种平台。
Java EE会在程序编译的过程中不断进行测试,从而对潜在的问题提出警示,并不
Java EE可以被部署到健壮性很好的操作系统(比如Sun Solaris、IBM os/
是等到程序完全开发完毕后才加上相应的安全机制。
(四)稳定的可用性
390)中,从而保证了长期、稳定的可用性。
二、Iava EE多层体系结构简介
随着网络应用的不断发展,传统的c/s结构(即客户机一服务器结构),存在着一些关键性的不
足之处。比如:“胖”客户,即客户端需要相当多的软硬件资源,客户机负载较重,同时对客户机的配置
要求也相对较高;客户端的任务庞大,使得维护和升级都比较困难。
收稿日期:2011—06—14
作者简介:杨桦(1979一),女,天津市人,天津海运职业学院讲师,硕士,主要研究计算机应用技术。
・
65 ・
SUN公司设计Java EE的目的之一就是为了解决两层c/s(c1ient/server)模式的不足之处。Ia—
va EE号称多层结构,即基于n层应用的思想,使得应用程序的不同部分可以运行在不同的设备上,
最终实现了松耦合、解耦性好、维护升级扩展方便灵活等特点。
三、系统的需求分析
(一)系统性能的需求分析
本系统需同时具备:可理解性、可靠性、易修改性和可重用性。
(二)系统功能的需求分析
1.项目定义。从盟主方向ASP平台发布项目的基本情况开始。盟主方需将该项目的基本情况
提交到ASP平台发布。
2.盟员选择。某一项目的设计实现必须是由多方合作进行的。为形成一个强有力的有效联盟,
需要对各拟参与方进行评估选择。盟主方需要通过招投标的方式进行盟员选择,从而选择最适合的
参与方进行联盟。
3.项目计划。经过以上两个阶段的完成后,项目负责人(即项目经理)根据项目目标的规定,对该
项目的执行进行周密的安排,如确定项目任务、安排任务进度、编制资源预算等,从而保证项目能够在
合理的工期内顺利完成。
4.项目监控。项目负责人要周期性地进行跟踪项目计划的各种参数如进度、工作量、费用、资源、工
作成果、风险等等,不断地了解项目的进展情况,以便当项目实际进展状况显著偏离计划时能够及时采
取纠正措施。项目负责人通过项目执行成员提交的项目进程实际情况与项目计划进行对比,如果发现
某些因素的偏差非常大(超过了容许的误差),那么及时分析原因,在系统中及时发布纠正措施。
5.项目终止。当项目目标完成以后,项目负责人发布终止信息并将利益分配等项目终止活动通
知成员。
6.成员管理。本系统需要支持账号的申请与审核,平台管理员可以进行到期删除与无项目删除。
不同的项目成员拥有不同的职责范围。因此需要将他们划分成不同的角色,赋予相应的权限,并可动
态修改,以加强系统的安全性。
7.文档管理。在项目进行过程中会产生大量的文档(如合同、技术文档等),本系统需要建立有效的管
理机制,从而使项目成员可以非常方便的得到需要的信息,同时有利于项目管理者发现、解决问题。
8.实时交流。本系统必须为参加项目制造的成员之间及时、充分的交流而提供支持,方便项目成
员就项目进展达成共识并及时解决出现的问题。在每个项目进行过程中,使项目成员通过网络及计
算机进行交流,实现在异地对项目的开发问题达成共识。实时交流包括了公告、视频会议、即时消息、
论坛和电子邮件。
四、系统的总体设计
根据上述对系统性能需求和功能需求的详细分析,设计“模拟器开发项目管理系统”模型如图1
所示。
第一层为数据层:主要包括基础数据库、信息库和知识库。
第二层为1ava EE应用服务器:其主要功能是为其上层的工作流引擎和应用服务层提供运行环
境、并发性管理、性能管理等底层系统服务。
第三层为工作流引擎:工作流引擎是系统的灵魂,其主要功能是解释任务网络计划,依据任务间
的逻辑时序和运行优先级的高低,为任务的实例化提供运行环境,并能控制和管理任务实例的创建、
激活、挂起和终止等状态。
第四层为应用服务层:包括安装在ASP平台服务器端的向客户提供各种项目管理服务的业务模
块和支撑技术,如项目定义、项目计划、项目成员管理等。客户能够通过系统门户网站和Internet/In—
tranet来获取各种服务,使得联盟企业的项目小组、ASP平台系统管理人员和行业专家可以随时随地
直接通过浏览器参加项目活动。
・
66 ・
图1系统模型
五、系统的架构设计
为了降低表示层与业务层的耦合度,实现业务逻辑与数据访问代码的分离并能解决单纯按照Ja—
va EE规范开发系统造成的弊端,本文采用基于MVC设计模式的IsF
(Java Server Faces)框架和Business Delegate等Java EE设计模式,开发了
表示层JSF框架
一
个使用闭合层方法的多层系统架构,如图2所示。由此使得每层只能
直接与相邻层交流,各层的改变将不会导致跨层影响,便于系统的维护和
p
扩展。
l Business Delegate I
六、业务层框架设计
业务层位于系统架构的中间层,它集中实现了系统的业务规则,是实
l Session F∞ade l
,
现系统功能的核心组件。在本系统中采用EJB(Enterprise Iava Beans)作
为业务层的主要实现技术。本系统采用Java EE设计模式对业务层进行
( 业务对象 )
了基本结构设计,使得系统层次更加清晰、效率更高。
(一)业务代理模式
本系统要求具备极强的交互式性。在任一项目管理过程中产生的大
数据访问接口(DAO)
量数据必须要通过表示层与业务层的交互才能实现,这种交互往往是复
杂的,并且是需要易于扩展的。
在系统的开发过程中,如果表示层和业务层直接进行交互,就会将业
务层底层API交互的细节暴露给表示层,这样会增加表示层和业务层之
间的耦合性,即当业务层发生改变时表示层也必须相应的改变,从而降低
图2系统架构模型
了系统的可维护性。此外表示层开发人员还需要处理EIB的相关技术,
・
67 ・
使其增加了开发负担,不能体现Java EE分层开发的高效率。
因此,在本系统的开发过程中,采用了业务代理模式来降低表示层和业务层之间的耦合性。业务
代理模式向表示层提供了业务层抽象,隐藏了业务层的实现细节,从而降低了表示层和业务层的耦合
性。业务代理模式可以保护表示层免受业务层经常发生变化的影响,即在通常情况下,当业务层发生
变化时开发人员可以不修改或稍微修改一下表示层就可以了。
以下是本系统中利用业务代理模式实现的用户管理的流程图,如图3所示。
图3用户管理流程图
(二)会话外观模式
业务代理模式仅仅解决了表示层和业务层的直接交互问题,在开发基于Web应用程序的时候,
很多人采用的方法是客户端直接访问Entity Bean或Session Bean,这样在开发过程中没有很好的客
户访问策略和管理好EJB业务对象,就会出现网络负担较高、高耦合、安全性威胁、操作错误可能带
来数据的不一致等一系列问题。
为了解决以上问题,本系统采用一个无状态Session Bean来实现Session Facade,用来封装业务对
象之间交互的复杂性,提供只暴露所需接口的粗粒度的服务访问层,由此将复杂的对象交互和客户端
隔离开来。Session Facade也可以根据需要管理业务对象的生命周期,也就是管理业务对象的创建、
查找、删除和修改。
这里以用户管理为例,将所有关于用户的操作如增加、删除、修改、查询等操作都集中在用户管理
外观中,由它对各Entity Bean或DAO对象进行处理,客户只与该用户管理外观打交道,不直接访问
各业务对象。
用户管理外观UserFacade的远程接口如下:
package pm.usermanage.facade;
import javax.ejb. ;
import ava.rmi.RemoteException;
public inter face UerFacade extends EJBObj ect
{
public void addUser(UerVO uerVo)throws RemoteException;
public boolean deleteUser(UerVO uerVo)throws RemoteException;
}
用户管理外观UserFacade的Bean实现如下:
package pm.usermanage. ̄cade;
import javax.ejb.*。
・
68 ・
public UserFacadeBean implements S essionBean
{
//Session Bean的生命周期方法
public void ej bCreate()throws CreateException
{
)
//业务方法
public void addUser(User userVo)
ServiceLocator locator ServiceLocator.getlnstance();
UserDAOHome userDAOHome locator.getEJBLocalHome(
ServiceLocator.UerDAO,UserDAOHome.class);
UserDAO userDAO=userDAOHome.create();
userDAO.insert(userVo);
)
(三)服务定位器模式
服务定位器对象Service Locator实现了单例模式,封装了JNDI查找的复杂性。本系统在客户
端统一采用通过getEJBHome()来获得对各个业务对象EJB的引导接口的引用。这样向客户端提供
了统一的接口,实现了查找代码的集中管理,降低了客户端开发人员的劳动强度。它使用Hashtable
对象缓存找到对象,当再次使用时避免了再次查找,提高了性能。
本文中服务定位器类的实现流程图如图4所示。
图4服务定位器类实现流程图
七、系统的开发
(一)系统的开发环境
本系统实验平台的服务器端使用Microsoft Windows 2000 Server作为操作系统,安装的JDK版
・
69 ・
本为1.5.0(安装后分别为JDK1.5.0和JRE1.5.0),测试应用服务器为WebLogic8.1,数据库服务器
为Microso ̄SQL Server 2000。表示层页面采用的开发工具为Dreamweaver Max 2004,业务层和数
据持久层采用的开发工具为Eclipse 3.3。
(二)系统的运行环境
本系统需要在Internet上使用,以便使项目参与成员能够随时随地参与有关项目的所有活动。
由于JSP技术属于Java体系,具有Java跨平台的优良特性。因此对客户端的操作系统及其它的软硬
件环境没有特殊要求,只需装有浏览器即可。
八、系统界面简介
(一)项目定义界面
盟主企业需要先在项目定义界面上向平台提交项目的基本信息,如项目名称、盟主单位、计划开
始日期等之后,并经平台管理人员查实后,才能够以招投标的形式进行盟员选择。项目定义界面如图
5所示。
■舞■嗣露●国母
r硇l:i毫l穰耳蕾咽职氏绕
■项旨定义
●苴具远I晕
■项目计划
嘲目t *●
■项目监控
●赝茸蝗止
● 髑
蕞目名牟t自动化菪l麓
量圭簟盘・鬟潮●嬉暇业学院
计捌开赫日I 200H-20
曩茸羹墨,柠帆自动化】贞日
蕞胃置曩・鼻宪斌
寸瞄'寰B囊-200g-I 2-31
口女#.1理
● 时窭
曩日■t纂-轮机攮擀薯
图5项目定义界面
(二)项目计划界面
在项目计划界面中以列表的形式向项目成员显示项目的计划信息、创建人等信息。点击项目名
称,用户可以查看以甘特图、网络图等形式显示的项目详细定义。项目计划界面如图6所示。
—脚■—霄■胡母
翁嘲瞄镭 蕾叠钕
嗵&醒
■■■■■■■■■■~
圈
■__●一
●琐茸定义
■置贯避棒
■项譬计划
目纳t广■■ _■
■■●■__
■顶茸l目c控
●璜雷妊止
■ A饲
●嫡● ’
黪薄 蹬辫 :
■实时变漉
图6项目计划界面
(三)成员管理界面
在成员管理界面中,以列表的形式显示项目成员的基本信息。项目管理人员可以通过电子邮件
邀请新的成员并赋予相应的权限,也能够删除不合格的成员。成员管理界面如图7所示。
■霉曩翻四● 掰
一
.
翁癌嘲置簟喁礴 壹蠢
图7成员管理界面
(四)文档管理界面
文档管理模块负责管理项目进行过程中产生的大量的文档信息。本模块采用多级目录结构存放
・70・
项目文档,在页面中为用户提供了目录中文件的详细信息和多种操作。用户可以点击“返回上级目
录”和“返回根目录”在不同的目录之间自由浏览,还可以点击“创建子文件夹”创建当前目录的子目
录。用户还可以方便的上传新文档或已有文档的不同版本。用户进行以上操作必须拥有相应的权
限。项目经理具有文档管理的最高权限,由他为其他成员分配权限。文档管理界面如图8所示。
一一
|。 “一 - -■ -,●霉曩母曩曩圈霉,
| l 纫钰 掰膏舞管 翻|宙r |-
●I I I I I I] II■■■■一
■项目定义 { roll')童姑栅
・曩最避棒 l暴氨上啦薯嘲矗曩矗上巍£熊翻毫量 矬表
-口■ j
: i
:
・ 帔漶 i 蒺
图8文档管理
参考文献:
[1]严隽薇.面向网络化制造ASP平台工具构件与集成技术[1].制造业自动化,2004,(26).
[23王君华,马溪骏.基于ASP模式应用服务托管平台结构的研究[I].中国管理信息化,2007,(10).
[3]黄开枝,许勇,王黎.Java EE 5完全学习手册[M].北京:清华大学出版社,2009.
[43D.ALuR,J.CRUPI,D.MALKS,牛志奇、丁天、田蕴哲译.J2EE核心模式[M].北京:机械工业出版社,2002
[5]李巍,尹朝万,王成恩.分布式网络化制造中的E项目管理[1].小型微型计算机系统,2003,(24).
The Implementation of Java EE——based
Simulator Development Project Management System
YANG HHa
(Tianjin Maritime Vocational Institute,Tianjin 300350 China)
Abstract:Based on Java EE S exploration platform,the simulator development proj ect manage—
ment system is exploited through the demand analysis and overall design,structure design.It allows the
managers to make a flexible and reasonable project plan,decompose task and plan projects.Also,the
implementation can be quickly and easily performed with other participants for an efficient and success—
ful network manufacturing.
Key words:proj ect management;Java EE;design patterns
发布者:admin,转转请注明出处:http://www.yc00.com/web/1716292191a2727138.html
评论列表(0条)