通俗来讲,所谓一个工作流管理系统,如果将其拆分出来一个个单讲话,大致可理解为由工作流引擎、工作流设计器、流程操作、工作流客户界面、流程监控、表单设计器、与表单的集成以及与应用程序的集成等几个部分组成。
1. 工作流引擎
顾名思义,工作流引擎是工作流管理系统的核心部分,主要提供了对工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、恢复等),通过各种环节调度算法(SPLIT、AND、OR等)来实现对于环节的流转(环节的合并、分叉、选择、条件性的选择等)。
2. 工作流设计器
这是一套高效快捷的可视化的流程设计工具,开发引擎中有包括表单设计、流程设计、流程管理、流程日志在内的多个模块。用户可以通过拖拉点拽等可视化操作来绘制流程,仅使用鼠标即可对于环节处理、环节表单、环节参与者进行详细配置。使用这一类高容错率和高透明度的设计方式,将从根本上消除开发过程中出错的可能。
3. 流程操作
流程操作是指对于各个环节的细节操作,如启动流程、终止流程、挂起流程、直流、分流(单人办理)、并流(多人同时办理)、联审等,象这些流程操作都是可直接基于引擎所提供的环节调度算法来直接支持的,而在实际的需求中,通常需要自由的对于流程进行干涉,如取回、回退、跳转、追加、传阅,而这些流程操作对于工作流引擎来说是不合理的,因此必须单独的去实现。
4. 工作流客户界面
客户界面程序是工作流系统的可视化表现形式,通常使用Web方式进行展现,通过提供待办列表、已办列表、执行流程操作、查看流程历史信息等来展现工作流系统的功能。
5. 流程监控
流程监控通过提供图形化的方式来对流程执行过程进行监控,包括流程运转状况,每个环节所耗费的时间等等,而通过这些可相应的进行流程的优化,以提高工作效率。
6. 表单设计器
表单设计器为可视化的表单设计工具,用户可通过拖放的方式来绘制业务所需的表单,并可相应的进行表单数据的绑定。
7. 与表单的集成
通常,业务流转需要通过表单来表达实际的业务,因此需要与表单进行集成来实现业务意义,与表单的集成通常包括表单数据的自动获取、存储、修改,表单域的权限控制、流程相关数据的维护以及流程环节表单的绑定。
8. 与应用程序的集成
通过与应用程序的集成,来完善工作流管理系统的业务意义,主要涉及到的是与权限系统以及组织机构的集成。流程环节需要相应的绑定不同的执行角色,而流程操作通常需要与权限系统、组织机构进行关联。