王晶 胡晓亮 崔然
摘 要: 针对线下审批效率低下,以及现有政务系统缺乏灵活性和存在一定的安全隐患等问题,研究了工作流技术以及基于OAuth2.0协议的用户验证和授权机制,使用C#语言设计并实现了基于工作流平台的电子审批系统。系统能够适应高校和企事业单位日常行政事务管理的需求,提高了审批流程的效率和规范性。
关键词: 流程引擎; C#; 审批系统; OAuth2.0
中图分类号:TP311.5 文献标志码:A 文章编号:1006-8228(2019)11-58-04
Abstract: In view of the inefficiency of offline approval and the lack of flexibility and safety of existing e-government systems, this paper researches workflow technology and OAuth2.0 protocol based user authentication mechanism, and by using C# language, designs and implements an electronic approval system based on workflow engine. The system can adapt to the needs of daily administrative affairs management of universities and enterprises, and improve the efficiency and standardization of the approval process.
Key words: workflow engine; C#; approval system; OAuth2.0
0 引言
审批流程是高校和企事业单位日常行政管理的一个重要组成部分,大多数审批流程往往需要协调各部门共同完成。在“互联网+”大环境下,许多政府部门的电子政务系统实现了电子审批功能,正逐步取代线下审批,但政务系统缺乏灵活性,文献[3]指出,各部门资源分散、标准不一、协作困难是效率低下的原因之一。由于业务流程常常需要各部门协调修改、部门人员岗位调动相对频繁,也使得系统后期维护耗费更多成本。针对以上问题,采用工作流技术和OAuth2.0协议,能够在缩短审批时间的同时,提高系统安全性,适应业务流程变化。将审批过程中产生的数据和信息备案,有效的监管审批过程,使审批流程更加规范安全,易于维护。
1 相关技术介绍
1.1 工作流技术
工作流思想最早起源于国外,二十世纪九十年代出现越来越多的相关研究和开发,并于1993年成立工作流管理联盟(WfMC),国外逐渐出现许多开源工作流引擎,如文献[1-2]中提到的JBPM和Activiti等。近年来,工作流技术发展迅速,国内优秀的工作流平台也日渐丰富,能够更好的适应国内业务流程缺少统一标准、复杂多变的情况。
工作流管理联盟关于工作流的定义是:工作流是一类能够完成或部分完成自动执行的业务流程,在此过程中,文档、信息或任务按照一系列过程规则在不同的执行者之间传递和执行[4]。使用工作流技术可以将业务管理中较为系统化、重复性高的过程抽取出来,形成一个完整的处理流程,由计算机自动化执行。工作流技术与业务流程重组(BPR)密切相关,它们的核心思想是集成技术手段和管理知识将抽象的业务逻辑转变为具体的、可操控的工程化过程,以流程为中心,以客户的需求和满意度为目标,改善企业单位在业务管理中存在的成本、服务、效率等问题。
工作流引擎是工作流技术的核心,用于解析流程的运行,在业务处理量大、业务流程系统性强、流程涉及多个部门的情境下拥有其独特的优势。如图1所示,工作流引擎在工作流管理系统中承担着处理业务逻辑的重要角色,提供一定的规则解释建模工具生成的工作流过程定义,实例化工作流模型,调用组织结构模型数据和其他工作流相关数据对角色和资源进行管理维护。
1.2 用户验证和授权机制
当第三方应用试图通过接口获取访问受保护的资源时,需要通过认证机制来获得授权,如果接口没有使用有效认证措施进行保护,则存在严重的安全隐患,匿名用户通过扫描接口的链接,就可以调用该接口获取数据。
OAuth2.0协议是一种基于Token的认证协议,是目前常用的认证方式,由服务器端按照规则生成字符串作为令牌用于客户端服务请求,无需多次使用用户信息进行验证,可有效减轻服务器压力并提高系统的安全性,授权的基本流程如图2所示[5]。
1.3 工作流平台的优势特点
⑴ 灵活性:支持基于Web的流程设置器,結点设置操作便利,支持四种路由结构包括顺序、选择、循环、分支。对于有严格时间限制的工作,可以在步骤结点中设置办理承诺时限和超时时限,采用时间和事件触发机制相结合的方式,控制该步骤的执行时间。
⑵ 接口完备:核心接口以用户和流程为中心,功能主要是获取用户相关信息,获取、导出和修改指定流程详情数据。此外具备平台接口、通知接口、文件接口、任务集成接口等,实际业务中将应用这些接口按照平台规范集成其他系统任务,实现业务流程管理和控制。
⑶ 可扩展性:工作流引擎依靠访问和处理权限的设置,可以对业务交接、跳转、自动处理、自定义时限等流程活动进行管理和监督,能扩展特殊权限去实现特殊需求,更好地适应业务流程更新以及业务处理中临时出现的特殊情况。
2 系统分析与设计
2.1 系统需求分析
电子审批系统为满足各部门协同高效的审批工作,应实现随时随地通过浏览器或移动端即可访问和使用系统功能,申请人线上提交一份申请材料便可自动流转于各部门之间进行审批。结合相关技术分析,电子审批系统应具备的功能需求包括信息显示模块、流程管理模块和用户管理模块。同时,审批系统中涉及许多重要信息和数据,系统应具備安全性,对信息进行有效的保护,避免数据丢失和泄露。
此外,执行过程和相关数据能够较好的反应出业务流程中存在的不足,系统需要具有数据备案的功能,为后期进行数据统计分析和制定更好的业务流程做准备。
2.2 系统体系架构设计
根据系统需求分析结果,以及对系统的可行性、安全性和可靠性多方面考虑进行系统设计。系统采用工作流平台保证系统服务的灵活高效,用户验证和授权机制提高系统安全性。如图3所示,系统架构分为四层。系统底层是基础服务层,提供数据存储、服务器资源和网络设施,保障数据存储和分析计算等需求;平台服务层主要依托于工作流平台和表单引擎,将表单字段与业务流程相关联,并利用工作流引擎提供的丰富的接口进行系统逻辑层开发,保障业务流程有序执行;软件服务层面向用户提供系统各模块功能服务,该层扩展性强,与平台服务紧密协调,保障对用户提供灵活可靠的服务。
2.3 系统功能模块设计
电子审批系统核心功能是流程管理和用户管理,依靠工作流引擎和数据库的支撑实现功能需求,功能模块分为信息显示模块、流程管理模块和用户管理模块,如图4所示。
⑴ 信息显示模块是用户登录系统的入口,也是发起审批申请、处理审批流程和查询待办流程的信息显示平台,能够支持PC端和移动端两种方式显示,对流程办理情况进行有效的反馈。
⑵ 流程管理模块实现流程构建和监控、流程处理及审批、数据备案的功能。系统管理员可对流程整个执行过程进行监控,能够查询流程执行情况及执行效率。流程构建依靠表单设计器和流程设置器,根据业务流程需求,对流程进行精简建模。流程处理功能为用户提供申请所需的所有材料模板,用户填写申请后点击提交自动触发审批流程,此步骤加入时间戳可以明确流程处理时间。数据备案功能用于对流程中涉及的字段数据和流程信息来存档,作为审批流程的凭证并为后期数据分析做支持。
⑶ 用户管理模块对用户访问权限进行控制,维护各部门组织机构,对审批流程的各个环节明确限定负责人及权限,并且在流程建模过程中绑定数据项,自动完善流程各步骤需填写的信息,提高流程管理的规范性和安全性。
3 系统实现及应用
3.1 具体流程实例
目前电子审批系统中包括车辆审批、教职工出国审批、会议议题审批等流程。下面以教职工出国审批流程为例介绍具体应用,该流程审批过程如图5所示。
3.2 发起审批流程
登录系统门户平台,选择教职工出国审批流程,跳转到申请界面。如图6所示,申请人填写基本信息表,点击左上角“提交外事部门审核出国材料”即可呈送给外事专员进行材料审核。
3.3 相关部门并行审批
相关部门审批采用并行方式,各部门同时收到审批待办通知,各部门审批不受其他部门影响。在流程模型中设置并行结点,后台代码中添加部门信息和执行条件,相关代码如下:
public InfoPlusResponse OnStepHmDepChkActionNextDoing(InfoPlusEvent e){
if (entity.RltvDepItem == null){
entity.RltvDepItem = new List
}
//相关部门信息
SDUSTAbroadAplRltvDepItem rltvDep1 = new SDUSTAbroadAplRltvDepItem();
rltvDep1.RltvDepName = new CodeItem("XXXXXXXX", "财务处", "", "");
rltvDep1.RltvDepID = rltvDep1.RltvDepName.CodeId;
entity.RltvDepItem.Add(rltvDep1);
……
return response;
}
将各并行分支的执行人信息、执行时间自动填入审批表,完成审批后将审批结果汇集到合并结点。
3.4 数据备案
审批流程结束后,流程执行的整个过程将以XML格式进行备案,并将表单中重要字段内容存入业务数据库。
4 结束语
本文设计实现的基于工作流平台的电子审批系统经过一段时间的实际应用,能够满足现实需求。为进一步方便用户使用和提高效率,系统下一步应整合现存的所有业务流程数据库,实现与用户相关的大量重复数据能够自动填充,审批环节自动提取部门所需信息,以减少用户的工作量。
参考文献(References):
[1] 陈丹,王勇,王瑛.基于工作流的科研协同平台的研究与实现[J].计算机工程与设计,2014,35(3):791-797
[2] 孙勇.基于Activiti的考勤工作流系统设计与实现[J].计算机时代,2016.2:75-78
[3] 李军鹏.基于“互联网+”的放管服改革研究——以江苏省“不见面审批(服务)”与江苏政务服务网建设为例[J].电子政务,2018.6:74-80
[4] 范玉顺,罗海滨,林慧,等.工作流管理技术基础[M].北京: 清华大学出版社,2001.
[5] OAuth2.0 Authorization Framework[EB/OL].[2019-03-25].https://auth0.com/docs/protocols/oauth2