Chapter 6. Applying advanced BPMN 2.0 and extensions

 

This chapter covers

  • Using subprocesses
  • Working with parallel gateways
  • Persistency with JPA
  • Learning about execution and task listeners

In the previous chapter, we implemented a full business process from start to finish using a subset of the BPMN 2.0 constructs. When you want to build your own business process, you’ll likely find that you need more advanced functionality in your processes. On the following pages, you’ll learn all about developing processes with Activiti that use subprocesses, parallel execution, database integration and execution, and task listeners.

In this chapter, we’ll approach each advanced construct separately so we can focus on that piece of process logic and learn all the nitty-gritty details. First, you’ll see how to structure business processes using subprocesses and learn about the differences between embedded and standalone subprocesses. Then we’ll go on with parallel gateways and discuss the consequences of parallel execution in a business process.

In addition, we’ll explain the use of JPA to access various databases transparently in Activiti. Together with execution and task listeners, the functionality of JPA is offered via Activiti extensions on top of the BPMN 2.0 specification. These powerful parts of the Activiti toolbox aren’t standardized by OMG, but they provide additional functionality to process developers.

6.1. Using BPMN 2.0 subprocesses

6.2. Working with BPMN 2.0 parallel gateways

6.3. Adding a JPA extension to your process

6.4. Using execution and task listeners

6.5. Summary