[摘要]针对单位科研项目管理模式采用人工、纸质方式的弊端以及异地项目管理的不便设计并实现了科研项目管理系统。该系统基于全球领先的sOA应用平台Primeton EOSs 在深入分析单位科研项目管理需求和特点的基础上实现了包括科研项目申请管理在内的等5个业务流程。该系统的实现为单位提供了一个集科研项目管理.查询、信息发布和科技成果展示等为一体的电子化科研项目管理平台以技术促管理,有效提高了科研项目信息的便捷性降低劳动强度和提高工作效率进一步提升了单位科研项目管理的信息化程度及管理水平。
[关键词]EOS;科研项目;管理系统
1引言
随着信息技术在管理上越来越深入而广泛的应用从信息化角度提升科研项目管理的能力和效果,已经成为许多科技部门管理的共识。近年来为了进一步提升单位科技人员的创新意识和业务能力,我局通过设立局长基金等方式为科技人员搭建了独立承担科研项目的广阔平台。随着防震减灾事业的不断发展,科技人员申报项目的热情不断高涨单位科研项目的数量也急剧增多,而当前包括我局在内的大多省局的项目管理模式仍然以人工管理为主,存在诸多弊端,如信息处理速度慢、劳动强度大、效率低、科研信息缺乏公开透明度以及纸质流程成本高等问题。本文所设计和实现的科研项目管理系统可以很好的解决这些问题。此外,系统采用开源化设计,可以根据科研管理工作的实际不断完善和升级系统功能。
2 EOS简介
普元EOs(以下简称EOs)是全球领先的SOA应用平台是基于J2EE平台.采用面向构件技术实现企业级应用开发、运行、管理、监控和维护的中间件平台。EOS6的SOA架构分为资源层.构件层、服务层﹑流程层和协同层5个层次其架构图如图1所示。
①协同层也叫接入层,EOS在接入层最核心的功能是提供了页面流功能,负责页面的跳转、页面间的数据流转、调用服务层提供的服务或者直接调用构件层构件的接口;
②EOS在流程层提供了EOs Workflow[2],帮助客户实现人与人之间的工作协调以及人工任务与自动任务间的协调;
③服务层采用SCA1.0标准来实现是用来将构件层编写的构件装配成服务的方式暴露给其他模块或者其他系统;
④构件层的构件用于实现领域相关的业务逻辑,构件层提供了3种类型的构件实现方式Java构件、逻辑构件和工作流。
3系统需求分析
该系统主要实现单位科研项目管理的全过程管理,为全局科研项目管理工作提供一个网上办公的平台,实现科研项目管理的电子化办公,主要包括用户角色及权限管理、项目申请管理、任务书管理、项目结题管理、成果管理共5个模块。
用户角色及权限管理模块主要实现用户的登录方式、用户角色的分类和用户的权限控制。该系统主要的用户角色分两大类分别为管理员和组织结构人员。组织结构人员根据业务流程涉及主要包括地震局各处室、二级单位的科研人员和部门领导、科技监测处人员、财务处人员以及专家。
项目申请管理模块完成项目申报工作,包括申请人提交申请﹑部门领导审核、科技监测处审核、财务处审核、专家评审和告知申请人等环节。专家审核时,实现匿名评审。
成果管理模块与其它模块不同,主要完成地震局全体科研人员成果管理的工作,业务流程包括申请人提交成果和科技监测处审核环节。
以上模块均需提供查询统计功能,查询统计分为个人查询﹑部门领导查询和管理员查询。此外,系统还需要实现全部业务流程代办任务的统一展现与过滤。
4系统设计
根据对业务需求的分析提出了系统具体解决方案。系统数据库采用oracle10g ,应用服务器为apache-tomcat5.5.20 ,在EOS6.0平台提供的基础构件库[3],流程引擎等基础上构建我局科研项目管理系统,主要包括项目申请书的存储管理、任务书存储管理、结题报告存储管理、成果存储管理、项目申请流程、任务书提交流程、项目结题流程、成果登记流程、系统配置管理及查询和展现(待办工作、流程监控、流程代理、常用词条设置和密码修改)等功能模块,系统结构图如图2所示。
5系统实现
该系统在Eos studio 中dzjkygl项目下根据业务功能分别建立构件包,构件包之间根据需要相互依赖。每个构件包下面又包括页面流、页面资源、逻辑流﹑数据模型、JAVA代码和业务流程等资源,最终实现一个相对独立、完整的业务功能[4]。
5.1系统界面实现
系统登录界面在org.gocom.abframe.auth 中login.jsp页面中实现如图3所示。系统登录采用姓名+身份证号的方式。用户登录后的系统主界面如图4所示,在org.gocom.abframe.auth和com.ssnc.utilities构件包中实现。系统主界面分为顶部、左部和中心3个区域,顶部区域主要放置系统logo、当前登录用户及退出按钮。左部区域放置系统功能菜单。中心区域可以显示待办任务、已办任务及其他根据具体操作需要显示的内容。
5.2数据建模
系统开发前,需要完成系统所需数据库表和视图的设计。数据库表的建立可以通过数据库建模工具进行,也可以在EOS studio开发平台中完成本文采用第二种方式[5]。
构件包创建完成后,在数据→数据模型下新建数据集,并在数据集上点击右键,选择导入数据实体,把数据库表及视图转换为数据构件如图5所示。通过在数据实体中定义每一个实体属性的录入方式和显示方式,来定义数据在页面