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:
    1. Design-time transparency
    2. State management
    3. 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.
    1. control flow activities
      1. 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.
  1. While: loops while the condition associated with it remains true.
  1. 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.
  1. Listen: allows two or more branches to be added that each wait for an external event.
  2. Parallel: executes two or more branches concurrently. TheParallel activity will wait

for all branches to complete before completing.

  1. 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.
  1. EventHandlingScope: is similar to a Listenactivity but it allows the events to be received multiple times.
  1. data exchange activities
    1. CallExternalMethod: is used to send data from the workflow to the application running the workflow (the host).
    2. HandleExternalEvent: allows data to be sent from the

host to the workflow.

  1. WebServiceOutput and WebServiceInput: expose a workflow as a web service
  1. InvokeWebService: call a web service from a workflow
  2. Send: is used to connect to a WCF endpoint (or any compatible endpoint) from a workflow.
  3. Receive: is used to expose a workflow as a WCF Service.
  4. 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.
  1. Multiple Workflow Styles
    1. ConditionedActivityGroup: can be placed on both sequential and state machine workflows.
  1. sequential workflows: are recommended for deterministic processes that have a well-defined beginning and end.
  2. State machine workflows: are best suited for dynamic processes that iterate through states without a guaranteed order.
  1. Data-driven workflows: are best suited when the data determines the process execution order.
  2. 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.
  1. 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.
  1. completed event: fired when a workflow completes processing successfully.
  2. terminated event: fired when the workflow completes unsuccessfully.
  3. 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的更多相关文章

  1. 《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 ...

  2. 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 ...

  3. Windows环境下多线程编程原理与应用读书笔记(3)————Windows环境中的多线程实现(3)

    纤程 纤程(fiber): 相当于用户级别的线程或轻进程.纤程由Win32库函数支持,对核心是不可见的.纤程可以通过SwitchToFiber显示至另一合作纤程,以实现合作纤程之间的协同.线程是在Wi ...

  4. 读书笔记 Week6 2018-4-12

    Chap 24 重构 读书笔记 一.需求的变更 单纯就科目学习中的小项目来说,目标在一开始便被明确下来,即可定义一份严谨的列表来描述功能.故在原来的编程经历中,只要上交了程序便一切都没事儿了,也没有重 ...

  5. 《WF in 24 Hours》读书笔记 - Hour 3(1) - Workflow:添加宿主和事件监听

    1. 创建项目组,并添加一个Console Project和Activity Library,在Activity Library的项目中添加CodeActivity1和CodeActivity2,最终 ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  8. 《3D Math Primer for Graphics and Game Development》读书笔记1

    <3D Math Primer for Graphics and Game Development>读书笔记1 本文是<3D Math Primer for Graphics and ...

  9. 《如何在大学里脱颖而出(How to Win at College)》读书笔记

    <如何在大学里脱颖而出(How to Win at College)>读书笔记 图书简介 中文版: 英文版: 作者卡尔·纽波特(Cal Newport)于 2004 年6月以优等生荣誉学会 ...

随机推荐

  1. tns no listener

    ip 应该为192.168 实际上是 196.168

  2. Linq 内连接和外连接(转载)

    一.内连接 Model1Container model = new Model1Container(); //内连接 var query = from s in model.Student join ...

  3. ORACLE批量绑定FORALL与BULK COLLECT

    FORALL与BULK COLLECT的使用方法: 1.使用FORALL比FOR效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换. 2.使用BLUK COLLECT一次取出一 ...

  4. 297 Serialize and Deserialize Binary Tree 二叉树的序列化与反序列化

    序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据.请设计一个算法来实现二叉树 ...

  5. Git学习笔记(2)-初探Git

    1.创建版本库 (1)设置Git的配置变量.这些设置会在全局文件(.gitconfig)或系统文件(/etc/gitconfig)中做永久记录 $ git config --global user.n ...

  6. Git学习笔记(2)-创建仓库

    一.Git简介 1.Git是什么 Git是分布式版本控制系统 2.Git有什么特点 (1)Git是分布式的SCM,SVN是集中式的 (2)Git每个历史版本存储完整的文件,SVN存储文件差异 (3)G ...

  7. python--12、数据库进阶

    SQL语句关键词: #再次不做过多介绍 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及. #示例中department为部门表 ...

  8. viewpager滑动时页面不能刷新

    有一种解决方法就是覆盖PagerAdapter中的getItemPosition()方法,这种方案虽然简单,但是因为这种方法是让每次呼叫PagerAdapter时,都会遍历childView,通过ge ...

  9. treetable adding nodes at root level

    describe("loadBranch()", function() {     beforeEach(function() {     this.newRows = " ...

  10. POJ_1088_(dp)(记忆化搜索)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 95792   Accepted: 36322 Description ...