【术语科普】关于集成工作台那些难懂的词儿,看这篇秒懂!
关于华为云开天集成工作台,有很多疑问?
什么是流?什么是工作流、业务流、集成流?什么是流处理、流编排……
这么多问号,头都要大了?!
别急,往下看,关于流程模式那些难懂的词儿,在这儿全搞懂!
流程(Process)
流程图(Flowchart)
1.流程(基本流程)图,又称程序框图,是算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。
2.流程图大都有2种符号:①步骤,通常称作“活动”,常以长方形来表示;②决定,常以钻石形来表示。
控制流程(Control Flow)
1.控制流程(也称为流程控制)是电脑运算领域的用语,意指在程序执行时,个别的指令(或是陈述、子程序)执行或求值的顺序。
2.编程语言所提供的流程控制指令一般可以分为以下几种:
- 继续执行位在不同位置的一段指令(无条件分支指令)。
- 若特定条件成立时,执行一段指令,例如C语言的switch指令,是一种有条件分支指令。
- 执行一段指令若干次,直到特定条件成立为止,例如C语言的for指令,仍然可视为一种有条件分支指令。
- 执行位在不同位置的一段指令,但完成后会继续执行原来要执行的指令,包括子程序、协程(coroutine)及计算续体(continuation)。
- 停止程序,不执行任何指令(无条件的终止)。
控制流图(Control Flow Chart)
利用数学中图的表示方式,标示计算机程序执行过程中所经过的所有路径。控制流图中的每个顶点都对应一个程式基本块,也就是一段没有分支指令、也没有分支目的的程式码,基本块的开始是分支目的,而基本块会以分支为结束。控制流程中会用有向边来表示分支。
工作流(Workflow)
工作流是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。
工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence of operations, the work of a person or group, the work of an organization of staff, or one or more simple or complex mechanisms.
业务流程(Business Process)
“一系列结构化的、可度量的活动,设计它的目标是为特定客户或市场产生规定的输出。”
“一种活动的集合,具有一种或多种输入和确定的输出,这些输出对客户产生价值。”
“业务过程是为产生产品或服务而设计的一系列步骤。多数的过程(……)跨越职能,贯穿组织机构图上矩形之间的空白。一些过程的结果是由组织外的客户所接受的产品或服务,称为主要过程;另一些过程的产出不为外部客户所见,但是有效管理所必须的,称为支持过程。”
“互相连接的活动集合,它们将输入转换为输出。理想情况下,在过程中发生的转换将为输入增加价值,并形成对接受者更有效用的输出,无论接受者处于上游还下游。”
- 可界定性:必须清晰地定义其边界、输入和输出。
- 顺序:构成过程的活动,必须在时间和空间里具有确定的顺序。
- 客户:过程的结果必须有接收者——客户。
- 增值:在过程中发生的转换必须为接收者增加价值,无论接收者是在过程的上游还是下游。
- 嵌入性:过程不能自己单独存在,它必定嵌入在组织结构中。
- 跨越职能:过程通常但非必须跨越多个职能。
“业务过程”的意义更一般化,学术讨论中使用较多;“业务流程”的意义更具体,更倾向于指称具体的活动与任务的流,使用上更大众化。
业务流程模型和标记法(BPMN, Business Process Model and Notation)
最初由业务流程管理倡议组织(BPMI, Business Process Management Initiative)开发,名称为"Business Process Modeling Notation",即“业务流程建模标记法”。BPMI于2005年与对象管理组织(OMG, Object Management Group)合并。2011年1月OMG发布2.0版本,同时改为现在的名称。BPMN的目标是,通过提供一套既符合业务人员直观又能表现复杂流程语义的标记法,同时为技术人员和业务人员从事业务流程管理提供支持。
四种基本要素:
- 流对象(Flow Object): 事件(Events),活动(Activities),网关(Gateways)
- 连接对象(Connecting Objects): 顺序流(Sequence Flow),消息流(Message Flow),关联(Association)
- 泳道(Swimlanes): 池(Pool),道(Lane)
- 器物(Artifacts/Artefacts): 数据对象(Data Object),组(Group),注释(Annotation)
数据流、数据流程图(Data Flow Diagram)
1. 数据流或数据流程是一种软件范式,该范式的主要思想是把处理过程划分为可并行执行的子阶段(流水线),数据流又可以称为流处理(Stream Process)或反应式编程(Reactive Programming)。
2. 数据流图或数据流程图。数据流图是描述系统中数据流程的一种图形工具,它标志了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换逻辑输出所需的加工处理。
3. 数据流图不是传统的流程图,数据流也不是控制流。数据流图是从数据的角度来描述一个系统。
数据流程编程(Dataflow Programming)
数据流程编程是一种编程范式,它将程序建模为数据在运算(Operation)之间流动的有向图,从而实现了数据流程原理和架构。
- 数据流程编程语言,共享了纯函数式语言的某些特征,比如单赋值,并且开发它们的动因,通常是为了向更适合数值处理的语言,增加函数式编程概念。
- 传统上,程序被建模为,按照特定次序发生的一系列运算;这称为指令式编程,这种编程方式也叫做顺序式、过程式、控制流程(意指程序选择某个特定路径)。程序聚焦于命令,符合于冯·诺伊曼的顺序式编程愿景,而数据通常是“静止的”(在上下文)。
- 与之相对,数据流程编程强调了数据的流动(输入输出),并将程序建模为一系列的连接。显式的定义输入和输出的连接运算,它的功能类似于黑箱。一个运算在它的所有输入成为有效时立即运行。因此,数据流程语言是天然并行的,并可在大型的、去中心化的系统上运作。
流处理(Stream Processing)
流处理(Stream Processing)是一种计算机编程范型,相当于数据流程编程,事件流处理,和反应式编程,其允许一些应用更容易地利用了有限形式的并发处理。这些应用程序可以使用多个计算单元,而无需明确管理这些单元之间的分配,同步或通信。
流处理通过限制可执行的并发计算来简化并发软件和硬件。给定一个数据序列(流处理),一系列操作(内核函数)被应用到流中的每个元素。
基于流程编程(Flow Based Programming)
基于流程(flow-based)的编程,缩写为FBP,是一种编程范型,它将应用定义为黑箱进程的网络,它们经过预先定义的连接,通过消息传递来交换数据,而这里的连接是在“外部”指定给进程的。这些黑箱进程不需要更改内部,就可以无尽的重新连接而形成不同的应用。FBP因而是天然基于构件的。
FBP是一种特殊形式的数据流程编程,它基于了有界缓冲区,带有确定生存时间的信息包,命名端口,和独立的连接的定义。端口向FBP提供了构件重用功能,使得FBP成为基于构件的架构。
集成流(Integration Flow)
数据流的一种,用于企业集成的场景,聚焦于企业应用间集成。企业集成架构模式定义了一组可复用组件,支持灵活连接组装为目标企业应用集成流程。集成流强调从源应用(EndPoint)触发(Construct),经过中间处理(Channel、Routing、Transformation),送达目的应用(Endpoint),是在企业集成领域总结出的架构范式。
资料来源:
[1]https://baike.baidu.com/item/%E6%B5%81%E7%A8%8B/31013?fr=aladdin
[2]https://zh.wikipedia.org/wiki/%E6%B5%81%E7%A8%8B%E5%9B%BE
[3]https://zh.wikipedia.org/wiki/%E6%8E%A7%E5%88%B6%E6%B5%81%E7%A8%8B
[4]https://zh.wikipedia.org/wiki/%E6%8E%A7%E5%88%B6%E6%B5%81%E7%A8%8B
[5]https://zh.wikipedia.org/wiki/%E5%B7%A5%E4%BD%9C%E6%B5%81%E6%8A%80%E6%9C%AF
[6]https://en.wikipedia.org/wiki/Workflow
[7]https://zh.wikipedia.org/wiki/%E4%B8%9A%E5%8A%A1%E8%BF%87%E7%A8%8B
[8]https://zh.wikipedia.org/wiki/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B%E6%A8%A1%E5%9E%8B%E5%92%8C%E6%A0%87%E8%AE%B0%E6%B3%95
[9]https://zh.wikipedia.org/wiki/%E8%B3%87%E6%96%99%E6%B5%81%E7%A8%8B%E5%9C%96
[10]https://zh.wikipedia.org/wiki/%E6%95%B0%E6%8D%AE%E6%B5%81%E7%A8%8B%E7%BC%96%E7%A8%8B
[11]https://zh.wikipedia.org/wiki/%E4%B8%B2%E6%B5%81%E8%99%95%E7%90%86
[12]https://zh.wikipedia.org/wiki/%E5%9F%BA%E4%BA%8E%E6%B5%81%E7%A8%8B%E7%BC%96%E7%A8%8B
[13]https://www.enterpriseintegrationpatterns.com/patterns/messaging/
- 点赞
- 收藏
- 关注作者
评论(0)