工作流引擎平台解决方案工作流引擎平台在实际系统中的应用一般分为三个阶段,即模型建立阶段、模型实例化阶段和模型执行阶段。模型建立阶段利用工作流建模工具完成各种企业经营过程或者项目管理流程模型的建立,将企业的实际经营过程或项目管理流程转化为计算机可处理的工作流模型。模型的实例化阶段为每个过程设定运行所需的参数,并分配每个活动执行所需的资源(设备、人员等)。模型执行阶段完成经营过程的执行,在这个过程中重要的任务是完成人机交互和应用的执行,并对过程与活动的执行情况进行监控与跟踪WorkFlow的设计理念是致力于企业的业务流程自动化解决方案,为企业的业务流程自动化以及企业流程再造提供坚实的基础平台,成为业界领先的企业业务流程自动化的基础平台产品以及企业流程再造的核心产品。有力的简化应用开发的步骤,降低应用开发的难度,提高应用开发的效率及灵活性,节约应用开发的成本,从而极大的提高应用开发的生产力。WorkFlow产品构成分为三块:模型定义工具、工作流引擎、客户端应用。模型定义工具提供图形化的过程定义工具,而工作流引擎则实现了工作流的后台驱动。后台工作流引擎以COM组件方式实现,为应用系统的集成提供了方便的编程接口。客户端应用是人机交互的界面、与业务系统的具体应用。1.模型定义工具Workflow建模工具以图形界面为建模人员提供了一个友好、方便的建模环境。一个工作流的定义包括模板和实例两个部分,模板用于描述工作流定义,用于工作流应用的设计阶段;实例是将模板定义用于特定工作流程时对模板的拷贝。这样做是为了在模板使用过程中对模板可随时进行修改而不影响已启动的流程。一个工作流程称为一个工作(Job),组成工作的每个执行单元称为活动(Activity),组成活动的更小单位称为任务(Task),活动的入口称为主表单(MasterForm)。每个工作都是由一系列具有逻辑关系的活动组成,这些逻辑关系构成活动的路由信息。因此,一个工作实际上可以看作是一系列具体工作和它们之间的逻辑关系构成的一个有机整体。每个工作都有一个创建者,他是启动此工作的人。每个工作可以有多个拥有者,拥有者具有撤销、挂起、强行终止工作的权力。每个活动都有一个拥有者,他是模板中定义的活动执行人,活动拥有者有权将属于自己的活动进行改派。任何活动的拥有者都是工作的参与者,他们有权在适当的时候(如出差时)指定自己的工作代理。活动有四种类型:开始活动、结束活动、人工活动、自动活动、合并活动。开始活动表示工作的开始,结束活动表示工作结束。自动活动表示不需要人员参与的活动,在进行了一定处理后系统自动转入后续活动。合并活动把多个逻辑分支合并到一个节点。活动的关系由“结束——启动”对描述,一个“结束——启动”对在图形表示上是一个从一个节点到下一节点的连线。一个“结束——启动”对是一个由两个节点的标识来唯一标识的关系描述信息,它有始终、唯一、多重、排他、条件五种路由类型。始终表示前面节点结束后必定启动后面的节点;唯一表示前面节点结束后从多条分支中选择唯一一条分支启动后面节点;多重表示前面节点结束后从多条分支中选出一条或多条分支同时启动后面节点;排他表示前面节点结束后,如果选择了排他分支、路由不再选其他分支、而是走本分支进入后面节点;条件表示前面节点结束后根据给定的条件值或者决策进入下一节点。活动有“初始”、“就绪”、“执行”、“挂起”、“终止”、“执行后”、“完成”七种状态,由工作流服务组件负责状态间的转换。为了增强工作流引擎的处理能力,在流程定义中还可以定义变量,这些变量定义“结束——启动”对中条件和数据的内容,也可以作为与外部应用进行数据交换的容器,如在启动外部应用时给应用传入参数等。变量有两种:全局变量和局部变量。全局变量对整个流程而言,定义在流程属性中;局部变量对活动而言,定义在活动属性中。支持多种任务指派规则:所有人员、任务最少者、先申请先获得、角色优先级。2.工作流引擎WorkFlow通过工作流引擎使具体应用系统中的工作流从一个个体“流”向另外一个个体,实现工作流的自动化。它完全是一个后台驱动,对于用户来说是不可见的。它主要包括运行服务功能、监控管理功能;1)运行服务功能:过程定义的装载解释;过程实例的创建:人工创建,自动定时创建,自动周期性的创建;过程实例的控制:包括过程实例的运行,挂起,恢复,终止等;活动实例的控制:包括活动实例的创建,运行,挂起,恢复,终止等;相关数据的管理;外部应用程序的调用;系统日志服务;数据库存取服务;丰富的API接口;2)监控管理功能;实时数据查询;日志监督服务;图形化的监测过程实例的运行情况;实时的跟踪过程实例的运行情况;过程实例的状态控制。3.客户端应用客户端应用主要是完成人机交互和应用的执行。在系统设计过程中,根据用户职责的不同将其分为过程创建者、系统管理员、一般用户三种。过程创建者主要负责流程的定义建模,一般为业务人员和技术人员的结合;系统管理员负责监控整个系统的运行,包括对系统配置的维护和对系统中执行的过程监视和人为干涉;一般用户是人工活动的执行者,系统为其分配任务、给予指示,配合完成流程的执行。1)工作流入口管理:启动工作:用户登录应用系统,启动已经授权的新工作,系统弹出启动新工作的界面,并默认产生一个唯一的工作名称,点击创建按钮,系统在工作流控制数据库中产生一个工作流实例,并自动连接到该流程的第一个节点对应的应用页面。这个功能是一个工作流的开始(即入口)。待办事宜:待办事宜既是一个活动处理的结果,也是一个新活动的开始,用户登录后,系统弹出待办事宜页面,显示该用户的待办事宜事项。这样就把用户待处理的工作推到用户面前。2)工作流过程控制:选择路由:根据业务流程规则,以及工作流模板的定义,一个活动的任务处理完成以后往下提交,后台的工作流引擎进行驱动,列出往后的所有路由,以及根据条件或者人机交互的结果,自动生成往后的路径(一条或多条)。选择执行人:一个活动后续路径确定以后,要求根据工作流模型角色的配置关系,人为的去针对不同活动选择相应活动的执行人,选择完成以后,提交给工作流引擎,引擎进行后台处理,形成该执行人的待办事宜信息。3)工作流结果管理:工作流列表:在工作流引擎执行过程中,产生很多工作流实例,以及活动实例,可以进行各种方式查询,进行工作流流转的监控。