10.1.1 核心元素
什么是BPMN核心元素?我们为什么要从BPMN元素中界定出一个核心元素的子集?BPMN核心元素是我们认为可以建模进行业务分析的BPMN元素的必要子集,使用BPMN基本元素适合草图和非正式的沟通,而当组织扩大或需要与组织外部人员进行沟通时,使用更加具体具有明确语义的建模元素变得重要,使用BPMN核心元素能够满足我们平常大部分的建模需要。
除了包括BPMN基本元素,核心元素增加了这些元素,如下图中的黄色部分所示:
- 更多的事件类型:计时(Time)、消息(Message)、链接(Link)和信号(Signal);
- 更具体的活动类型:任务的7种类型、子流程的5种类型和调用活动(CallActivity);
- 事件网关(Event-basedGateway);
- 数据元素:数据对象(DataObject)、输入数据(Data Input)、输出数据(Data Output)和数据存储区(Data Store);
- 数据关联。
图10‑28BPMN的核心元素
10.1.1.1 活动
在基本元素里,我们知道活动是在流程执行过程中执行的工作。活动分为两类:任务(原子的)和子流程(复合的)。任务是流程模型中最小工作单元,不能继续分解,子流程则能继续分解为一系列的子活动。在核心元素里,我们将讨论任务和子流程更具体的类型以及一种新的活动类型-调用活动,这样在我们建模时,模型会有更加具体的语义。
任务
根据任务的执行语义,我们将任务分为8种类型:
- 普通任务(NoneTask):默认的任务类型,未指定任务的执行语义;
- 发送任务(SendTask):给外部参与者发送消息,消息发送完毕则任务执行完毕;
- 接受任务(ReceiveTask):等待并接受从外部参与者发送过来的消息,消息接受完毕则任务执行完毕;
- 人工任务(UserTask):在应用程序协助下完成的人工任务,例如一个从任务列表中拾取并执行的任务,比如办理户口中向计算机输入户口信息的任务;
- 手工任务(ManualTask):没有任何流程引擎和应用程序协助的纯手工任务,例如对我提交户口资料的审核任务;
- 业务规则任务(BusinessRule Task):该任务调用一个业务规则引擎进行数据的计算并获得计算结果;
- 服务任务(ServiceTask):调用某种类型的服务,这种服务可以是WEB服务,也可以是自动化的应用程序;
- 脚本任务(ScriptTask):定义一段执行脚本,由流程引擎执行。
图10‑29任务的8种类型
子流程
有5种不同类型的子流程:
- 嵌入的子流程(EmbeddedSub-Process):子流程定义在父流程里,可以展开显示它所包含的模型细节,也可以收起隐藏细节(可参见图10-25),通常情况下,我们也直接称之为子流程(Sub-Process);
- 重用的子流程(ReusableSub-Process):我们在另外一个业务流程图定义了一个流程,然后在当前流程里调用这个流程,这个流程被我们复用,称之为重用的子流程,在父流程里,我们通过调用活动(Call Activity)调用其他流程:
- 事件子流程(Event Sub-Process):子流程由事件触发,子流程与父流程之间没有顺序流连接,在扩展元素里,我们会具体讨论该类子流程;
- 事务性子流程(Transaction):特殊的子流程类型,子流程内部的任务具有事务性,要么一起成功,要么一起失败。我们可以通过某种事务协议例如WS-Transaction控制它的行为,和事件子流程一样,它属于扩展元素;
- 即席子流程(Ad-Hoc Sub-Process):子流程内部的任务不需要确定顺序关系,由任务执行者根据实际情况自己决定执行顺序。
图10‑30子流程的5种类型
我们看一个即席子流程的例子,当我去医院检查身体时,需要做各种常规检查、抽血和吃早饭,除了抽血一定要在吃早饭之前,其他项目则没有限制。那么可能的顺序有:常规检查->抽血->吃早饭(抽血处排队严重)、抽血->吃早饭->常规检查和抽血->常规检查->吃早饭。
即席子流程赋予我们执行任务的灵活性,在很多情况下,任务之间并没有过度的依赖关系,在这种情况下,就可以根据案例的实际情况例如可用资源,重新灵活排定这些任务执行的顺序,避免等待和阻塞。即席子流程实现了工作流控制模式里的交叉并行路由(WCP_17)模式,具体该模式的描述请参考本书的工作流模式附录部分。
图10‑31即席子流程
调用活动
我们使用调用活动(Call Activity)在当前流程中调用其他流程或全局任务(Global Task)。被调用的流程在当前流程中被称为重用的子流程。那么什么叫全局任务呢?能被其他流程通过调用活动调用的任务称为全局任务。
- 大小: 97.4 KB
- 大小: 35.3 KB
- 大小: 33.4 KB
- 大小: 17.7 KB
分享到:
相关推荐
1. Diagram实例:这是bpmn-js的核心,用于加载、保存和展示BPMN模型。 2. Modeling接口:提供了修改模型的方法,如添加、删除或移动元素。 3. Event监听:通过监听事件,可以实现在用户交互时执行特定操作,如保存...
BPMN-js库的核心功能是解析和渲染BPMN模型,以及处理用户与图表的交互。它基于Diagrams.js,一个用于创建可交互的矢量图形的库。在项目开始时,你需要将bpmn-js-seed-master压缩包解压,这是一个包含示例代码的项目...
2. 核心概念:BPMN的基本概念,包括流程、活动、事件、网关、任务等。 3. 图形符号:BPMN的图形符号,包括流程图、泳道图、事件图等。 4. 元模型:BPMN的元模型,包括流程meta模型、活动meta模型、事件meta模型等。 ...
1. **元模型**:这是BPMN的核心,定义了所有元素的抽象结构,包括活动、事件、网关等基本构建块。 2. **图形符号**:提供了视觉上的表达方式,使得业务流程易于理解和沟通。 3. **XML Schema**:定义了BPMN模型的...
首先,我们需要理解BPMN-js的核心概念。BPMN-js提供了模型元素的图形化表示,包括任务、事件、网关等,它们通过连线(Sequence Flows)连接,形成一个完整的业务流程模型。这个库允许开发者通过编程方式创建和操作...
这个"BPMN-JS.rar"压缩包包含的核心内容是BPMN-JS库,它提供了一个完整的解决方案,使开发者能够轻松地在网页上实现BPMN图的绘制和交互。下载并解压此包后,你可以直接在项目中引用BPMN-JS库,开始创建动态的、用户...
BPMN-JS属性面板是BPMN-JS的核心组成部分之一,它提供了一个界面,用户可以通过这个界面来修改和配置流程图中的元素属性。这些属性可能包括元素的名称、类型、触发条件等。汉化此面板意味着将原本英文的界面元素翻译...
这个库的核心目标是为Web开发者提供一个轻量级且灵活的BPMN 2.0模型的解析和渲染引擎。通过这个库,开发者可以构建交互式的BPMN流程设计器,让用户能够在浏览器中直接编辑和查看流程图。 **BPMN元素与符号**:BPMN...
1. **安装依赖**:首先,你需要通过npm或yarn安装`bpmn-js`及其相关依赖,例如`bpmn-modeler`,它们提供了模型器的核心功能。同时,你还需要安装`@vue/cli`或`vueify`等工具来构建Vue项目。 2. **引入Bpmn-js**:在...
1. **BPMN模型支持**:库提供对BPMN 2.0标准的全面支持,能够解析和生成BPMN流程图,包括活动、事件、网关、泳道等元素。 2. **流程执行引擎**:BPMN_RPA内含一个强大的执行引擎,可以按照流程图的定义顺序执行任务...
本文将深入探讨camunda-bpmn-js的核心功能、用法以及在实际项目中的应用。 首先,理解BPMN 2.0标准至关重要。Business Process Model and Notation(BPMN)是一种图形化语言,用于描述企业的业务流程。BPMN 2.0是其...
**BPMN官方Demo详解** BPMN,全称Business Process ...通过这个起点,我们可以深入理解BPMN的元素、构造和流程控制,同时掌握如何在Web环境中实现BPMN模型的交互与管理,从而在业务流程自动化和优化方面发挥重要作用。
**三、bpmn-js核心功能** 1. **图表渲染**:bpmn-js能够将BPMN模型数据解析为可视化的流程图,展示在HTML5画布上。 2. **交互编辑**:用户可以通过鼠标或触摸设备对图表进行拖放操作,添加、删除和调整元素。 3. **...
在这个目录下,我们可以找到 Activiti BPMN 模型的实现,包括 BPMN 图形元素的类、解析器、执行器等关键组件。这些类文件使得 Activiti 能够理解 BPMN 2.0 流程图,将其转化为可执行的代码,并在运行时跟踪和管理...
2. **数据绑定**:Vue.js的核心特性是数据绑定,XMLStr.js解析后的数据可以被绑定到Vue组件的data属性上,实时更新视图。 3. **动态渲染**:Vue.js的组件化特性使得可以将BPMN流程图拆分为多个可复用的组件,XMLStr...
该软件的核心是其内含的`yaoqiang-bpmn-editor-2.0.91.jar`文件,这是一个Java编写的可执行JAR(Java Archive)文件,包含了整个编辑器的运行环境和功能实现。用户通过这个JAR文件可以启动并使用yaoqiang BPMN2.0...
在这个案例中,"properties-panel"可能包含的是bpmnjs中属性面板的配置文件,这部分内容用于显示元素的各种属性和设置,是用户与模型交互的重要部分。 汉化bpmnjs的第一步通常是获取汉化资源。这里提到的"bpmnjs...
5. **工作流引擎**:库的核心部分可能是一个工作流引擎,负责调度和执行BPMN流程实例,处理并发、分支、循环等复杂逻辑。 6. **日志和监控**:为了确保流程执行的可追溯性和稳定性,库可能提供日志记录和实时监控...
综上所述,《BPMN 2.0标准规范英文版》为业务流程建模提供了全面而详细的指导,不仅定义了一系列标准化符号和规则,还提供了相关的技术文件和工具支持,使得业务流程能够被更广泛地理解和应用。
这个库的核心功能包括解析XML格式的BPMN文件,将其渲染成可视化的流程图,同时支持用户通过拖拽和点击等方式进行编辑。当用户完成流程图的编辑后,bpmn.js还能将流程图转换回BPMN XML,方便存储和交换。 在...