WF 4.0 beta1的跟踪配置
上周我们介绍了WF 4.0 beta1中的跟踪机制。本文将继续深入介绍跟踪配置,并会解释如何使用它们来灵活地跟踪工作流的执行过程。
上周我们介绍了WF 4.0 beta1中的跟踪机制。本文将继续深入介绍跟踪配置,并会解释如何使用它们来灵活地跟踪工作流的执行过程。
本文接着来介绍一下WF 4.0 beta1的其他几个活动分类:Flowchart、Messaging、PowerShell和Migration。
相比于WF 3.5,WF 4.0 beta1提供了大量开箱即用的活动,我们可以使用这些活动来创作工作流或者创建自定义活动。本文将会对这些活动做一个简单快速的概览,并介绍它们的关键特性。 活动是工作流程序的工作单元。在WF 4.0中,活动由签名和正文组成。签名是活动的公共参数的术语化定义,这些公共参数定义了活动的输入和输出数据流。而正文则是指活动的执行逻辑,此逻辑可以用其他活动声明性地表示,也可以通过代码来表示。 下面按照WF 4.0 beta1在Visual Studio 2010工具栏中的分类来简单地介绍一下这些内置活动。
微软终于发布了Visual Studio 2010 beta1,而在这个版本中,WF也终于以崭新的面貌出现,并且让我们大吃一惊。
MSDN发布了名为《Workflow Scalability and Performance in Windows SharePoint Services 3.0》的白皮书。
今年的MVP Open Day和PDC的课程都介绍了WF 4.0的变化。在Tech Ed 2008北京分会场听了WF 4.0的课程并参加了相关动手实验后,发现WF 4.0的变化并不仅仅是升级那么简单,下面我就简单的讲一下关于WF4.0新特性的感受吧。
虽然没有机会亲自参加在洛杉矶举办的PDC 2008(微软专业开发人员大会),不过大会的210个Sessions都可以从下载或者在线观看了。
SQL持久化和跟踪服务分别为工作流状态和跟踪信息提供了持久的存储。但是,它们并没有一起工作。具体来说,每个服务都会使用不同的数据库连接来进行操作。工作流Runtime也因此会使用多个数据库连接。如果跟踪服务开启了事务支持,则会导致额外的开销出现。当事务跨越多个连接时,微软分布式事务协调程序(Microsoft Distributed Transaction Coordinator,MSDTC)会接受事务的管理。MSDTC也会造成一些开销。WF为同时使用了SQL持久化和SQL跟踪服务的应用程序提供了优化方案:SharedConnectionWorkflowCommitWorkBatchService类。这个服务允许两个SQL服务共享一个连接(前提是这两个SQL服务的连接字符串是相同的)。
Windows Workflow 提供了可扩展可收缩的跟踪功能来捕捉和记录工作流的执行信息。对于接收到的工作流信息,跟踪服务会使用跟踪配置(tracking profile)来进行筛选。WF Runtime可以发送许多信息,包括工作流事件、活动状态更改、规则判断和我们的自定义检测数据(custom instrumentation data)。跟踪服务有能力决定如何处理接收到的数据,可以把它们记录到日志文件里,也可以保存到数据库中。跟踪服务会参与到工作流Runtime中来,以确保它记录的信息是一致并且持久的。
工作流在长时间运行时难免会遇到一些问题,许多业务逻辑需要花费数日、数周乃至数月。在这段时间中,我们不能让工作流实例一直驻留在内存中(比如,我们需要一份开支报告,而不巧的是对此负责的会计师却在西班牙海滩休假,怎么办呢?)。在Windows Workflow中,可以通过持久化服务来解决长时间运行的工作流可能遇到的问题。