APP下载

办公自动化系统的开发引擎平台设计

2019-07-12车宇罗钊航

电子技术与软件工程 2019年9期
关键词:表单办公自动化引擎

文/车宇 罗钊航

办公流程信息化是企业进入信息化办公模式的重要步骤,也是当前各行业进行产业转型与升级的主要手段。

开发一套完整的以流程为核心的办公系统有较高的复杂度,往往牵涉到数十个办公流程,多种审批流结构,上百个用户进行权限管理等内容。每条流程内部也包括多个步骤,每一步骤也将包括责任人、处理内容、处理策略等多个需要追踪的信息属性。

将共通的模块集成为系统化的开发引擎,将代码进行智能化封装,能够大幅度的降低流程信息化系统开发的难度。本文探讨流程引擎平台建设的各模块思路。

1 整体架构

流程引擎平台集成流程设计、表单设计、用户管理、策略管理等模块。在前端提供图形化的流程设计界面,通过封装的引擎,将前端绘制的流程自动转化为相应的代码,对数据库进行操作。

整体思路为用户在前端界面进行流程绘制,平台将绘制完成的流程按照相应策略封装于数据库表单中,并且生成程序分配给特定用户。特定用户发起流程,根据用户填写的信息和数据库表单中的流程信息,引擎按照策略生成对应的数据库实例。平台根据策略,将对应的数据实例发送至对应的用户,收集用户的录入信息与审批信息,进行流程实例的更新运转。

主要分为前端开发层,模块集成层与数据结构层共三级架构。如图1所示。

2 工作流程的设计

用户前端通过图形界面的方式进行流程绘制,绘制界面可引用成熟的相关控件,绘制完成后的流程基本遵照固定的格式,包括一个流程起点,零到多个的流程中间点,一个或多个流程终点,连接各流程处理点的箭头,每个流程处理点绑定对应表单。

绘制完成后的流程按照策略存入数据库,利用多个数据表完成流程的数据化。

表1-流程表:包括流程ID,流程名称,流程起点ID,对应表单ID等属性。

表2-流程处理点表:包括流程处理点ID,处理点名称,对应表单ID,审批人范围,前流程ID(可为空),后流程ID(可为空)等属性。

图1:办公自动化系统开发引擎平台整体架构

其中流程表的流程起点ID与流程处理表的流程处理ID有对应关系。流程的每一个处理点都被统一存入表2中,系统在遍历流程时,从表1读取起点ID,再于表2检索对应ID的流程处理点,再通过表2的后流程去检索下一步的处理点ID,直到获取整个流程。

按照规则,每个流程都对应一份或多份表单,表单包含流程需要录入与处理的各项数据,将必要的数据提供给审批人,并将审批人的处理意见记录。

每个流程处理点对应一份表单,也可以通过逻辑判断来对应多份。每个处理点将表单分为展示信息,录入信息和无关信息三部分。

表单在单独的界面进行创建,创建完成的表单将格式保存于数据库表中,将第三方控件的格式文件保存,数据库采用主从表的方式存储表单信息。

3 流程实例的运转

流程设计完成后,在数据库中存储了整个流程的数据结构。整个流程被封装为一套程序,可以授权给指定用户进行访问。

用户启动指定流程,引擎读取数据库中的流程结构,按照从多个数据表中形成的数据结构,调用封装好的代码,展示流程表单界面,并提供录入信息与操作流程的功能。

将具备完整功能性的程序称为流程(例:人员加班流程),并将每一个单独的调用称为流程实例。

用户发起流程后,引擎自动创建一个流程实例。实例的数据包括所属流程ID,所处流程点ID,对应表单ID,发起人编号,流程状态,流程各项录入的信息等。同样通过主从表的方式,来解决属性数量不定的情况。

选择发起对应流程,或者打开待处理的某个流程后,对应该流程步骤的表单就会展示,将无关信息隐藏,将展示信息进行只读展示,为录入信息提供相应的录入或编辑工具。并提供相应的发送、退回、打印等功能。

流程实例表中,会保存上一步处理者,当前处理者和下一步处理者三项属性,用于确定流程的流转方向。

实例状态是流程实例的一项重要属性。一般来说,可以将状态分为发起中、待审批、被退回、被结束、已完成等。与实例所处步骤这一属性相结合,可以明确流程所处的具体阶段。

开发引擎平台通过对第三方控件的调用,也可以便捷的支持流程数据的饼图、柱状图、曲线图等分析方法的实现。

办公自动化系统可以显著的提高业务工作效率,实现过去难以实现的数据分析统计,展现信息化发展的优势。开发引擎平台则能显著提高办公自动化系统的开发效率,无需关注代码本身,即可将业务需求与工作流程形成一整套办公自动化程序。

猜你喜欢

表单办公自动化引擎
电子表单系统应用分析
浅谈办公自动化系统的设计与应用
办公自动化中的计算机应用
浅谈网页制作中表单的教学
办公自动化系统软件教学探索
办公室自动化、办公自动化与OA
无形的引擎
基于Cocos2d引擎的PuzzleGame开发
动态表单技术在教学管理中的应用*
基于Java可视化测绘生产流程表单的设计及实现