Windows Workflow Foundation

在 2006 年 1 月号中,Don Box 和 Dharma Shukla 介绍了 Windows Workflow Foundation,并讨论了框架的整体体系结构及其构成组件(请参阅 WinFX Workflow:Simplify Development With The Declarative Model Of Windows Workflow Foundation [英文])。这篇文章促使我想进一步讨论这个主题,并介绍如何使用 Windows Workflow Foundation 来处理自动进程与人工活动贯穿相交的这种常见业务方案。它为开发和执行基于复杂过程的多种应用程序提供了框架。典型示例包括文档管理应用程序、企业对企业应用程序和企业对消费者应用程序。用户可以使用 Visual Studio 2005 帮助设计基础工作流以及有关的顶级应用程序和程序集。

常见业务方案

对于订单处理、采购申请、差旅费用之类的任务,各组织通常会设有许多内部进程。工作流使这些独立进程以透明、动态、有效的方式按顺序进行。

让我们看一个典型的技术支持工作流进程。在技术支持人员接到客户电话,并开立记录客户姓名、来电时间和问题简要说明的票证时,进程即算开始。创建票证之后,该技术支持人员会将这件事放在一边,并等待其他来电。下班时,他将注销计算机,然后回家。此时,在另一个部门中(可能位于其他城市),一组技术人员正专注解决这些未解决的问题。每个工作的技术人员要选取申请,然后解决该申请或将该申请升级到第二级帮助。如何编写代码来实现此进程?

可以使用 Windows 窗体应用程序来收集电话的相关输入数据,并在数据库中创建一个记录:即包含时间、说明、状态和唯一 ID 的票证。第二个 Windows 窗体应用程序的用户将看到待处理申请的实时列表,然后选取一个申请。然后,接线员将尽量解决问题(回电给客户、检索申请的信息、发送电子邮件或执行一些远程活动),并指明问题是已解决还是需要进一步研究。此决策可由一个命令性操作表示,例如单击某个按钮更新同一基础数据库中的票证。最后,如果还涉及其他类别的用户,自定义前端将使这些用户能够指明问题已成功关闭或中止。

尽管此过程明确地表达了工作流需要用户进行某些决策,但可以使用以标准编程语言和数据库编写的传统顺序代码轻松实现。

应用 Windows Workflow Foundation

如果用户具备由各活动组成的基于工作流的系统(如 Windows Workflow Foundation),则可利用命令性代码和声明性活动地图的强大组合以及绑定它们的声明性规则来实现应用程序。主要好处在于用户可以为解决方案建模(甚至以直观方式建模),将 Windows Workflow 嵌入运行时服务器来解释图表,并使 Windows Workflow 遵循在创建块中定义的链接。进程越复杂,为其设计和实现的流程就越简单。进程动态更改越容易,用户需要编写和维护的代码数量就越少。让我们了解一下如何实现技术支持方案的 Windows Workflow Foundation 解决方案。

技术支持解决方案

通过创建票证,创建的技术支持工作流程即开始,然后在等待连接用户或技术人员给予响应时停止。无论票证是关闭还是升级,工作流都将获得外部事件,并更新应用程序的内部状态以跟踪该事件。因此,工作流需要与外界进行交互。这类异步活动是 Windows Workflow Foundation 解决的实际工作流进程的固有问题之一。因为需要与系统外部的实体进行交互,所以宿主应用程序和工作流可以定义约定,以进行任何必要的数据交换。此处显示的 IHelpDeskService 接口说明了在工作流及其宿主之间建立的通信接口:

[DataExchangeService]
public interface IHelpDeskService
{
event EventHandler<HelpDeskTicketEventArgs> TicketClosed;
event EventHandler<HelpDeskTicketEventArgs> TicketEscalated;
void CreateTicket(
string description, string userRef, string createdBy);
void CloseTicket(string ticketID);
void EscalateTicket(string ticketID);
}

时间: 2025-01-21 05:37:15

Windows Workflow Foundation的相关文章

Windows Workflow Foundation中的跟踪服务

目录 跟踪体系结构 跟踪配置文件 SQL 跟踪服务 查询跟踪数据 自定义跟踪服务 Windows Workflow Foundation 中最强大的功能之一是跟踪.它使您能够监控事件.活动属性以及您的工作流中的自定义数据.在本专栏中,我将检查跟踪基础结构.向您介绍如何使用内置的基于 SQL Server 的跟踪服务以及如何为各种应用创建自定义跟踪服务.顺着这一思路,我将演示如何使用所跟踪的信息以及如何通过使用跟踪来满足一些常见的需求. 许多应用程序需要了解程序逻辑和处理步骤的执行.这有助于企业遵

