发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

Alfresco 发布 Activiti 项目——基于 Apache 2 许可的 BPM 引擎

  • 2010-05-25
  • 本文字数:1205 字

    阅读完需:约 4 分钟

本周一,知名的企业内容管理(ECM)系统提供商 Alfresco Software 发布了开源的业务流程管理(BPM)项目—— Activiti ,该项目由 jBPM 创建者,前 JBoss jBPM 领导与 BPM 权威 Tom Baeyens 主持大局。前 jBPM 团队成员 Joram Barrez 此前也加入了该项目,成为 Activiti 的核心开发人员。长久以来,Alfresco 一直将 jBPM 嵌入到其产品当中,今后也将继续对其提供支持。最后,Alfresco 将在今后的产品发布中将 Activiti 纳入进来。

Activiti 是个全新、基于 Apache 2 许可的开源项目,提供了轻量级、嵌入式的 BPM 引擎并支持 BPMN 2.0 。在当今 BPM 市场中存在太多的规范,但没有一个能够解决 BPM 引擎或是工作流引擎所遇到全部问题。BPEL 最为人诟病之处在于限制太大,如果运行时模型需要构建非常复杂的流程时 BPEL 就帮不上什么忙了。更令人感到困惑的是,BPMN 1.0 出来后指定了一整套符号集来描述流程,但却没有说明执行语义,这与 BPEL 别无二致。很多厂商表示要构建能与 BPEL 进行双向转换的 BPMN 工具,但这是不可能的,因为 BPMN 中的很多东西都无法在 BPEL 中描述。

很多引擎都提供了其他选择,比如 jBPM。jBPM 提供了一个叫做 jPDL 的简单、私有的 XML 语法,可以手工编写该 XML 文件并嵌入到应用当中。

Activiti 采取的是另一种方式,它使用了 BPMN 2.0,后者定义了执行语义和可视化的流程描述。这为业务分析师和工程师们提供了一种标准、直观、双向的环境来解决流程的运行时展示问题。与 jBPM(事实上,包括任何优秀的工程项目)一样,Activiti 将流程模型从语言中解耦出来,这样就可以在该模型之上使用其他流程语言了。与 jBPM 不同的是,Activiti 并没有使用私有格式,因为私有格式还需要转换为 BPMN 2.0,而这一点容易给人造成困扰,它使用 BPMN 2.0 作为原生格式。

Activiti 还带有一个可视化的建模器(叫做 Acitviti Modeler),可以对非常复杂的图形建模。BPMN 2.0 使用起来也非常简洁和方便。虽说有些地方要比 jPDL 繁琐,但 Activiti 在 schema 中引入了“快捷方式”来解决这个问题。这些”快捷方式“最终能转换为合法的 BPMN 2.0,因此并不会表现出私有扩展的迹象。

Activiti 是轻量级的,能够轻松集成到现有应用当中,这与 Spring 框架的目标不谋而合。除了本身支持 BPMN 2.0 之外,我们还可以推测出该工作流引擎其他的应用场景:Spring Web Flow 根据网页导航描述工作流、Spring Batch 将工作流用于成批处理管道、Spring Integration 根据事件”推测“流程状态,诸如此类。SpringSource 已经任命 Spring Batch 项目的领导 Dave Syer 代表 Spring 社区参与到 Activiti 团队中,旨在将 BPMN 带给 Spring 用户。

想要尝试 Activiti 的用户可以看看这个 10 分钟上手指南,如果想要深入了解 Activiti 请翻阅 Activiti 用户指南。目前该项目是独立运作的——作为 Alfresco 的一部分,但很快就将创建自己的社区

查看英文原文: Alfresco Announces Activiti Project, an Apache 2 Licensed BPM Engine

2010-05-25 04:003530
用户头像

发布了 88 篇内容, 共 258.1 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

6种常见的地标识别算法整理和总结

华为云开发者联盟

KNN CNN 地标识别 GLDv2 地标识别算法

细说Python Lambda函数的用法,建议收藏!

华为云开发者联盟

Python 函数 匿名 Lambda函数 表达式

女朋友问我:什么是 MySQL 的全局锁、表锁、行锁?

一个优秀的废人

MySQL 数据库 锁机制 备份

使用gradle插件发布项目到nexus中央仓库

程序那些事

Java maven Gradle 程序那些事

带你入门目标检测算法

华为云开发者联盟

网络 数据集 目标检测 yolo two-stage

聪明人的训练(十九)

Changing Lin

4月日更

阿里P7手把手教你!系统学Android从零开始,内含福利

欢喜学安卓

android 程序员 面试 移动开发

五一高铁票难抢?用RPA机器人试试!

华为云开发者联盟

RPA

面向K8s设计误区

阿里巴巴中间件

云计算 Kubernetes 容器 分布式

重读《重构2》- 封装记录

顿晓

重构 4月日更

模块二课后作业

Damon

用WASM连接Rust与Python | Rust 学习笔记(三)

李大狗

Python rust 狗哥 Wasm

java数组打印的几种方式

Sakura

4月日更

MySQL权限管理实战!

Simon

MySQL 权限管理

技术干货 | 基于MindSpore更好的理解Focal Loss

华为云开发者联盟

损失函数 mindspore Focal Loss 图像物体检测 采样

微信朋友圈高性能架构

chenmin

关于 Spring 中 getBean 的全流程源码解析

小傅哥

Java spring 源码分析 小傅哥 getBean流程

【LeetCode】移除元素Java题解

Albert

算法 LeetCode 4月日更

一文搞懂分布式锁的原理与实现

架构精进之路

分布式锁 4月日更

深入剖析共识性算法 Raft

vivo互联网技术

复制 选举 分布式协调 Leader Follower

新一代容器,安全容器kata-container实践

ilinux

Kubernetes 容器

Ubuntu 20.04 快捷键整理

TroyLiu

Linux ubuntu 效率 操作系统 快捷键

一文带你更方便的控制 goroutine

万俊峰Kevin

线程 并发 Go 语言 goroutine

图算法系列之无向图的数据结构

Silently9527

Java 数据结构和算法 图算法 无向图

Spark任务等待与运行策略

小舰

4月日更

[转] 程序员在工作中如何做好技术积累

小江

技术管理 架构师 自我思考 个人总结

面试官关于线程池的这个问题把我问懵逼了。

why技术

面试 Jav 1 周年盛典

这三年被分布式坑惨了,曝光十大坑

悟空聊架构

陌陌一面,为什么SpringBoot的 jar 可以独立运行?

Java小咖秀

jar maven springboot 集成 pom

app架构师,10天拿到字节跳动安卓岗位offer,好文推荐

欢喜学安卓

android 程序员 面试 移动开发

女朋友问我:MySQL 事务与 MVCC 原理是怎样的?

一个优秀的废人

Java 数据库 事务隔离级别 事务 MVCC

Alfresco发布Activiti项目——基于Apache 2许可的BPM引擎_Java_Josh Long_InfoQ精选文章