Activiti 实践:BPMN 2.0 可执行业务流程

需积分: 10 3 下载量 118 浏览量 更新于2024-07-22 收藏 17.51MB PDF 举报
"Activiti in Action.pdf 是一本详细介绍 Activiti 的书籍,由 Tijs Rademakers 编著,探讨了可执行的 BPMN 2.0 业务流程。书中涵盖 Activiti Designer、Activiti Engine、过程实现、Web 表单、任务、作业、流程、Web 服务、REST API 和数据库等方面的使用。" 在 BPM(Business Process Management)领域,Activiti 是一个流行的开源工作流引擎,它支持 BPMN 2.0 标准,允许开发者设计、部署和执行业务流程。这本书深入浅出地介绍了如何利用 Activiti 实现业务流程自动化。 **Activiti Designer** 是一个图形化工具,用于绘制 BPMN 2.0 流程图,它提供了直观的界面来创建和编辑流程定义。设计完成后,工具会生成 XML 格式的流程定义,这些定义可以被部署到 **Activiti Engine** 中执行。 **Activiti Engine** 是核心组件,负责执行流程实例。它可以处理自动化的步骤,如调用 Web 服务,以及涉及人员交互的手动步骤,这些通常通过 Web 表单来实现。引擎执行流程定义中的任务,并管理流程实例的状态和数据。 **Webforms** 在 Activiti 中用于与用户交互,它们可以是任务的一部分,允许用户输入数据或审批流程。这些表单可以是自定义的,也可以利用 Activiti 的表单引擎生成。 **Tasks** 是业务流程中的基本单元,可以是自动执行的,也可以需要人工参与。Activiti 提供了管理和分配任务的机制,包括任务查询、接收、完成和委托。 **Jobs** 是 Activiti 引擎中用于异步处理的组件,例如定时器事件或后台作业。它们确保流程能够在需要时正确地调度和执行。 **Processes** 指定义在 BPMN 2.0 图形中的业务流程。这些流程可以通过 Activiti Engine 来实例化和执行,每个实例代表流程的一个具体运行。 **WS (Web Services)** 和 **REST** API 允许 Activiti 与其他系统集成,提供服务调用和远程操作流程的能力。通过 RESTful 接口,开发者可以轻松地构建基于 HTTP 的交互式流程管理系统。 **DB** (Database) 存储流程实例、任务、变量等所有相关信息,Activiti 支持多种数据库,如 MySQL、Oracle 等,以满足不同环境的需求。 在配置方面,书中提到的 `activiti.cfg.xml` 文件是 Activiti 的主配置文件,可以在这里配置流程引擎的行为,包括设置 beans 的可见性。如果希望限制表达式和脚本中可访问的 beans,可以在 `ProcessEngineConfiguration` 的 `beans` 属性中指定一个映射,只有包含在这个映射中的 beans 才能在表达式和脚本中使用。 总结来说,"Activiti in Action" 是一本全面介绍 Activiti BPM 解决方案的指南,涵盖了从流程设计、部署到执行的各个方面,对于理解 BPMN 2.0 以及如何在实际项目中应用 Activiti 极有帮助。
263 浏览量
Writing this book was a life-changer for me. After I wrote Open Source ESBs in Action for Manning a few years ago, I focused on my daily job for some time, working with open source enterprise integration frameworks like Mule, Camel, ServiceMix, and Spring Integration. My work, over time, drove me to designing and developing processes and BPM , and I started using j BPM and WebSphere Process Server. Then I learned that the founder of the j BPM project, Tom Baeyens, was leaving JB oss to work on a new open source project, which was in stealth mode at that time (early 2010). When the first alpha version of Activiti was released, I told myself I had to contribute to that project, one way or another. A piece that was missing in the first stages of the Activiti project was an Eclipse plug-in. I had some email conversations with Tom about contributing the plug-in to Activiti. We met and he told me that his goal was to disrupt the process engine space with the Activiti project. My enthusiasm grew even more and I offered my time to start working on a first version of the Activiti Designer. Together with my former col- leagues, Tiese Barrell, Yvo Swillens, and Ron van Liempd, we were able to deliver a first version within a couple of months. As we became part of the Activiti developer community, my hands were itching to start writing a book about Activiti. I felt that a great open source process engine would need a detailed book to describe all the possibilities and potential it offers. Manning was eager to publish a book about Activiti, and, together with Ron, we started writing in the autumn of 2010. We had a hard time keeping up with the frequent releases and the new functionality that kept on coming. But, it also was a lot of fun to be able to write about a new functionality that was just (or about to be) released. After a few meet-ups with the Activiti developer community and a couple of nice dinners with the Activiti team, we began discussing the possibility of my joining Alfresco to work on Activiti. In May 2011, I accepted the offer and was able to begin working on Activiti full-time. In the meantime, the writing of this book fell a little behind schedule. There was so much interesting work to be done developing the Activiti Designer, working on the Activiti Engine, and starting in a new job, that time caught up with me. After I had settled in a bit, I took up the writing task again and began working on the remaining chapters. So here I am, at the end of the process. I’ve switched from being a consultant to an open source software engineer, and I’m close to completing my second book. And, just like with my previous book, I have a new family addition coinciding with the book’s release. I hope you will enjoy reading this book as much as I loved writing it!