Camunda整体架构和相关概念
Camunda BPM 是一个轻量级、开源灵活的工作流框架,它的核心是一个在Java虚拟机内部运行的原生BPMN 2.0流程引擎,因此它可以嵌入到任何Java应用程序或运行时容器中。
下图显示了最重要的组件以及一些典型的用户角色。
- REST API REST API 允许您从远程应用程序或 JavaScript 应用程序使用流程引擎。(注意:REST API 的文档被分解为自己的文档。)
- Camunda Tasklist用于人工工作流管理和用户任务的 Web 应用程序,允许流程参与者检查他们的工作流任务并导航到任务表单,以便处理任务并提供数据输入。
- Camunda Cockpit用于流程监控和操作的 Web 应用程序,允许您搜索流程实例、检查它们的状态并修复损坏的实例。
- Camunda Admin允许您管理用户、组和授权的 Web 应用程序。
从BPM应用维度看
Camunda分为流程设计和流程运行两个阶段,见图中最下方的蓝色大箭头,Model和Execute,按照这两个阶段,Camunda划分为两大部分功能,对应设计阶段的功能有 Modeler,对应运行阶段的功能有Engine、TaskList、Cockpit、Admin。
从BPM功能维度看
Camunda包括了流程设计器(Modeler)、流程引擎(Engine)、API接口(REST/Java API)、任务列表(TaskList)、流程管理控制台(Cockpit)、系统管理工具(Admin)。在Camunda商业产品中还包括了流程监控预警工具(Optimize)、流程协同设计工具(Cawemo)。这里重点先说一下Camunda流程设计器,支持两种模式,一种是富客户端的流程建模工具Camunda Modeler,需要在客户端安装;另一种是基于浏览器的流程设计器bpmn.io,这两款软件均开源。
从BPM角色维度看
Camunda分为业务分析师、流程开发工程师、最终用户、流程管理员、系统管理员这几个角色,每个角色对应BPMS不同的功能。业务分析师、流程开发工程师使用流程设计器(Modeler)进行流程建模,最终用户使用任务列表(TaskList)进行流程发起和审批,流程管理员使用流程管理控制台(Cockpit)进行流程管理,比如流程暂停恢复、流程异常干预等,系统管理员使用系统管理工具(Admin)进行系统管理,比如组织用户管理、权限管理等。
**集成:**Camunda支持与Spring、SpringBoot框架集成,支持与tomcat、JBoss等常见的运行容器集成
**部署:**Camunda BPM是一个灵活的框架,支持嵌入式、分布式、集群等多种部署模式。
名词解释
- BPM
Business Process Management,业务流程管理,“通过建模、自动化、管理和优化流程,打破跨部门跨系统业务过程依赖,提高业务效率和效果”。
- BPMN
Business Process Modeling Notation,业务流程建模与标注,包括这些图元如何组合成一个业务流程图(Business Process Diagram);讨论BPMN的各种的用途,包括以何种精度来影响一个流程图中的模型;BPMN作为一个标准的价值,以及BPMN未来发展的远景。
- DMN
Decision Model and Notation,DMN的目的是提供一个模型决策结构,从而使组织的策略可以用图形清晰的地描绘出来,通过业务分析准确的定义,使其自动化(可选地)。
- CMMN
Case Management Model and Notation,CMMN是一种图形化的符号,用于捕获工作方法,这些工作方法基于处理需要各种活动的情况,这些活动可能以不可预测的顺序执行,以响应不断变化的情况。通过使用以事件为中心的方法和案例文件的概念,CMMN扩展了可以用BPMN建模的边界,包括结构化程度较低的工作和由知识工人驱动的工作。结合使用BPMN和CMMN,用户可以涵盖更广泛的工作方法。
官方文档:https://docs.camunda.org
源码地址:https://github.com/camunda/camunda-modeler
- 点赞
- 收藏
- 关注作者
评论(0)