基于工作流技术的科研项目管理系统的开发

2009-07-06 05:19刘天真
改革与开放 2009年6期
关键词:工作流

摘 要:本文以提高科研项目管理的工作效率和规范化为目的,论述了基于工作流技术的科研项目管理系统的设计与开发的主要过程及系统中关键模块的实现方法。

Abstract:The article discussed about design and development of Scientific Research Project Management System based on workflow technique ,to improve work efficiency and standardization of the management.It also described implement of the main module.

关键词:科研项目管理系统 工作流 Shark工作流引擎

Key words:Scientific Research Project System; Workflow;shark Workflow Engine

作者简介:刘天真(1975—),女,河北涞水人,工程硕士,保定学院讲师,研究方向为计算机教学。

【中图分类号】G25 【文献标识码】A 【文章编号】1004-7069(2009)-06-0115-02

一、引言

科研项目管理是高校的重要工作之一,科研管理水平的高低也反映了一个学校的整体实力和对外形象[1]。目前大多数高校的科研项目管理工作很大程度上还是采用人工方式,难以及时有效的掌握最新的科研情况,往往造成科研项目管理的人为延误,为领导进行科学决策带来一定影响,同时科研处与科研人员和其他部门之间缺少一种快捷高效的沟通方式。而通过信息化手段进行科研项目的管理工作,整合工作流程,为决策层提供实时、有效的依据,是提升科研项目管理水平的有效途径,也是当今高校科研管理的大势所趋。因此科研项目管理系统的构建非常必要。

为提高科研项目管理的效率,实现流程化的管理目标,在科研项目管理系统中引入工作流技术。工作流是一类能够完全或者部分自动执行的管理过程,它根据一系列过程规则,使文档、信息或者任务能够在不同的执行者之间进行传递与执行[2]。基于工作流的科研项目管理系统可以使系统按照事先创建的流程规范自动地运行,实现科研项目在不同的角色之间进行流转和操作,完成科研项目从申报到结项的全程自动化管理。

二、系统设计

图1 系统架构图

根据科研项目管理工作的实际内容,将系统划分为信息平台、项目管理、系统管理三大模块,又细化为信息发布、项目查询、项目申报、项目审批、项目监管、结项管理、经费管理、流程管理、角色权限管理、及数据维护等14个子模块。

系统采用J2EE平台技术,系统架构如图1所示。其中,系统管理模块的参与角色仅限系统管理员。系统管理员负责管理系统用户的登录信息、分配用户——角色——权限的对应关系,定义系统流程规范(流程建模)及流程实例的管理、以及数据维护等操作。信息平台和项目管理模块的参与角色包括科研人员、项目管理人员及具有审批权的审批人员。当这些角色登录后,通过角色权限管理模块为其分配相应的权限,为其展示所属的操作界面,并从流程管理模块中读取与其有关的流程实例节点,提示其进行处理。

系统整体采用B/S模式,用户均可通过Internet访问系统,提高了系统的易操作性。

三、关键模块的实现

(1)流程管理模块

通过对系统架构的分析得知,流程管理模块是系统工作的核心,主要实现系统管理员对业务流程进行定义、流程的实例化及按节点自动流转、将所属权限的流程提供给登录用户进行查看和处理。因此该模块是实现系统自动化管理的基础。

此模块的实现方法是将其与Shark工作流引擎集成,使用XML语言作为流程描述语言,提供业务流程的可视化定义,通过系统提供的图形化过程定义工具JaWE方便的新建流程、修改流程,把流程规范存储到XML文档中。定义完成后由主控工作流引擎分配各工作流节点给各执行工作流引擎。为工作流程的执行提供支持,完成工作流执行服务。一部分执行工作流引擎通过WebServer与用户交互并取得用户所提交的工作来完成其负责的任务,这部分工作流引擎主要负责工作流活动中的人工型活动。一部分工作流引擎通过EJB专门负责调用并管理引擎服务层的应用组件。其余一部分工作流引擎主要负责调用并管理引擎服务层中的远程(包括Internet网中的)服务组件。其中调用面向Internet网的组件可以通过JNDICIient实现,JNDICIient用JavaBean实现。任何一个实际的工作流管理系统不管用到哪几种执行工作流引擎,也不管在哪个执行工作流引擎上完成整个工作流程,都可以立即将最终结果返回给主控工作流引擎。最后,主控工作流引擎提交完成的工作,并做存档、回收资源等后续工作。

为使流程管理模块能够对流程实例实施各种管理操作,设计了流程实例化接口processstar()、流程实例终止接口processterminate()及流程状态监控接口isProcessRunning()等。

为使流程自动流转,流程中的每个节点都需要具备开始及结束等转移条件,包含的活动、当前状态、权限映射、所包含的程序或过程等。

根据节点模型设计了此模块与流程有关的数据库主要有:节点信息表、连接孤信息表、流程定义表、流程类型信息表、流程实例表、流程流转状态信息表等。

(2)角色权限管理模块

角色权限管理模块采用基于角色的访问控制理论RBAC来实现。将系统中的操作按权限进行划分,将登录用户划分为科研人员、项目管理人员、审批人员及系统管理员四种角色。不同角色的用户拥有属于自己的个性化菜单及系统功能。在此模块中主要设计了判断用户权限的接口、创建及删除用户的接口、获取XPDL模型中涉及的参与者接口、以及模型参与者与定义角色映射的接口等。此模块中的主要数据库包括:用户信息表、角色信息表、权限信息表、系统菜单权限表等。

四、结论

采用基于工作流技术的科研项目管理系统,实现了科研项目管理流程的自动化,提高了管理的规范化程度、流程运作的灵活性和适应性,减少了项目管理过程中不必要的中间状态,避免了许多不必要的、重复的工作,同时使工作人员能够集中精力处理核心业务、跟踪业务处理过程, 提高了工作效率,使科研项目的管理工作走上一个新的台阶。

参考文献;

[1] 郎青,冯亮,夏雪.基于三层架构的科研管理信息系统.计算机时代,2005年5期

[2] 范玉顺.工作流管理技术基础.清华大学出版社.2001年

[3] 3.[荷]Wil van der Aalst & Kees van Hee著.工作流管理——模型、方法和系统.王建民,闻立杰等译.清华大学出版社

[4] 欧启忠,魏文展,李向红.地方高校科研管理信息系统的组建与管理模式.科技管理研究.2006年8期

[5] 李红信,范玉顺.分布式工作流执行服务的设计与实现.计算机工程与应用,2003年24期

[6] 张芬,严晓光.工作流管理系统建模研究.计算机与现代化.2005

猜你喜欢
工作流
支持节点协同的工作流模型构建方法研究
基于工作流2.0的智慧教室设计与研究
工作流在电力生产管理信息系统中的设计和应用
基于J2EE的电子政务系统研究与应用
基于J2EE的电子政务系统研究与应用