基于Java与Flex的科技计划项目管理系统实现
2013-10-17张贵强张文川王炳鹏
张贵强 张文川 王炳鹏 郭 佳
(兰州石化职业技术学院 甘肃 730060)
0 引言
科技计划项目的实施是实现科技计划的唯一途径,面向中小企业的科技计划项目的具体实施可以发挥科技计划对中小企业的宏观调控和引导作用。为发挥中小企业在地区经济发展中的重要作用,推动地区的科技发展水平建设,建设科技计划项目管理系统。
本系统利用Flex与Java的集成构建,介绍了系统的功能设计和数据库设计,并着重介绍了部分功能实现。
1 系统概述及开发环境
1.1 用Flex技术构建该系统的意义
由于该省的企业分布广泛,硬件环境较差,不能部署较复杂的客户端软件,而且该省工作人员和企业用户计算机水平有限,所以该地区科技计划项目管理需要一个具有友好性、扩展性和安全性的系统。
利用RIA技术可以帮助该地区科技厅实现科技计划项目的推荐、申报、管理、验收和咨询服务等功能,为其科技计划项目管理构建一个界面友好、扩展性强、易于交互的系统。
1.2 系统开发环境
该系统的开发环境,除了需要具备Java应用程序的环境外,还需要满足开发Flex应用程序的条件。系统的开发和应用环境如下:
2 系统功能设计
系统包括评审项目专家管理、专家咨询管理、项目申报管理、项目监理管理、项目验收管理、项目推荐管理。
2.1 系统基本配置功能设计
(1)用户管理
用户管理包括用户信息编辑、删除、审核、停用等操作。用户可以注册项目申报用户,并修改资料。系统管理员能够查看用户状态,编辑用户信息,审核用户资格等操作。
(2)用户组管理
系统操作员能够增加、删除、修改和査看用户组。默认的用户组有系统管理员组、领导组、专家组、用户组等。
(3)权限管理
权限管理和用户组管理衔接在一起,给某用户组分配权限后,该组的用户就获得了改组的相应权限,其权限以字符串类型存储,以字符串中该为为1或0来判断是否具有权限。
2.2 项目申报管理设计
项目申报主要包括以下几个重要功能:新项目申报、查看所有申报项目、项目中期检查、项目验收、二次项目验收和重大事项变更等。在每个管理中要具备查询、打印等功能。
2.3 项目推荐管理设计
录入推荐公司的信息、项目推荐信息和视频推荐信息后,由厅领导对推荐信息进行资格审核,然后,由厅办公人员进行发布。系统中推荐信息以列表显示,字段包括:企业名称、企业类型、公司的经营信息等。点击“查看”按钮可以査看公司推荐信息的洋细。
3 集成架构实现系统
3.1 业务层实现
业务层是整个应用的业务处理的核心,负责为客户端的用户操作提供后台业务支撑。系统中采用Spring框架实现业务层,利用IoC机制,实现对持久层DAO组件的注入。该层有业务服务接口、接口实现类及数据传输对象组成。业务服务接口定义了一系列表示层需要的方法,供远程方法调用,例如项目申请书中的类MyPjAService做为接口,定义了项目申报、查询、提交方法等。
3.2 表示层的实现
表示层直接与用户交互,为用户提供用户界面,根据用户的请求,远程调用相应的业务处理逻辑,并将结果展示给用户。系统釆用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由一系列的自定义组件组成,最终实现整个页面的展示。
3.3 数据持久层实现
数据持久层主要封装对于域模型对象的操作,是系统的根基,在数椐持久层采用Hibernate,来提高系统的对可移植性。数据持久层为业务逻辑层提供服务,实现数据访问等操作。数据持久层封装了访问数据库的所有方法,实现了系统的松耦合性。数椐持久层采用了Hibernate框架,可以大大缩短开发过程,使得系统持久层开发结构清晰。
3.4 LCDS实现
采用Flex技术及与Java技术的集成,远程服务器由LCDS实现,在部署服务平合时,要将LCDS.war包放在服务器下的WEB-INF目录里。在服务器端需要 Services.mxml和remotingconfig.xml 两个接口文件。
为了支持分布式事务管理,以插件的形式将JTOM管理器部署到Tomcat服务器的WEB-INF/lib下,运行LCDS。
4 结束语
利用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).