JBoss.org Community Documentation

- Prev
- Next

## Chapter 9. Eclipse BPMN 2.0 Plugin

We are working on a new BPMN 2.0 Eclipse editor that allows you to specify business processes, choreographies, etc. using the BPMN 2.0 XML syntax (including BPMNDI for the graphical information). The editor itself is based on the Eclipse Graphiti framework and the Eclipse BPMN 2.0 EMF meta-model.

Features:

- It supports almost all BPMN 2.0 process constructs and attributes (including lanes and pools, annotations and all the BPMN2 node types).
- Support for the few custom attributes that jBPM5 introduces.
- Allows you to configure which elements and attributes you want use when modeling processes (so we can limit the constructs for example to the subset currently supported by jBPM5, which is a profile we will support by default, or even more if you like).

Many thanks go out to the people at Codehoop that did a great job in creating a first version of this editor.

## 9.1. Installation

Requirements

- Eclipse 3.6 (Helios) or newer

To install, startup Eclipse and install the Eclipse BPMN2 Modeler from the following update site (from menu Help -> Install new software and then add the update site in question by clicking the Add button, filling in a name and the correct URL as shown below). It will automatically download all other dependencies as well (e.g. Graphiti etc.)

Eclipse 3.6 (Helios): http://download.eclipse.org/bpmn2-modeler/site-helios/

Eclipse 3.7 (Indigo): http://download.eclipse.org/bpmn2-modeler/site/

The project is hosted at eclipse.org and open for anyone to contribute. The project home page can he found here. Sources are available here

## 9.2. Creating your BPMN 2.0 processes

You can use a simple wizard to create a new BPMN 2.0 process (under File -> New - Other ... select BPMN - BPMN2 Diagram).

A video that shows some sample BPMN 2.0 processes from the examples that are part of the BPMN 2.0 specification:

Figure 9.1.

Here are some screenshots of the editor in action.

Figure 9.2.

Figure 9.3.

Figure 9.4.

Figure 9.5.

### 9.2.1. Filtering elements and attributes

You can define which of the BPMN 2.0 elements and attributes you want to use when describing your BPMN 2.0 diagrams. Since the BPMN 2.0 specification is rather complex and includes a very large set of different node types and attributes for each of those nodes, you may not want to use all of these elements and attributes in your project. Elements and attributes can be enablement / disabled at the project level using the BPMN2 preferences category (right-click your project folder and select Properties ... which will open up a new dialog). The BPMN2 preferences contain an entry for all supported elements and attributes (per node type) and you can enable or disable each of those by (un)checking the box for each of those elements and attributes.

Figure 9.6.

### 9.2.2. Adding custom task nodes

When creating and adding `<task>` or other `<task>` type nodes to a process, you might want to add input and output parameters to the node. Furthermore, you can configure jBPM to use custom `WorkItemHandler` implementations in conjunction with these nodes. These `WorkItemHandler` instances will then be used when your service node is reached.

The concept of customizing `<task>` and other `<task>`-type nodes and using custom `WorkItemHandler` implementations with these nodes is referred to as creating custom work items within jBPM. More information about this can be found in the Domain-specific processes chapter.

The following sections cover the following node types:

- Task
- Service Task
- Send Task
- Receive Task
- Manual Task*

## Tip

A Manual Task should be used to represent a human activity that is not managed by the process engine or the human-task component. In this case, you would probably create a custom `WorkItemHandler` implementation that would interface with a technical component that the actor would use to indicate completion of the task.

However, if you were using a human task server, such as the jBPM human-task component, then you would use a User Task node instead.

#### 9.2.2.1. Configuring the input and output parameters

WRITE MORE: what they are, example for notification?

#### 9.2.2.2. Configuring the node to be handled by a `WorkItemHandler`

WRITE MORE: add tns:taskname as an attribute to the element

When your process is actually run by the engine, you'll have to first register your `WorkItemHandler` with jBPM. See the Work Item Handlers section for an overview and the ??? sections for an example.

## 9.3. Changing editor behavior

The "General settings" tab in the User Preferences lets you specify a "Target Runtime" which customizes the editor's behavior for a specific BPMN execution environment. Currently only jBPM5 and a generic runtime are defined for the editor, but others are in the works.

This preference page (shown below) also lets you configure default values for BPMN Diagram Interchange (or "DI") attributes.

Figure 9.7.

## 9.4. Changing editor appearance

The preference page shown below lets you customize the appearance (colors and fonts) for all of the different elements that can be placed on the diagram canvas.

Figure 9.8.

- PrevChapter 8. Core Engine: Persistence and transacti...
- Top of page
- Front page
- NextChapter 10. Designer