写点什么

Activiti 5.0 GA 发布——基于 Apache 2 许可的 BPMN 2 引擎

  • 2011-01-11
  • 本文字数:2359 字

    阅读完需:约 8 分钟

上个月,Alfresco 发布了 Activiti 5.0 GA ——基于 Apache 2 许可的 BPMN 2.0 实现。InfoQ 有幸采访到了该项目领导 Tom Baeyens 一探究竟。Tom 还是 jBPM 项目的创建者和前任项目领导。

Activiti 项目是目前市面上唯一一个基于 Apache 2 许可的 BPMN 2.0 实现。作为一个标准,BPMN 2.0 因统一了工作流社区而声名鹊起。BPMN 1.0 为业务流程建模定义了一个标准,同时还提供了众多定义良好的工作流模式。BPEL 1.0 则是另一个标准,定义了运行期中工作流的执行语义。目前,厂商已经提供了BPMN 1.0 工具以及BPEL 执行引擎,但问题由此产生,因为这些工具可以对BPEL 无法描述的BPMN 1.0 流程进行建模,这限制了BPMN 的应用。BPMN 2.0 则通过制定模型语义和执行语义解决了这个问题。

InfoQ:什么是工作流,普通的 Java 开发者为何要关注工作流?其使用案例如何?

Tom Baeyens:所谓流程,就是对 BPM 系统(如 Activiti)所能执行的一系列步骤的描述。流程的基本属性是他们可由一张图表示出来,能以有向图的形式展现出步骤与转换关系。在几乎所有的业务应用中,需求都包含了高层次步骤的序列。将这些步骤抽取到流程中会得到清晰、简化、易于维护的应用。Activiti 包含了大量的步骤,如用户任务、定时器等等,这些步骤在流程中是很容易使用的,但如果想要自己编写 Java 代码来实现就很困难了。

InfoQ:Activiti 是嵌入式的么?独立使用的?独立使用或是以嵌入式方式使用有哪些区别呢?

Tom Baeyens:Activiti 可以嵌入到任何 Java 应用中,对于 Java 开发者来说,Activiti 只不过是个 jar 文件而已,只需放到 CLASSPATH 下即可。但 Activiti 还可以独立服务器的方式使用。

InfoQ:我们为什么需要使用 Activiti?不是还有其他的 BPM 引擎么?

Tom Baeyens:Activiti 是最容易上手的引擎。我们确信所有阻碍你将其嵌入到应用中的障碍已经一去不复返了。我们提供了一个示例程序,可以让你在很短的时间内运行起 Activiti。Activiti 是透明的,这意味着它并没有什么特别之处。开发者知道他们用的是什么,如何用起来,并且能完全控制好 Activiti。这与传统的 BPM 方式不同,后者更加关注于业务用户,并没有考虑到开发者的感受。对于运行时来说,我们紧密集成了 Java 应用与 Activiti,而传统的 BPM 产品则是自成一体的,很难与应用集成起来。Activiti 的社区颇具活力,很多公司都开始将自己的产品与 Activiti 集成起来了。如果你使用 Spring Integration 或是 ESB,那就非常棒了,因为他们已经与 Activiti 实现了集成。感兴趣的读者可以查看一下团队的花名册,了解一下项目的贡献者,看看这些贡献来自于何处。

InfoQ:Activiti 下一次迭代的路线图如何?

Tom Baeyens:目前,我们的发布周期是以月为单位的。12 月 1 日,我们发布了 5.1, 1 月 1 日发布 5.2,以此类推。我们正在计划一些激动人心的特性,如规则集成、Web Service 集成、建模器中的 Activiti 类型插件等等。感兴趣的读者可以查看我们的路线图了解详细信息。

InfoQ:要想上手 Activiti,有没有什么推荐的方法呢?它与其他框架(如 Spring 框架、REST、Mule 或是其他 ESB、Java EE 6 以及企业内容管理系统)集成的很好么?

Tom Baeyens:要想上手 Activiti,我推荐大家看一下示例程序和用户指南。如果是首次使用,那么我们建议你从小处着手。一旦掌握了,那么你需要花费几周时间才能构建好应用完整的功能原型。在 Activiti 引擎的架构中,我们已经集成了所有现有的 Java 环境和框架。我们很欣喜地看到很多公司在帮助我们构建这些集成。比如说 SpringSource,整个应用可以通过在 Spring 的 context 文件中声明 Bean 来实现配置。甚至还包含平滑的事务管理集成。另外就是 MuleSoft。他们贡献了 Web Service 调用,保证可以将 Activiti 引擎平滑地嵌入到其产品当中。此外,还有一个开箱即用的 REST 接口。在下一版本中,我们计划增加关于如何在应用服务器环境中配置并运行 Activiti 的相关文档。代码基本已经写好了,但我们希望在将这些特性公开到文档前搭建好自己的的 CI 环境。

InfoQ:一般来说,Activiti 和工作流的目标市场是什么?这些工具会简化业务分析师与开发者的工作么?

Tom Baeyens:团队使用 BPM 平台如 Activiti 的方式大相径庭。一些团队只有开发者,他们只是将引擎嵌入到自己的应用中并编写流程。在其他环境中,除了开发者与系统管理员外还涉及到业务人员。每个组织都有自己的组织方式。借助于 Activiti Cycle,我们现在拥有了一个协作环境,所有人都可以在这个环境中彼此交互与协作,无需强制使用特殊的工作方式。

