工作流引擎是 BOS 系统的一个重要组件 它可以根据客户具体的业务逻辑来定义工作流模型 整个应用程序就根据所定义的流程来运行 它把应用系统模块和工作流程分开 当流程发生变化只需修改流程模型 具体的应用程序无需修改 参考wfmc 标准我们把工作流分成几个模块 · 流程定义模型 · 用户端 · 工作流引擎 · 建模工具 · 组织架构 在虚线框中代表工作流的服务器端 它对于用户是透明的 用户通过工作流引擎所提供的客户端来对工作流引擎进行操做 客户端包括建模工具管理工具和任务列表 各模块之间的关系如下图 工作流的操作可以分为建模阶段(Process Design&Definition)和运行阶段(Run Time) 运行阶段又可分为工作流引擎端和客户端 客户首先通过建模工具建立一套工作流的模型定义(Process definition) 工作流引擎(Workflow Enactment Service)根据模型所提供的信息把具体任务交给用户来完成 用户在登入后会发现有一项新的任务在他的任务列表中在他选择执行后预先设定的应用程序将被激活在执行应用程序的过程中所调用的应用程序会和工作流引擎交换数据告诉工作流引擎目前运行的状态当他完成任务后工作流引擎得到反馈将按流程把任务交给下一个人直到完成整项工作 我们将通过一个简单的例子来解释工作流引擎的作用 上面是一个假想的销售流程图任何工作流程图都包含起始节点和结束节点 起始节点可以是单独的一个节点也可以隐含在一个任务节点中 在上图中线索就是一个起始节点用户得到一个线索后第一步是输入线索 因为下一步是和客户联系(contact customer)需要由销售代表来完成 而销售代表(sales rep)有多个工作流引擎将把任务分配给销售部的经理 由销售部经理把任务分配给某个销售代表 这个销售代表就会在他的任务列表中看到这个任务 当他联系了客户后发现这个客户有可能买我们的产品就把相关信息输入到数据库重结束了这个环结的工作 工作流引擎就会把任务传给下一个环节 如果客户不感兴趣就转移到结束节点 此工作流程就结束 下一个环节是建立销售计划(sales plan)需要市场部经理来做 因为市场部经理只有一个就把任务直接分配给市场部经理(marketing manager) Marketing manager 做出销售计划后需要公司的CEO 和CFO来审批 当两位经理都对此做出审批后将把信息反馈到 sales manager 假设CEO 的评审没有通过销售经理需要修改 sales plan 再进行审批直到通过为止 下一个环节是拜访客户 如果一切顺利就可得到定单整个流程结束 以上的例子是一个假想的例子 但它反映了工作流引擎的一些重要功能 用户看到的只是自己的任务列表 当他完成了这项任务后由工作流引擎根据流程把任务分配给下一个环节的负责人 每一个任务都由一个角色来完成由工作流引擎根据组织架构决定具体由谁来做 有些过程(审批)需要重复进行直到通过 有些过程 (审批)需要所有的前置任务(CEO review CFO review)都完成才进入下一个阶段 有些过程不需要人来操作比如审批节点自动等待 CEO和CFO 都审批完后把结果反馈到市场部经理 工作流引擎对于用户来说是透明的用户通过它的客户端来对它进行操作 客户通过建模工具来建立模型通过任务列表来知道自己当前的任务通过管理工具来对工作流程进行维护 |