《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月以优等生荣誉学会 ...
随机推荐
- 内联标签------------大多数XHTML可以表示为两种类型的标签:块标签(block tag)和内联标签(inline tag)
内联标签 <em> 强调,大部分浏览器渲染为斜体. <strong> 强调,大部分浏览器渲染为黑体. <sub> 下标 <sup> 上标 内联标签通常用 ...
- 239 Sliding Window Maximum 滑动窗口最大值
给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口 k 内的数字.滑动窗口每次只向右移动一位.例如,给定 nums = [1,3,-1,-3, ...
- php-5.3源码编译autoconf版本不符合解法
1. 网上下载符合版本的autoconf 2. 卸载本地原本的autoconf 3. 解压autoconf 后进入目录 ./configure && make && s ...
- 卸载掉原有mysql
[root@xiaoluo ~]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 有的话,我们就通过 rpm -e 命令 或者 rpm - ...
- POSIX多线程—概述
作者:阿波链接:http://blog.csdn.net/livelylittlefish/article/details/7918110 (整半年没有更新,发几篇以前的读书笔记.) Content ...
- vs 2017 清空 打开项目的历史记录
- docker在ubuntu16.04下的安装及阿里云镜像的配置
1.获取最新版本的 Docker 安装包 anmin@ubuntu:~$ wget -qO- https://get.docker.com/ | sh 安装完成后有个提示: If you would ...
- Uploadify上传大文件
一丶参考地址 <script type="text/javascript"> var auth = "@(Request.Cookies[FormsAuthe ...
- js 动态加载select触发事件
动态加载select后,手动调用一下 subjectChange函数,模拟触发change事件 function hallidChange(value) { $.ajax({ type: " ...
- Java基础——二分法
BinarySearch 二分法查找,顾名思义就是要将数据每次都分成两份然后再去找到你想要的数据,我们可以这样去想,二分法查找很类似与我们平时玩的猜价格游戏,当你报出一个价格时裁判会告诉你价格相对于真 ...