InfoQ:如果遇到问题去哪问呢?

Tom Baeyens:我们的用户论坛是提问的最好去处。

InfoQ:有什么特别的原因要去使用 BPMN 2 么?为何要从私有的标记语言如 jBPM 的 jPDL 转换到 BPMN 2 呢?

Tom Baeyens:BPMN 2.0 好的一点是整个业界都围绕着这一标准进行操作。在这之前,所有工具和引擎都在使用自己的私有语言,现在大量的工具都兼容于 Activiti,因为我们支持 BPMN 2.0 这一标准。

InfoQ:如果使用 BPMN 2 有问题,那么可以定制 Activiti 并添加新的行为么?

Tom Baeyens:创建 jBPM 的一个主要目标就是创建可插拔的活动。这意味着我们可以将新的步骤插入到流程图中并加以配置。我们通过流程虚拟机(PVM)成功实现了这个目标。现在,Activiti 也基于流程虚拟机这个原则。但这次我们将同样的活动可插拔性这一概念延伸到了工具上。Activiti 包含了一个基于 Web 的建模器和一个图形化的流程设计器 Eclipse 插件。现在的目标是你只需使用标签名和其他信息将实现了运行期行为的类注解起来就行了。目前,设计器 Eclipse 插件已经可以从类中加载这些信息,将新的活动类型添加到面板中并向用户提供漂亮的表单来输入这些活动的详细配置信息。

查看英文原文: Activiti 5.0 GA, the Apache 2 Licensed BPMN 2 Engine Released

2011-01-11 08:574475
用户头像

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

关注

评论

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

node爬虫爬取小说章节

空城机

爬虫 Node 5月月更

时序数据库为万物互联打下坚实的基石

华为云开发者联盟

数据仓库 物联网 时序数据库 GaussDB 时序数据

火山引擎入选“2022 中国边缘计算20强”榜单

火山引擎边缘云

边缘计算

数据增强(一):imgaug

AIWeker

人工智能 深度学习 数据增强 5月月更

CWE 4.7中的新视图:工业控制系统的安全漏洞类别

华为云开发者联盟

安全漏洞 cwe 软件安全 CWE 4.7 工业控制系统

跟我学Python图像处理丨掌握4种图像平滑算法

华为云开发者联盟

Python OpenCV 图像属性 兴趣ROI区域 图像通道

云图说|DDS读写两步走,带您领略只读节点的风采

华为云开发者联盟

数据库 华为云 读写分离 DDS

AI驱动音乐创新,网易数帆X云音乐刷新MIREX世界纪录

网易数帆

人工智能 AI 语音识别 歌词识别 预练习

Connection reset

领创集团Advance Intelligence Group

Connection reset

大咖说 X 智篆商业|未来五年:消费增长的“两大来源”与“四个方面”

大咖说

阿里云 存量时代 智篆商业

还有谁不知道CRM系统可以为企业做这些?

低代码小观

CRM 客户关系管理 CRM系统 客户关系管理系统 企业管理软件

连续3年实力登榜!EMQ映云科技再度跻身“2022中国边缘计算企业20强”

EMQ映云科技

物联网 IoT 边缘计算 emq 5月月更

OpenMLDB官网升级,神秘贡献者地图带你快速进阶!

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

OpenHarmony 3GPP协议开发深度剖析——一文读懂RIL

OpenHarmony开发者

OpenHarmony RIL

RGB色彩空间

Loken

音视频 5月月更

【Linux深潜】详解Linux系统自身安全调优配置

沃趣科技

Linux

黎明前的至暗时刻,旅企是该坚守还是放弃?

易观分析

旅游业

融云参编,业界首个办公即时通信软件安全标准重磅发布!

融云 RongCloud

我是如何做到百万数据跑批半小时结束

skow

后端 java

web前端培训React性能优化总结

@零度

前端开发 React

十年磨一剑|沃趣数据库云产品战略首发

沃趣科技

云原生 公有云 私有云 数据库云 沃趣科技

OpenHarmony布道师招募正式启动,打造个人技术影响力的机会来了!

科技汇

Swoole 定时器能实现毫秒级任务调度,你敢相信吗?

CRMEB

如何写出GC更优的代码,以达到提升代码性能的目的

非凸科技

性能 编程语言 垃圾回收 GC 吞吐率

案例分享|一键式自动监测,跨境电商平台的业务转型模板

博睿数据

博睿数据 数据链DNA

跨端跨框架 UI 自动化测试方案 Flybirds

liang chen

【IT运维】运维告警方式有哪些?哪个工具好用?

行云管家

服务器 IT运维 服务器运维

【等保测评】2022年深圳等保测评公司排名看这里!

行云管家

等保 深圳 等保测评 等保2.0

升级HarmonyOS 2最新版本,出门亮健康码快人一步!

科技汇

java培训Redis数据结构面试分享

@零度

redis JAVA开发

Activiti 5.0 GA发布——基于Apache 2许可的BPMN 2引擎_Java_Josh Long_InfoQ精选文章