Windows Workflow Foundation 是工作流吗

问题描述 WindowsWorkflowFoundation是工作流吗??? 解决方案 解决方案二:是.net3.0里带的工作流引擎,只是"引擎",具体的工作流程需要你自己开发.解决方案三:是一个可扩展框架,用于在Windows平台上开发工作流解决方案.工作流指的是以活动示意图形式定义的人力或系统过程模型.解决方案四:可以使用在web的程序上吗???????????????解决方案五:up解决方案六:该回复于2007-12-04 11:20:57被版主删除

在Windows workflow里实现人工活动

虽然Windows workflow是实施业务流程处理的一个优秀框架,但它却缺乏对人工活动的直接支持. 微软虽然发布了几种方法来解决这个问题,但这些方法却显得不够通用.本文将定义一种完全通用的方法,在WF中实现对人工活动的支持. 支持人工交互的复杂性带来众多的挑战,如下所列,可见一斑: 用户的响应时间(用户活动的执行时间)是不可预知的. 当请求发生的时候用户可以不连接到系统,因此需要存储请求,并当用户登录到系统之时提交给用户. 在不同的机器上可以有多个同时运行的工作流程.但是用户通常需要一个所有

Windows Workflow: 构建自定义活动以扩展您的工作流的作用范围

本文基于 .NET Framework 3.0 的预发布版本撰写而成.文中包含的所有信息均有变更可能. 本文讨论: 构建基本活动和复合活动 异步和基于事件的活动 自定义设计体验 验证和错误处理 本文使用了以下技术: .NET Framework 3.0 自定义工作流 活动是 Windows Workflow Foundation 的其中一个最重要的方面,在构建它们时需要考虑许多功能 .Don Box 和 Dharma Shukla 在他们于 2006 年 1 月撰写的文章"使用 Windows

WPF : 自定义Windows Presentation Foundation的控件

虽然 Windows Presentation Foundation 中的控件模型非常多,但仍不可能提供需要的每一种控件.这时候,控件编写就派上用场了.在本文中,我将向您讲述如何使用 Windows Presentation Foundation 自定义现有控件,以及如何为您的项目创建全新的控件(或元素). 在开发一个自定义控件之前,应该先问问自己是否真的需要它.在 Windows Presentation Foundation 中,组合.样式和模板化功能使您可以自定义现有控件,这是以前的技术所

WPF(Windows Presentation Foundation)

WPF(Windows Presentation Foundation)是Microsoft用于Windows的新一代显示系统: WPF统一了Windows创建.显示.操作文档.媒体和用户界面 (UI) 的方式,使开发人员和设计人员可以创建更好的视觉效果和不同的用户体验,带给用户震撼视觉体验的Windows客户端应用程序. WPF是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面.2D/3D 图形.文档和媒体提供了统一的描述和操作方法.基于DirectX 9/10

求助.net3安装失败,错误日志DepCheck indicates Windows Communication Foundation is not insta

问题描述 操作系统windowsserver2003,刚装的系统,.net2.0可以正常安装,安装.net3.0失败,提示DepCheckindicatesWindowsCommunicationFoundationisnotinstalled.,网上各net种方法都试过还是不行,注册表IE下的Mian以允许完全控制,也用.net清理工具完全清理过了,还是装不上,求助 解决方案 解决方案二:WindowsCommunicationFoundation简称WCF,是随.net3.0发布的.提示的它

并发操作Windows Vista新增的同步原语

本文讨论: 条件变量 Slim 读取器锁/写入器锁 一次性初始化 仔细查过锁定 本文使用了以下技术: Windows Vista, C++ 目录 条件变量 Slim 读取器锁/写入器锁 一次性初始化 结束语 Windows Vista 附带了一系列面向开发人员的令人振奋的新技术,包括 Windows Presentation Foundation.Windows Communication Foundation 和 Windows Workflow Foundation.事实上,Windows

Windows Server 2008开发指南

透过Windows Server 2008开发指南看到微软服务器系统家族的进步,Windows Server操作系统的市场占有率在逐年上升,这和微软IIS服务器的进步.安全稳定性提升有着密不可分的联系.今天Vista地带帮助大家解析Windows Server 2008 Developer Story . 一.Win2008最重要的变革要数它的核心服务 IIS Internet信息服务器.与上一代Windows Server2003的IIS6相比,IIS7有着什么样的进步呢? 1.增强的安全性和