《WF in 24 Hours》读书笔记 - Hour 1 - Understanding Windows Workflow Foundation
1.1 Hour 1 - Understanding Windows Workflow Foundation
1.1.1 What workflow is in general
- A workflow is logic-consisting of one or more steps that are predicated by one or more conditions-that a system or person must perform to complete a function. Because the logic or process automated by a workflow generally consists of more than one step that may occur over a period of time, it must track the state of the overall process. Here are some examples of workflows: an order process, an expense report, and rescheduling a missed meeting.
- In short, workflow consists of both logic and managing the process state.
- benefits:
- Design-time transparency
- State management
- Runtime transparency
1.1.2 What Windows Workflow Foundation (WF) is
1.1.3 The main components of WF one-by-one
- Standard Modeling Activities Activities are the unit of design and execution in WF. WF comes with a set of modeling constructs that it calls activities and a workflow designer. WF ships with approximately 30 activities. It calls these activities the Base Activity Library (BAL). The activities are largely segmented as follows: control flow activities, activities that facilitate data exchange between the workflow and the application running the workflow (a Windows Forms application, for example), one that permits arbitrary code to be written, and another group that supplies exception handling.
- control flow activities
- Sequence: a shell for other activities. It is equivalent to {}in C#. It is a block where activities may be added. A Sequenceactivity can hold a tree of activities.
- control flow activities
- While: loops while the condition associated with it remains true.
- IfElse: holds one or more branches that are each governed by a condition. The first branch to return trueis executed; no other branches are executed.
- Listen: allows two or more branches to be added that each wait for an external event.
- Parallel: executes two or more branches concurrently. TheParallel activity will wait
for all branches to complete before completing.
- Replicator: can process a number of elements specified at runtime and can do so in serial or parallel. It is similar to the C# foreach statement with the additional capability to process in parallel as well as sequentially.
- EventHandlingScope: is similar to a Listenactivity but it allows the events to be received multiple times.
- data exchange activities
- CallExternalMethod: is used to send data from the workflow to the application running the workflow (the host).
- HandleExternalEvent: allows data to be sent from the
host to the workflow.
- WebServiceOutput and WebServiceInput: expose a workflow as a web service
- InvokeWebService: call a web service from a workflow
- Send: is used to connect to a WCF endpoint (or any compatible endpoint) from a workflow.
- Receive: is used to expose a workflow as a WCF Service.
- Code: points to a handler with standard .NET code. It can be used to add custom functionality to a workflow, although in many cases it is better to use a custom activity.
- Multiple Workflow Styles
- ConditionedActivityGroup: can be placed on both sequential and state machine workflows.
- sequential workflows: are recommended for deterministic processes that have a well-defined beginning and end.
- State machine workflows: are best suited for dynamic processes that iterate through states without a guaranteed order.
- Data-driven workflows: are best suited when the data determines the process execution order.
- In essence, a state machine workflow is an inverse sequential workflow. The events are on top and the sequential logic embedded when using a state machine workflow. In a sequential workflow it is the opposite.
- Hosting
- WF is not a standalone application. WF is an engine that executes workflows on behalf of a host application. A Windows Forms, ASP.NET, Windows Service, or other Windows application starts the workflow engine running. The host application is then responsible for managing the life cycle of the workflow engine. The host application must remain active while workflows are running and communicate with the workflow engine. If the host application terminates while workflows are running, they will stop running. The host application needs to know the status of workflows the workflow engine is running on its behalf. It achieves this by subscribing to a number of events the workflow engine makes available to it. Three of the most common are completed,terminated, and idled.
- completed event: fired when a workflow completes processing successfully.
- terminated event: fired when the workflow completes unsuccessfully.
- idled event: the workflow is not complete but inactive.
1.1.4 Installation instructions and requirements
《WF in 24 Hours》读书笔记 - Hour 1 - Understanding Windows Workflow Foundation的更多相关文章
- 《Sams Teach Yourself Windows® Workflow Foundation in 24 Hours》读书笔记目录
目录 1 Part I - The Basics 1.1 Hour 1 - Understanding Windows Workflow Foundation 1.2 Hour 2 - A Spin ...
- 2015.04.24,外语,读书笔记-《Word Power Made Easy》 12 “如何奉承朋友” SESSION 34
1.no fatigue indefatigable([indi'fætigәb(ә)l] adj. 不知疲倦的)来自faigue,in-是反义词缀:后缀-able表示able to be,因此ind ...
- Windows环境下多线程编程原理与应用读书笔记(3)————Windows环境中的多线程实现(3)
纤程 纤程(fiber): 相当于用户级别的线程或轻进程.纤程由Win32库函数支持,对核心是不可见的.纤程可以通过SwitchToFiber显示至另一合作纤程,以实现合作纤程之间的协同.线程是在Wi ...
- 读书笔记 Week6 2018-4-12
Chap 24 重构 读书笔记 一.需求的变更 单纯就科目学习中的小项目来说,目标在一开始便被明确下来,即可定义一份严谨的列表来描述功能.故在原来的编程经历中,只要上交了程序便一切都没事儿了,也没有重 ...
- 《WF in 24 Hours》读书笔记 - Hour 3(1) - Workflow:添加宿主和事件监听
1. 创建项目组,并添加一个Console Project和Activity Library,在Activity Library的项目中添加CodeActivity1和CodeActivity2,最终 ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- 《3D Math Primer for Graphics and Game Development》读书笔记1
<3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...
- 《如何在大学里脱颖而出(How to Win at College)》读书笔记
<如何在大学里脱颖而出(How to Win at College)>读书笔记 图书简介 中文版: 英文版: 作者卡尔·纽波特(Cal Newport)于 2004 年6月以优等生荣誉学会 ...
随机推荐
- oracle多语言环境下to_date时间转换问题
现象:在多语言环境下使用过oracle的同学想必都遇到过这样一个问题, date_v date; date_v := to_date('2010/11/16');--或'2010/11/16' 同一个 ...
- 393 UTF-8 Validation UTF-8 编码验证
详见:https://leetcode.com/problems/utf-8-validation/description/ C++: class Solution { public: bool va ...
- 实现div左右上下都居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- es6 export-from用法
语法: export * from "foo"; export {foo} from "foo"; export {foo, bar} from "f ...
- Elasticsearch--建议器
目录 可用的建议器类型 term建议器 term建议器的配置选项 phrase建议器 completion建议器 在考虑性能的情况下,允许用户的拼写错误,以及构建一个自动完成功能 可用的建议器类型 t ...
- Android基础TOP5_2:MultiAutoCompleteTextView多文本自动补全文本框
Activity: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln ...
- 在中间层 .NET 应用程序中通过授权管理器使用基于角色的安全
基于角色的安全是从 Windows NT 的第一个版本开始在 Windows 平台上发展而来的.使用角色,操作系统可以通过检查称为 BUILTIN\Administrators 的组的安全上下文做出一 ...
- shell编程中一个空格引起的异常
最近使用shell编写一个备份和替换f服务器程序的脚本replace.sh,初衷是为了节约人力的重复机械的劳动.在脚本编写过程中,由于疏忽多打了一个空格,出现了一个不符合预期的情况. 1.先看一下出问 ...
- MFC_1.1 基本知识
如何创建一个MFC项目 选择 MFC 应用程序进行创建,不要使用非英文名 选择对话框风格进行编写 可以通过自定义的设置修改类名 MFC 的基本知识 MFC 是纯面向对象的编程,是 SDK 经过 C++ ...
- 通过acdbblockreference 获得块名
AcDbBlockReference *pBlkRef = AcDbBlockReference::cast(ent.object()); AcDbObjectId pBlkTblRecId; ...