Ebaas工作流简介
前面的教程主要介绍构建企业应用软件的数据管理功能。然而,绝大多数企业的业务工作都是基于流程执行的。通过流程协调多个部门或多个角色的员工共同完成某项复杂的任务,确保执行任务的效率,质量等。业务流程在企业中非常普遍,包括订单流程,客户服务请求和仓库出入库流程等。例如,一个简单的事务跟踪管理系统也需要按照一定的顺序和业务规则由多人共同完成完成,包括提交人,处理人,审核人等。
应用软件实现企业的业务流程时,如果将流程的逻辑写死在代码中,一旦业务流程发生变化就需要修改代码,测试和部署,非常不灵活。因而,应用软件通常采用“工作流”技术来实现流程。工作流技术通常包括流程设计器,工作流引擎和数据库组成。因而开发工作比较复杂和费时。
为了快速和方便地构建具有流程驱动的企业应用软件,Ebaas平台提供了工作流技术,使您能通过配置的方式实现需要业务流程的应用软件。下面的教程中,我们将以事务跟踪管理为例,介绍构建一个简单的事务跟踪管理的流程。
Ebaas工作流组成部分
在开始教程之前,我们先介绍一下Ebaas工作流的组成部分:
- Workflow Studio:图形化的流程设计器,用于设计,监视和管理工作流。由系统管理员使用。
- Workflow引擎:包含在Ebaas服务器端,提供执行工作流所需的环境和服务。
- Web工作流组件:便于用户使用浏览器执行流程所赋予的任务,并查看任务历史数据。
工作流相关术语
- 工作流项目(Workflow Project):用于组织管理与某个应用相关的多个工作流。
- 工作流模型(Workflow Model):是一个业务流程的实现模型。工作流由一组活动以及活动之间的逻辑关系组成。
- 工作流实例(Workflow Instance):一个工作流模型的运行实例。一个工作流模型可以有多个工作流实例在运行,每个工作流实例可以运行在不同的状态。
- 活动(Activity):是工作流模型的组成部分,负责执行工作流所定义的各种操作。
- 事件(Event):数据库或外部应用所产生的事件,用于驱动工作流实例的状态转换。
- 绑定数据实例(Binding Instance):每个工作流实例在执行过程中要与数据库中的某一数据实例进行绑定。通过与数据实例绑定,数据实例变化所产生的事件可以驱动流程实例的执行,并可以修改绑定数据实例的属性值。每个工作流实例只允许一个数据实例绑定。
- 任务(Task):但工作流实例执行中需要人工交互或与其它系统交互的情况下,可以通过生成任务并分配给指定的角色或用户来执行;
事务跟踪流程
当您设计工作流模型时,首要任务是确定流程所包含的状态,状态所要完成的任务,状态之前的转换关系。然后,您就可以使用WorkflowStudio工具来构建这个工作流模型。
为了保持教程的简练,我们在这个教程中实现一个非常简单的事务跟踪流程。实际的流程要复杂的多,您可以根据业务的实际需求自行构建。
教程要实现的事务跟踪流程由以下几个步骤组成:
- 事务跟踪流程由用户填写并提交一个新的“事务”表单后发起。
- 流程生成一个审批任务并指定给具有“经理”角色的用户审批。在这一步,“经理”决定是将这个事务指定给某个处理人或取消该事务。如果取消事务,则流程结束。
- 事务处理人收到经理指定的事务并进行处理。处理事务结束后,工作流程结束。
流程图如下:
我们这里只介绍Ebaas工作流的基本概念和操作。需要了解工作流的其它功能,可以参看WorkflowStudio工具的操作手册。