最近一直在学习工作流,初步还是停留在概念上的学习,这些资料当然也是来自互联网上,来自于自己读别人的blog上。
希望一些牛人能给我这个入门小菜鸟一些好的指示!
工作流和业务流程管理(BPM)的关系:
术语“工作流”通常描述人与计算机系统的一系列相关交互。工作流多半局限于技术领域。
业务流程管理,从管理人员的角度涉及了非技术问题,比如分析、组织的效率。
流程定义的四个层次:
什么是流程定义包括的内容。一个流程应该包含了什么内容,流程在业务中的意义。是一个业务的体现?还是others?
流程定义可划分为四个不同的层次:状态(State)、上下文(Context)、程序逻辑(Programming logic)和用户界面(UI)
【控制流】:程序中的命令、if语句、switch语句和循环语句等确定。其定义了必须被执行的指令顺序。业务流程使用状态作为基本元素。
状态层(State Layer)
所有状态和控制流的表述,都属于业务流程的状态层。
在流程中,状态 (或者说等待状态)代表了一种对外部参与者(actor)的依赖。状态的意思就像“现在X系统或某某人必须作某些事,在此等待直到参与者通知这些任务已完成”。
流程定义的控制流包含一组状态和它们之间的关系。状态之间的逻辑关系描述了哪些执行路径可以同时执行,那些不可以。
同步执行路径用分叉(forks)和联合(joins)建模,异步执行路径用判断(decisions)和合并( merges)建模。
UML活动图经常被用来做业务流程建模。作为一种直观和通用的表达,活动图在图形表述上有一个主要问题,就是没有区分状态和动作,它们都用活动来表示。【概念上的含糊不准确,容易误导理解,有可能对开发造成干扰】
在流程运行过程中,工作流系统用一个令牌(token)作为指针跟踪流程的状态。【token相当于程序计数器】
【有限状态机 Finite State Machine】:
有限状态机(FSM)或有限状态自动机或简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型.
可以这样理解,系统的行为如果在不同的时间(环境)下,其工作不同,并且行为可以分成所谓的有限的状态以及不重叠的程序块时,系统显现出了状态行为。
FSM肯定体现两点:首先是离散的,然后是有限的。
State:
状态这个词有些难以定义,状态存储关于过去的信息,就是说它反映从系统开始到现在时
刻的输入变化。
OSWorkFlow核心概念:
步骤(Step):
一个 Step 描述的是工作流所处的位置。可能从一个 Step Transtion(流转)到另外一个 Step,或者也可以在同一个 Step 内流转(因为 Step 可以通 Status 来细分,形成多个State)。一个流程里面可以多个Step。
状态(Status):
工作流 Status是用来描述工作流程中具体Step(步骤)状态的字符串。OSWorkflow 的有 Underway(进行中)、Queued(等候处理中)、Finished(完成)三种 Status。一个实际 State(状态)真正是由两部分组成:State = (Step + Status) 。
流转(Transtion):
一个State到另一个State的转移。
动作(Action):
Action 触发了发生在 Step 内或 Step 间的流转,或者说是基于 State 的流转。一个 step 里面可以有多个Action。Action 和Step 之间的关系是,Step 说明“在哪里”,Action 说明“去哪里”。 一个 Action 典型地由两部分组成:可以执行此Action(动作)的Condition(条件),以及执行此动作后的 Result(结果)。
条件(Condition):
类似于逻辑判断,可包含“AND”和“OR”逻辑。比如一个请假流程中的“本部门审批阶段”,该阶段利用“AND”逻辑,判断流程状态是否为等候处理中,以及审批者是否为本部门主管。
结果(Result):
Result 代表执行Action(动作)后的结果,指向新的 Step 及其 Step Status,也可能进入 Split 或者 Join。
Result 分为两种, Contidional-Result (有条件结果),只有条件为真时才使用该结果,和 Unconditional- Result(无条件结果),当条件不满足或没有条件时使用该结果。
分离/连接(Split/Join):
流程的切分和融合。很简单的概念,Split 可以提供多个 Result(结果);Join 则判断多个 Current Step 的态提供一个 Result(结果)。
分享到:
相关推荐
- **通过查询将表与工作流关联**:了解如何利用查询来连接数据表和工作流。 - **创建新的工作流类型**:掌握新建工作流类型的方法。 - **将工作流应用于表单**:学会将工作流应用到具体的表单中。 - **定义工作流被...
流动图书馆是一个图书漂流和借阅工具,旨在共享闲置图书,并...三个人的小团队,因为兴趣结在一起,利用工作之余的时间完成自己喜欢的事情真的是一件令人十分有成就感的事情。有兴趣的可以看源码小程序前端小程序后端
出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -----------------------------------------------...
出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -----------------------------------------------...
出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -----------------------------------------------...
出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -----------------------------------------------...
出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -----------------------------------------------...
出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -----------------------------------------------...
- **小结:** - 实现了对多个LED灯的独立控制,加深了对单片机I/O口的理解。 **2.3 同时点亮多个LED灯** - **实例程序分析:** - 通过向某个端口发送特定的值来同时控制多个LED的状态,例如通过向P1端口发送0x00...
6.1.7 SSMS小结 132 6.2 小结 132 第7章 用BIDS设计OLAP多维数据集 133 7.1 使用BIDS 133 7.2 在“解决方案资源管理器”中工作 135 7.2.1 Analysis Services中的数据源 137 7.2.2 数据源视图 139 7.2.3 Analysis ...
### 软件测试知识小结 #### 测试理论知识 **什么是软件测试?** 软件测试是为了寻找软件中的错误而运行软件的过程。一个成功的测试意味着发现了迄今为止尚未发现的错误。软件测试的根本目的是发现软件缺陷、提升...
基本事件流是正常流程,备选事件流则涵盖异常或错误情况。场景的构建可以帮助我们更全面地模拟真实用户的行为,发现流程中的问题。 下周的课程将会转向白盒测试,这是与黑盒测试相对的方法,侧重于对代码结构的理解...
出版日期:2008-1-1 ISBN:9787115167699 字数:1046000 页码:587 -------------------------------------------------------------------------------- 无论是正在为小团队管理一个项目,还是监督一个数百人的协作...
**1.4 小结** - 通过本章的学习,我们了解到了.NET平台的意义以及C#语言的基础特性,为后续深入学习打下了坚实的基础。 ##### 第二章:运行环境 - **2.1 .NET结构** - .NET框架由公共语言运行时(CLR)和.NET...
**5.7 小结** - **概述:** 总结了各种通信协议的特点及其适用场景。 - **学习要点:** - 比较不同网络协议的优势和劣势。 - 掌握选择合适的网络协议的方法。 #### 六、Berkeley套接字 **6.1 引言** - **概述:*...
出版日期:2008-1-1 ISBN:9787115167699 字数:1046000 页码:587 -------------------------------------------------------------------------------- 无论是正在为小团队管理一个项目,还是监督一个数百人的协作...
以上是对《自己动手写网络爬虫》相关内容的知识点总结,涵盖了搜索引擎的基础概念、核心技术、数据获取、文档内容提取、自然语言处理以及索引库的创建和用户界面的设计等多个方面,旨在帮助读者全面了解并掌握构建一...
出版日期:2008-1-1 ISBN:9787115167699 字数:1046000 页码:587 -------------------------------------------------------------------------------- 无论是正在为小团队管理一个项目,还是监督一个数百人的协作...