2020年WF工作流工程设计论文_第1页
2020年WF工作流工程设计论文_第2页
2020年WF工作流工程设计论文_第3页
2020年WF工作流工程设计论文_第4页
2020年WF工作流工程设计论文_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WF工作流工程论文现在所有的大型软件制造商都推出了工作流产品。 从. NETFramework3.0开始,微软推出了新的基于Windows平台的工作流产品workflowfoundation(wf )。 作为. NET的标准组件,当前的最新版本是WF4.5。 对于WfMC工作流的抽象定义,微软工作流的定义体现了WF中的设计思想:工作流是作为模型存储的活动这一基本单元,活动用于描述实际过程的工作流是、 提供描述短期或长期执行的多个任务之间的执行顺序和依赖关系的方法。此任务从头到尾都是通过模型完成的,活动可以手动执行,也可以通过系统功能执行。 WF的构成主要由以下部分组成:(1)活动模型(ActivityModel ) :活动是构筑WF工作流的基本单元,可以用代码记述活动,也可以组合现有的活动作为复合活动。(2) workflow designer :从Microsoft visi-alstudioxx开始,VisualStudio提供了工作流设计器,开发人员可以根据需要开发与VisualStudio完全独立的工作流设计器(3)规则引擎(RulesEngine ) :由工作流调用,以便为工作流提供条件分支规则。(4)工作流程执行时(WorkflowRuntime ) :需要在轻量且可扩展的引擎执行环境中通过主机程序执行。 在WF工作流活动状态的永久化、异常处理、事务管理、web服务通信、流程动态更新等方面提供多种支持,可以快速开发Windows平台上C/S和B/S框架的工作流应用。 近年来,WF已成为Windows平台上工作流开发研究的主流。WF引擎体系结构分为四个层次:工作流模型层次、运行时层次、宿主层次、宿主程序层次。2.1工作流模型层(WorkflowModelLayer )工作流模型层是WF的应用开发层,支持不同类型的工作流模型,并提供开箱后活动(OutofboxActivi-ties )和活动和规则API。 开箱后立即可用的活动可分为三类:顺序、状态机和策略。 用户还可以通过自定义事件来扩展WF事件库。2.2运行时层(RuntimeLayer )运行时级别是WF的核心部分,包括运行工作流和管理工作流生命周期所需的重要服务(1)执行(Execution ) :确定进程中活动的执行时间,并维护事件处理、异常、跟踪和事务等公共行为。(2)跟踪(Tracking ) :主要通过跟踪接口确立序列化的跟踪事件。(3)日程表(Scheduler ) :根据日程表执行各种活动。(4)规则(Rules ) :提供策略执行功能和代码文档对象的模型条件值的计算。(5)状态管理(StateManagement ) :负责管理持久化接口的持久化的各种状态。2.3宿主层(HostingLayer )宿主层在WF的运行时层和宿主程序之间提供各种重要服务的接口,包括持久性服务、通信服务、跟踪服务、计时器服务、线程服务和事务服务等。 用户还可以根据需要自定义服务。 2.3.4宿主程序层(HostProcessLayer )宿主程序在调用时向用户提供交互式图形用户界面。 工作流引擎在服务器上为主机程序提供服务并管理工作流。 在Windows平台上,许多不同类型的应用程序充当WF的主机程序。 例如控制台程序、表单应用程序2.4WF支持的工作流类型WF支持两个工作流:顺序工作流和状态机工作流5。(1)序列工作流模型(SequentialWorkflowModel )序列工作流在进程启动时按进程定义的顺序自动执行,直到整个工作流完成。 顺序工作流可以使用分支和循环,也可以接收外部事件,但执行过程是非常可预测的。 顺序工作流模型具有明显的时间序列性,适用于大多数结构化的工作流应用。(2)状态机工作流模型(StateMachineWorkflowModel )状态机工作流是完全依赖于外部事件驱动执行的,因此也称为事件驱动工作流。 这包括一系列状态和事件,包括初始和结束状态。 在触发事件之前,状态机始终在预设状态下停止,并跳转到新状态。 状态机工作流模型是为事件驱动的工作场景而设计的,具有事务性特征,适用于与非结构化人员和角色相关的工作流场景。3.1整个系统的体系结构随着Inter的快速发展,Web越来越被其简便的信息检索方法、统一的客户端接口和丰富的功能所接受,因此,目前大多数应用系统都已通过B/S体系结构实现。 微软开发的ASP.NET框架成为Web开发的工具。 本文利用ASP.NETWeb应用作为WF宿主应用,为工程企业构建工程工作流管理系统。 系统的整体框架是在典型的三层框架中加上工作流引擎层,如图2所示的四层框架。 有四个层次:表现层采用基于ASP.NET的Web客户端,表现系统的用户界面业务逻辑层:实现包括市场经营管理、工程项目管理、设计流程管理、质量管理等功能在内的业务逻辑工作流引擎:包括WF定义、WF执行和WF监视,实现业务逻辑层各业务的流程定义、执行和监视数据访问层:实现对数据库的访问和操作,为其他三层提供数据服务。3.2工作流设计3.3系统开发的关键技术3.3.1永久化服务对于计算密集型技术、工作流技术,特别是人工工作流技术,大部分处理是等待的,因此对持久化提出了特殊要求。 工作流持久化对于将流程实例存储在数据库中并将其从内存中删除至关重要。 WF引擎主机层的SqlWorkflowPersistenceService服务类是持久性服务的核心。 您可以将流程实例保存到数据库,也可以从数据库加载。 进程实例处于空闲状态时,WF运行时将触发WorkflowRuntime.WorkflowIdled事件,主机程序检测到此事件时,事件处理器将触发WorkflowIn-stance的try unn3.3.2实现工作流调用正文的系统以ASP.NETWeb应用程序为主机。 在主机程序中调用工作流可能有两种情况(1)最初创建流程实例时,在ASP.NET页面上初始化作业。 密钥代码如下: workflowruntimeruntime=newworkflowruntime; /添加相应的服务runtime.StartRuntime启动工作流引擎workflowinstanceinstance=runtime.create workflow (type of (wf.checked ) ) instance.Start; /启动过程示例(2)如果主机程序中发生的事件触发了持久性进程实例,则必须重新加载该实例。 主要代码包括: workflowruntimeruntime=newworkflowruntime; guidworkflowid=new guid (tbno.text )/tbno.text用于获取要处理的工作流实例id runtime.get workflow (workflow id )。第二种情况是每个进程实例由于每个活动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论