流程设计-设计框架

来源:互联网 发布:python 字典添加 编辑:程序博客网 时间:2024/04/28 16:11
设计框架

1.2.1   参考模型

    WFMC是国际工作流管理联盟,它于1993年成立,发布了一系列的工作流定义、软件接口的草案文本,是目前世界上公认的最具权威性的工作流标准制定机构,得到了广泛的支持和应用。

   2002年10月25日,WFMC发布了基于XML的流程定义语言1.0版的最终   文本(Workflow Process Definition Interface----XML Process Definition   Language  文档编号:WFMC-TC-1025),以及此前发布的工作流应用软件接口规范WFMC-TC-1009, WFMC-TC-1013等系列文件,构成了工作流定义及系统的设计标准。

    为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面制定了一系列标准。工作流管理联盟给出的工作流定义是:工作流是指整个或部分经营过程在计算机支持下的全自动或半自动化。在实际情况中可以更广泛地把凡是由计算机软件系统(工作流管理系统)控制其执行的过程都称为工作流。

    一个工作流包括一组活动及它们的相互顺序关系,还包括过程及活动的启动和终止条件,以及对每个活动的描述。工作流管理系统指运行在一个或多个工作流引擎上用于定义、实现和管理工作流运行的一套软件系统,它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态。

      WFMC主要提出了五类接口与工作流执行服务一起共同组成工作流系统:

     ◇ 接口一:过程定义交互接口(工作流定义交换);

                     用于在建模和定义工具与执行服务之间交换工作流定义。主 要是数据交换格式和API。定义过程模型的互换格式和读写 操作。通过GUI流程建模工具生成
                     一个xml/data文件,该 xml/data需要符合一定的格式,并最终被接口一模块解析,并导入数据库中,形成流程模型数据。

     ◇ 接口二:客户端函数接口(工作流客户端应用接口); 用于工作流客户端应用访问工作流引擎和工作列表,约定所 有客户应用与工作流服务之间的功能操作方式。
                    通过一个
 Web用户工作项列表,把用户需要完成的任务列出来,并通 过连接的方式让用户连接到该人工活动业务,并引导用户一 步步完成他所应该完成的
                    工作。

     ◇ 接口三:应用程序接口(被调用的应用接口); 用于调用不同的应用系统。工作流机和直接调用的应用程序 之间的直接接口。通过接口和动态载入类的机制,引擎会
                     执行用户指定的各种实现类,或执行外部一些EXE,批处理,脚本语言等

◇ 接口四:互操作接口(工作流系统互操作接口); 用于不同工作流系统之间的互操作。即定义不同工作流管理 系统之间的信息交互。

◇ 接口五:管理与监控接口(系统管理和监控); 用于系统管理应用访问工作流执行服务。即实现对工作流的 管理和监控。管理界面其实是接口二和接口三的一个应
                     用。
提供用户查询,动态管理流程,动态改变参与者,并可以使 用一些EXE,批处理,存储过程等外部工具,并能在工作流 管理系统中被调用。

1.2.2   功能模型

      SDP工作流程管理系统根据工作流参考模型设计的SDP功能模型如下: 

SDP工作流系统功能模型与参考模型的对应关系如下图所示: 

1.2.3   引擎框架

    根据流程功能模型和设计原理,针对SDP工作流程引擎框架进行设计,设计后的工作流引擎框架结构如下图所示: 

1.2.4   运行原理

          工作流业务管理是指运行在一个或多个工作流引擎上,用于定义、实现和管理工作流运行的一套软件系统。它与工作流执行者(人、应用)交互,推进工作流实例的执行,并监控工作流的运行状态,其运行原理如下: 

1.2.5   体系架构

    一、SDP工作流程管理系统软件构成

       1、建模工具:用来生成xml文件,并提供一个解析该xml,并把数据插入流程数据表中。

       2、流程引擎:推进调度执行工作流过程和活动。维护自动活动和人工活动,分别为外部系统调用和参与者的任务列表提供数据

       3、监控管理:对流程、活动任务的运行监控,实行通知信息的管理机制。

       4、外部系统数据调用:调用和执行外部可执行文件、DLL、事件、存储过程、脚本等。

       5、运行平台:用户web端发起流程,对流程工作任务进行领用执行,以及对流程进行跟踪监控管理。 

    二、SDP工作流程管理系统数据

   (1)、工作流数据

         流程数据:分为模型库和运行库。模型库的数据来源于对xml文件的解析。当对一个模型库实例化的时候,把模型库数据实例化并导入运行库。实例化包括生成序列
                   ID,初始状态等。

         相关数据:在路由活动中用来判断后续活动变迁数据ID,类型,初始值。

       ???控制数据:变迁表的前驱活动ID,后续活动ID,工作流对象状态等数据。

       ???形参数据:在外部Tools,EXE中规定的参数类型和个数。

         人员数据:这里定义的参与者角色,需要和外部员工数据进行映射来对应员工。

   (2)、外部数据

         表单属性数据:人工活动界面设计时,需要对页面元素进行控制的数据

      ??? 外部应用数据:外部数据执行所需要的数据。

      ??? 外部系统数据:当工作流系统需要参与者交互的时候,需要引用员工数据,通过员工角色映射表来对应员工,有3种判定员工策略:先登录先指派,任务最少指派,
                         唯一对应指派。

    三、SDP工作流程管理系统功能

             SDP工作流管理系统功能需要完整的流转完成需要经过三个阶段(型定义、模型实例、模型执行)的执行才能完成。
             所以工作流管理系统功能包含三部分,功能描述如下:

             模型定义阶段功能:主要实现工作流过程和相关活动的定义和建模功能。

             模型实例阶段功能:对需要执行的流程的业务进行流程的实例化,完成过程实例、活动实例、工作任务的创建过程功能。

             模型执行阶段功能: 执行既定工作流过程,并根据规则调度相应的活动,通过引擎调度系统,将活动产生的工作任务推送给处理者,处理者通过系统提供的人机交
                              互功能来完成工作任务。同时对过程与活动的执行情况进行监控与跟踪。

    四、SDP工作流程管理系统设计原理

           SDP工作流对象分为过程、活动、工作任务这三部分,各个对象在流程实例启动后通过各对象的状态变迁来推进流程的运行。具体各对象在模型实例化后,所具有的状态
        内容如下:

           (1)、过程实例

                 过程的基本状态可以概括为如下六种:

                 初始(Initiated)、运行(Running)、挂起(Suspend)、中断(Abort)、

                 终止(Terminate)、完成(Complete)

           (2)、活动实例

                 活动的基本状态可以概括为如下六种:

                 初始(Initiated)、运行(Running)、挂起(Suspend)、中断(Abort)、

                 终止(Terminate)、完成(Complete)

           (3)、工作任务

                 工作任务的基本状态可以概括为如下五种:

                 初始(Initiated)、运行(Running)、挂起(Suspend)、

                 终止(Terminate)、完成(Complete)。

            工作任务类型:普通任务 会签任务 加签任务 追回任务 自动任务

原创粉丝点击