写点什么

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:574379
用户头像

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

关注

评论

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

巴塞罗那VS瓦伦西亚:两支西甲传统队志在为各自目标全取三分

新消费日报

一起开启龙蜥之旅,上千份精美周边等你兑换!

OpenAnolis小助手

开源 操作系统 龙蜥之旅

Metasploit Framework 6.4.44 (macOS, Linux, Windows) - 开源渗透测试框架

sysin

Metasploit

SonarQube Server 2025.1 LTA - 代码质量、安全与静态分析工具

sysin

SonarQube

微财基于 Flink 构造实时变量池

Apache Flink

大数据 flink 实时计算

Hugging Face 视觉语言小模型 SmolVLM 可在手机运行;OpenAI 推出智能体 Operator 联网执行任务

声网

Twitter账号关联导致封号怎么办?

Ogcloud

海外云手机 云手机海外版 账号防关联 防关联浏览器

ping命令的故事

胡译胡说

c Linux 网络编程 ping ICMP

成功案例丨口腔保健的数字化转型:Altair 数字孪生技术助力口腔保健分析

Altair RapidMiner

AI 数字孪生 仿真 altair Radioss

巧用多目标识别能力,帮助应用实现智能化图片解析

HarmonyOS SDK

harmoyos

AI赋能剪纸艺术,剪映助力多地文旅点亮新春

极客天地

怎么制作波士顿矩阵?一文读懂战略管理分析的各个方面!

职场工具箱

波士顿矩阵模型 画图软件 在线白板 办公软件 绘图软件

为什么海外直播要用TikTok直播专线?

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 tiktok直播网络

辞旧迎新 继往开来——西甲联盟2024大事迹回顾与2025新年展望

新消费日报

“全球金牌课程”3月15-16日·上海线下·CSM认证【提前报名特惠】CST导师亲授

ShineScrum

敏捷 CSM认证 CSM认证培训

IoTDB 2025 春节值班与祝福

Apache IoTDB

评测!Google Gemini AI 安全评估技术解析

云起无垠

Metasploit Pro 4.22.7-2025012201 (Linux, Windows) - 专业渗透测试框架

sysin

致敬开源与创新!「2024龙蜥社区年度优秀贡献者」评选正式启动

OpenAnolis小助手

操作系统 龙蜥社区优秀贡献者评选

Mac为什么读取不了U盘数据 Mac读取不了U盘格式怎么办?

阿拉灯神丁

Tuxera NTFS2023 NTFS 磁盘管理器

Nexpose 7.3.2 for Linux & Windows - 漏洞扫描

sysin

Nexpose

RTE 社区 2024 总结:虽然「卷」,但可以和一群朋友一起,找到自己的速度丨RTE 开发者社区

声网

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