基于BizTalk工作流服务的动态工作流模型

来源 :计算机辅助工程 | 被引量 : 0次 | 上传用户:zhangtie123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:针对现代制造企业迫切需要对动态业务流程进行管理的需求,提出基于BizTalk工作流服务(Human Workflow Service,HWS)的动态工作流模型. 该模型包括BizTalk HWS的功能结构和BizTalk流程模型. 对该模型进行数学描述,并提出1个动态工作流的调度算法. 最后给出基于Web的原型系统,说明该模型能够在一定程度上解决企业动态业务流程的管理难题.
  关键词:BizTalk工作流服务;动态工作流;调度算法
  中图分类号:TP301.6 文献标志码:A
  
  Dynamic workflow model based on BizTalk human workflow service
  GAO Dapeng1,2,DONG Yude3,HUANG Jianming2
  (1. Dept. of Computer Sci. & Tech,Univ. of Sci. & Tech. of China,Heifei 230027,China;
  2. Nanjing Army Command College,Nanjing 210045,China;
  3. School of Mechanical & Automotive Eng.,Hefei Univ. of Tech.,Hefei 230009,China)
  Abstract:With the requirements that the modern manufacturing enterprises need to manage dynamic operational flow urgently,a dynamic workflow model is proposed based on BizTalk HWS (Human Workflow Service). It is comprised of the functional infrastructure of BizTalk HWS and BizTalk-based workflow model. The mathematical descriptions of the model are given and a scheduling algorithm is put forward. A Web-based prototype system is implemented to prove that the model can solve the management problems of dynamic operational flow for enterprises in a certain extent.
  Key words:BizTalk human workflow service;dynamic workflow;scheduling algorithm
  
  0 引 言
  
  在竞争日益激烈的市场经济条件下,现代制造企业规模日益扩大及业务量增长迅猛,导致业务流程的处理方式不断变化.一些传统的工作流管理系统只能够静态执行工作流模型来完成业务过程的处理,而对于动态业务流程处理缺乏有效的管理方法.因此,迫切需要具有动态建模和调度的工作流管理系统来适应企业动态变化业务流程的需求,使业务流程处理得以应用简单且性能优化.针对制造企业中业务流程(如新产品开发、原材料采购、公文处理、人事任免等流程)的特点,根据WfMC所提出的工作流定义[1],结合企业业务流程的开发规范,本文给出1个基于Microsoft BizTalk ServerTM的动态工作流(Dynamic Workflow)模型,其具体模块包括流程应用平台、BizTalk工作流服务、流程调度引擎、Action设计器和工作流模型库.然后对BizTalk支持的动态工作流模型加以数学描述,并提出流程调度算法.最后给出基于Web的应用实例.
  
  1 BizTalk工作流服务
  
  BizTalk工作流服务 (Human Workflow Services,HWS) 是 Microsoft BizTalk ServerTM的标准组件,其结构见图1.
  工作流服务主要向客户端应用程序提供3个服务:其中工作流组合服务将为每个客户端请求提供1个唯一的ID,并使用此ID跟踪用户在业务流程中执行的操作(Action);工作流约束服务使用来自事实存储器(数据库,Active Directory和操作系统用户组)的信息来确定用户或客户端执行的操作列表;跟踪服务和跟踪流程实例的状态,按照客户端的请求重新构建流程实例.
  HWS把工作流定义为具有上下文(语义)关系,发生在用户和过程之间操作(动作)的集合,称为流程模型(见图2).
  如图2所示,流程模型由操作(Action)和资源(R)组成,其中操作为业务流程的核心部分及完成流程任务的功能单元,其功能是按照流程逻辑(Logic)和资源完成相应的流程任务(Task).1个流程模型W可由多个不同的Action和R构成,表示为表达式(1),其中i表示Action功能类型,j表示Action数目,k表示R的种类.
  
  2 模型结构
  
  工作流模型是企业业务流程的图形化描述,它定义1个能够由工作流执行服务软件系统执行的过程所需要的信息.这些信息[2]包括过程的开始和完成条件、构成过程的活动以及活动间的规则、用户所需完成的任务、可能被调用的应用、所有与工作流相关的数据定义.现代制造企业内部的业务流程是动态、随机的过程,业务流程执行的过程中存在许多不确定性因素,以往静态的工作流模型已不能胜任复杂多变的业务处理过程.为了适应制造业企业动态和随机的业务流程环境,基于BizTalk的动态工作流模型结构包含以下几个部分(见图3).
  (1)流程应用平台.提供1个基于Web模式的图形化用户界面GUI;由于流程的设计与管理较为复杂,基于Web的图形化交互界面有利于用户构建和管理流程应用.
  (2)BizTalk ServerTM引擎.提供工作流服务和消息管理,激活生成流程实例、Action实例、生成和发送流程任务以及传递流程实例状态消息(包括资源分配、流程实例运行状态、性能需求和运行时间等);对各种实例进行有效管理,中断工作流、响应任务以及代表特定用户检索跟踪信息,停止、中止或回退Action实例.
  (3)流程调度引擎.提供流程调度服务,依据调度规则对流程实例状态消息进行评估以及与工作流模型进行匹配;动态生成Action实例,添加到流程实例,使流程持续运行.
  (4)Action设计器.用于设计不同功能的Action,并将其注册到BizTalk ServerTM.
  (5)工作流模型库.用于储存用户在流程应用平台上设计的业务流程模型.
  2.1 工作流模型的数学描述
  提出的动态工作流模型(记作Biz-WF)是个有向图,是对第1节中描述的BizTalk流程模型的改进和扩充.
  定义1 Biz-WF是个有向图,其中每个节点表示工作流中具体的Action;节点之间的连线表示活动之间的先后关系,并通过流程状态消息相连接.
  定义2 Action是流程中实现一定逻辑功能和任务的最小单元,它的结构可以表示为1个八元组:Action = (ID,G,R,Ma,ST,T,I,Sa),其中:
  ID是Action所属流程的唯一标志;
  G是Action的唯一标志,调度引擎通过该标志调用Action;
  R是Action的相关资源ri(i=1,2,…,n)的集合;
  Ma是指Action所接收和传递的流程实例状态消息,是1个二元组Ma = (min,mout);
  ST为Acton约束,定义Action的安全策略,对Action的资源权限进行限定;
  T是Action所属任务的唯一标志ti(i=1,2,…,n)的集合;
  I表示Action的开始和结束时间,是1个二元组,I = (istart,iend);
  Sa表示Action的当前状态.S有以下3种状态:激活、中断、终止.
  定义3 流程是有时间先后的Action序列,其结构可表示成八元组flow =(ID,H,Gs,Ge,Il,Ih,Mf,Sf),其中:
  ID是流程的唯一标志;
  H是流程发起者或拥有者;
  Gs是流程起始Action标志;
  Ge是流程结束Action标志;
  Il是流程允许的最长运行时间;
  Ih是流程运行所经历的时间;
  Mf是流程状态消息mi(i=1,2,…,n)的集合;
  Sf是流程当前状态,有以下3种状态:激活、中断、终止.
  定义4 任务是Action完成一定流程功能的组成单元.它是1个七元组T= (ID,G,T,O,Mt,St,Is).其中:
  ID是唯一标志任务的所属流程ID;
  G是唯一标志任务所属Action的ID;
  T是唯一标志任务的ID;
  O是任务目标oi(i=1,2,…,n)的集合;
  Mt是与任务关联的任务消息mi(i=1,2,…,n)的集合;
  St是任务状态,有以下10种状态:Accepted(接受),Cancelled(删除),Completed(完成),Declined(拒绝),Deferred(延期),InProgress(进行中),Interrupted(中断),NotStarted(未开始),Tentative(试验),Waiting(等待);
  Is是任务发起时间戳.
  2.2 流程调度
  流程调度引擎的主要功能是初始化在BizTalk服务器注册的Action,生成Action实例并进行调度.通常根据流程模型,向流程实例中添加后续Action实例,Action实例依据流程实例传递的状态消息生成相应的流程任务(见图4).调度策略有两种:静态调度和动态调度.静态调度是指当业务过程没有发生变化,流程的运行符合预定义流程模型,那么调度引擎依据调度规则,直接初始化模型中的下一个Action,向流程实例中添加该Action实例并将状态消息传递给实例;动态调度是指当流程实例运行后,业务流程根据需求发生变化,预定义流程模型依据调度规则流程与实例状态消息不能匹配.静态调度不能使当前流程实例继续执行完成后续流程任务,会导致流程实例失败.此时,调度引擎应进行动态调度,依据调度规则对状态消息进行评估,从注册的Action中找到匹配流程实例状态消息的最能适应业务过程变化的Action.
  Action实例动态生成和调度算法的基本思想是依据调度规则对当前流程实例状态消息进行评估与匹配,动态生成Action实例,添加到流程实例.调度算法有以下几个具体步骤.
  Step 1 从BizTalk服务器获取当前流程实例状态消息.
  Step 2 对流程实例状态消息和预定义流程模型进行匹配.
  Step 3 静态调度,依据Step 2的匹配结果:
  IF状态消息与流程预定义工作流模型匹配,
  直接找出符合预定义工作流模型的Action;
  END IF;
  GOTO Step 5.
  Step 4 动态调度,依据Step 2匹配结果:
  IF状态消息与流程预定义工作流模型不匹配,业务过程发生变化,假设总计有N个注册Action,对于当前要调度的任务
  FOR j = 1 TO N.
  从j中选出1个与流程实例状态消息相匹配的Action,规则如下:
  (1)满足流程实例状态消息中的资源分配要求;
  (2)满足流程实例状态中的任务要求;
  (3)如果前面都满足,则选出性能要求最接近的Action;
  END FOR.
  Step 5 实例化Action,添加到流程实例,同时把状态消息传递给该实例.
  
  3 应用实例
  
  采用上述动态工作流理论构建在BizTalk ServerTM 2004工作流服务上基于Web的工作流平台,提供流程建模、流程监控、流程调度、任务处理和Action设计等功能.图5所示为流程建模后的流程配置Web界面,通过流程配置生成流程初始状态消息,供用户初始化流程使用.
  
  4 结束语
  
  近年来,基于工作流技术的信息管理系统在企业得到广泛应用,企业的业务流程管理能力有了显著提高.但是,现有的流程管理系统不能较好地适用于动态的、不断变化的业务流程,限制企业整体效率的提高.本文研究的基于BizTalk工作流服务的动态工作流及应用实例,在一定程度上能解决企业动态流程的管理难题,提高企业业务流程处理的效率和能力,对企业在未来更为激烈的市场竞争中立于不败之地具有重要意义.
  
  参考文献:
  [1] HOLLINGSWORTH D. The workflow reference model[S]. WfMC-TC-00-1003. Hampshire: Workflow Management Coalition,1995.
  [2] 范玉顺. 工作流管理技术基础[M]. 北京: 清华大学出版社,2001.
  (编辑 廖粤新)
  
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
摘 要 分析了基于恒定旋转矩阵的机器人视觉立体定位方法原理,提出利用机器人控制命令参数直接获取恒定旋转矩阵的方法,该方法大大简化了摄像机内外参数的标定过程。设计了MOTOMAN—SV3XL机器人手眼视觉控制系统,编制了相应的控制软件,进行了大量的实验研究,并取得了良好的效果。  关键词 立体视觉 恒定旋转矩阵 MOTOMAN—SV3XL机器人 手眼视觉控制  文章编号1002—8331
期刊
摘 要 为了适应当今数字区调工作的需要,开发一套3S技术有机结合简单实用的数字区调野外工作平台或软件系统,已成为燃眉之急。论文介绍了数字区调新技术新方法--R5_OrthoMapper系统研制与开发的基本需求、系统的总体结构与设计、系统实现等,并给出了系统中一些重要的逻辑视图;该系统在西藏昌务场和青海阿拉克湖等地区数字区调填图中示范应用,获得良好效果。  关键词 数字区域地质调查 遥感图像
期刊
摘 要 随着计算机技术的迅速发展,如何将这一技术运用到传统的过程工业中,实现过程工业自动化和信息化是目前上业界和学术界普遍关心的问题、论文在WEB技术的基础上,采用了XML规范和B/S结构,提出了针对过程工业运行系统的信息管理平台结构,并开发出对应的信息集成平台系统。该平台既可以用来指导新的过程运行子系统的开发,也可以兼容企业中不同时期开发的遗留系统、最后该平台可以进一步向管理层拓展,应用到E
期刊
摘 要 人脸建模与动画是计算机图形学中最富有挑战性的课题之一,可以广泛应用于计算机动画行业、游戏行业、远程会议、代理和化身等许多领域。根据MPKC-—4关于人脸特征点的定义,利用一般人脸模型以及特定人的正面和侧面两幅照片,采用Dirichlet自由变形实现了从一般人脸模型到特定人脸模型的变形;再利用特定人的正面和侧面照片,采用纹理融合方法生成了真实感人脸。论文提出的真实感人脸技术具有方法简单、
期刊
摘 要:为合理设计装船机金属结构,利用MSC Nastran/Patran对其进行有限元分析. 探讨对包含轴承、滑轮等部件的复杂金属结构模型的简化技巧,在MSC Patran平台上建立装船机整体模型. 利用MSC Nastran进行强度和刚度分析计算,并利用其结果调整设计方案. 通过装船机结构计算结果与设计方案的互动,在满足规范要求的基础上,合理布局并选择型材,减轻整机重量,提升总体设计水平.  
期刊
摘 要 论文给出了将WFMC定义的工作流模型转化为工作流网络的完整框架, 以及基于Petri网特性分析法的工作流网络仿真分析方法,并且用实例验证了该方法的可行性。  关键词 业务流程再造 工作流 Petri网 仿真  文章编号1002-8331-(2003)22-0084-03 文献标识码A 中图分类号C931.6
期刊
摘 要 Fibonacci数有很多应用,它的求值有几种不同的算法。对原有算法的时间复杂性在理论分析的基础上进行了实验的分析,实验结果表明采用逐项递归算法、对分递归算法、直接求值算法和迭代算法的程序,其运行速度依次递升。论文还提出了一种对分迭代算法,它比原有最快的迭代算法约快20%—60%。  关键词 Fibonacc; 递归 迭代 对分  文章编号 1002—8331—(2003)22
期刊
摘 要:为准确分析车桥之间的相互作用,根据模态综合法推导车桥系统动力平衡方程,基于ANSYS前后处理器的桥梁建模和结果后处理功能,结合自主程序VBDIP (Vehicle Bridge Dynamic Interaction Program),形成1个通用工具用于分析车桥耦合振动问题. 以单自由度质—弹系统通过简支梁桥模型为例,计算车桥的动力响应. 所得结果与相关文献结果吻合良好,表明该方法正确有
期刊
摘 要 论文描述了Robocup中Agent之间的依赖关系,在此基础上建立抢断中的Agent模型,并基于该模型分析了在特定足球阵形下借助依赖与协商形成抢断策略的过程。此外,还分析和讨论了如何针对进攻中的具体问题来构造相应的抢断算法。  关键词 Agent 目标驱动 RoboCup 抢断  文章编号1002-8331-(2003)22-0107-02 文献标识码A 中图分类号TP18
期刊
摘 要 文章从介绍移动Agent的基本概念和特点出发,提出了基于移动Agent技术的应用系统框架,并对其逻辑结构,实现机制和关键技术进行了深入的分析和讨论。  关键词 移动Agent 应用系统 框架  文章编号1002—8331—(2003)22—0094—04 文献标识码A 中图分类号TP393
期刊