基于信息系统平台的线上工作流定制的设计与实现
2018-02-13
(1.北京工商大学,北京 100048;2.北京构力科技有限公司,北京 100013)
1 引言
社会已然步入“互联网+”的信息化时代,企业公司的各类需求和业务也随之变得庞大和复杂。传统业务需求的发起和运作模式以纸张为载体,各类表单和文档信息在相关单位部门之间依靠手工传递和流转,通过人工管理进行逐一审批会签来完成[1]。然而这种工作模式效率低下、出错率高,已经不能满足互联网信息时代下企业的高效运作和发展。对此已有研究开发基于工作流的自动化办公系统[2-4],并得到了广泛的发展和应用。
本文研究运用线上工作流技术,设计和开发了基于信息平台的业务流程定制功能,实现各类业务流程的功能流水线的智能化定制,使业务流程系统化、可视化、可配置化、自动化以及规范化。该信息系统平台开发采用ASP.NET框架下的MVC(Model View Controller)开发模式结合WCF(Windows Communication Foundation)数据通信技术。在此基础上构建了业务从发起到结束的一系列工作流程的功能定制系统,满足敏捷响应业务流程变更的需求,即时配置业务流程,实现流程的持续优化和再造[5]。应用结果表明,该系统实施更人性化、规范高效的线上自动化流程,大大提高了企业的办公效率和管理水平。
2 系统设计与开发
2.1 开发与运行环境
信息系统平台开发采用ASP.NET MVC+WCF+Bootstrap+jQuery框架集合,软件开发工具使用Visual Studio 2017,数据库为Microsoft SQL Server 2008 R2。服务器操作系统Windows Server 2012,采用B/S架构(Browser/Server,浏览器/服务器模式),支持多种浏览器,部署在IIS6.0以上的Web服务器上。
2.2 系统流程设计
本信息系统平台网站拥有后台管理平台与前台访问平台,后台实现对业务及其规则的所有定义,而前台则是在已经定义好了的业务规则的基础之上进行运作和流转。具体流程设计如下图所示:
管理人员在后台制定业务流程:首先,对业务类型类别进行定义,在这一类别上创建业务表,业务表可能有子表对其进行辅助和补充。然后,对创建的表单基本信息与字段属性及其事件函数进行填写和设置,默认会创建几个共同的基本字段,如创建人、时间和机构等来进行操作权限的判断。业务样式自定义可以展现期望的表单样式,或者使用平台默认样式;业务逻辑对业务设置一些逻辑判断,业务操作定义业务的一些功能,业务逻辑和业务操作都要求管理员使用JavaScript脚本函数来控制。最后,进行流程设置,流程样式可以关联使用上述定义的业务样式;流程设置主要通过设计、绘画流程图或者导入已有的流程图来进行流程定制;在绘画流程时,可以设置每个节点的属性及权限,并且指定下一步处理人或者自定义以后的所有处理人,当业务流转到当前阶段或节点时,不同角色人员会根据其权限具备相应的操作功能。
图1 线上工作流信息系统平台流程图
业务发起人员在前台发起业务流程:发起人首先填写业务数据信息,每条数据都会经过一个完整的业务流程生命周期,并且设置关联样式。之后移交下一步处理人进行处理,下一步处理人此时会收到待办业务消息提醒,进而可以查看与办理该业务。在办理时,可以填写审批意见和上传附件,只能删除自己上传的附件,当前节点只能处理当前人的附件,如果类型是会签,则需要所有处理人审批同意或不同意,附上意见和电子签章;如果不是,则可以选择是否回退、告知、委托、代理、加办。回退是指可以将业务回退到之前的各节点甚至是初始发起人进行处理,处理完后可以直送到回退前的节点而无需再次按照原有流程逐步进行;被选择的告知人可以查看,不能处理;委托是指当前处理人繁忙时,可以全权委托他人处理;代理是指一段时间内让代理负责处理;加办是指临时增加参与讨论人员节点,加办人可以写意见,但不能处理。最后根据权限选择下一步处理人或者自定义以后的所有处理人,如果是最后节点,则流程结束,否则进入下一阶段流程处理。
3 流程定制功能的实现与应用
信息系统平台主要依靠对表单的操作来实现交互,进而存改和展现数据,是整个信息系统平台开发的重要基础,表单同时也成为业务流程中的纽带和信息载体[6]。图2展现了后台业务定义流程图的节点属性表单设置,通过设置其关联样式(默认样式等)、接收人类型以及各类属性选项如“是否回退、加办、告知”等信息,来实现对业务以及节点权限的定义,从而满足业务流程的不同需求。
图3 基于XPDL的工作流定制与设计图
如图3,在业务流程设置时,可以自定义绘画或者导入已有的流程图,该技术基于XPDL(XML Process Definition Language)[7],此标准化规范使得可以用XML规范数据来存储工作流数据信息,从而能够达到相同的表示形式。图中的每一个节点都能设置其对应属性信息,这些信息数据规定了每个节点的不同权限,它们都会以标准的XML格式数据进行存储。图中显示节点的五种不同状态来表示业务流程的进度情况:未到达、未处理、处理中、已处理、未启用。以下对图3进行具体说明:
1)流程从发起,经过经营部、会签、项目部、成本部、科技部与安全部、办公室、主任或副主任、公司领导,到结束是为整个业务流程生命周期。
2)红线:不能设置条件。
3)绿线:可以设置条件,单机弹出多种条件选择,如会签弹出同意或不同意。
4)普通节点:一个节点一个人处理,可以选择处理人或自定义本节点后面的处理人。
5)共享任务:一个节点多人处理,可以选择角色,部门来处理。
6)AND:表示在其之间的流程并发进行处理。
7)OR:表示在其之间的流程根据条件判断进行处理。
4 关键技术
4.1 MVC+WCF+AJAX
本系统程序总体设计采用MVC模式:模型用于处理应用程序的数据逻辑,与数据格式无关,可以为多个视图提供数据,具有良好的重用性;视图是由前端基于Bootstrap框架开发的html页面,是使用户数据与之交互的界面;控制器负责使数据流向模型对象,并在数据变化时更新视图。
后端开发使用WCF通讯开发平台来开发接口,前端通过AJAX(Asynchronous JavaScript and XML)技术根据功能需要来调用后端接口,而不用理会逻辑功能和数据存取的具体实现[8]。前后端双方以契约(Contract)来定义沟通的协议,分别为数据契约、服务契约、操作契约以及消息契约,使得系统代码具有统一性、互操作性、安全性、兼容性等优势,从而真正实现前后端分离的高效开发模式。
4.2 XPDL+Three.js
本系统使用Three.js引擎来实现浏览器工作流3D绘图功能,其生成的流程定义文件符合XPDL规范。XPDL是由工作流管理联盟(Workflow Management Coalition, WfMC)[9]提出的一个标准化过程定义语言,它利用XML的良好特点(结构化、数据显示与格式分离、易表达语义等)来解决互操作性[10],使业务流转更加灵活易用,让不同的工作流程软件能够交换业务流程定义。
5 总结
线上工作流定制功能是信息平台业务定义的重要内容,也对实现企业信息自动化办公具有重要现实意义。本系统的建立使得业务得以快速个性化定制与开展、高效率流转且出错率低,并把企业内部办公业务流程数据进行统一管理。本系统平台已初步实现与开展应用于企业内部,并取得良好成效,随着系统不断完善将逐步推广与应用。