STP/BPMN Component/STP BPMN Presentation
Introduction to the modeler
The modeler has been developed based on GMF, which stands for Graphical Modeling Framework. GMF is an open source project taking place in the Eclipse Foundation. It reuses and extends two other Eclipse projects, GEF (Graphical Editing Framework) and EMF (Eclipse Modeling Framework).
The modeler is developed as a subproject of the STP project, ie the SOA Tools Platform project.
The goal of this modeler is to provide a graphical notation to express processes. Its second goal is to provide enough extensibility so that it can be reused to generate executable code.
The team counts two committers, Alex Boisvert and Hugues Malphettes, and a contributor Antoine Toulme.
They all work for Intalio, Inc.
A first milestone of the project has been published in December. The project has adopted the STP lifecycle and should release a 1.0 version sometime in Q2 this year.
You can access the builds on this page.
BPMN stands for Business Process Modeling Notation. It has been developed by the Business Process Modeling Initiative, which has merged since with the OMG. The modeler does not implement fully the specification yet.
Take a peek at the object model of the BPMN diagram editor:
The tool is responsible for the validation and enforcing the constraints defined by the specification.
My first BPMN process
- Creating the diagram
Let's create our first Hello World process. Let's create a simple project:
And give it an appropriate name.
You can create a new BPMN diagram by selecting the Examples category in the creation wizard.
The wizard is very straight-forward, all you need is to indicate a folder and a file name.
After clicking on Finish, you will see two new files appearing in the project.
You can double-click on the bpmn_diagram file to open it as an editor. The diagram initially contains one pool and a task.
- How to create shapes in the BPMN diagram editor
You can use the palette to drop elements on the diagram. The palette can either be shown as a different view, or attached to the diagram.
To drop a shape on the diagram, just click on it and then click on the diagram. If you want to drop the same shape several times, you can double-click on it and it will appear as locked.
To unlock it, just click on it again.
You can also use diagram assistants to create shapes. Leave your mouse where you want to drop the shape and you will see a bubble appear.
You can connect and create shapes using handles placed on the activities of the diagram.
Leave your mouse on the activity you want to connect. You will see the handles appear. Then click on the handle and drag it to another activity.
Here are the messaging edges handles: File:MessagingEdgeHandles.png and the sequence edge handles:
If you release the mouse button while not being over and activity, the menu below will appear to give you a chance to create the other extremity of the edge.
After using repeatedly the operations described above, you can create a HelloWorld process that looks like this:
That's all folks !
- Export the diagram as an image
Usually, when you want to export a GMF diagram as an image, you can follow this procedure: 1. Right-click on the diagram and select file, Export As file
2. A dialog pops up and you select the format of the image, its filename and location.
We added an export wizard to do the same operation, since we have Eclipse users used to find everything in there. 1. Click on Export in the file menu.
2. Select the bpmn_diagram file you want to export.
3. Choose the format in the options, the image file name and location.
- Copy/Paste in a text editor
Usually, people create a diagram under one application, then exports it to an image, and paste it to a text processor in the end.
With GMF, you can copy your selection of shapes, and paste it directly to your preferred text processor.
- Linking documents to the diagram.
You can drop a file contained in the project of the diagram on one of the shapes. Just drag and drop the file from the resource navigator to the shape. You will see the icon representing a file on the shape.
Or you can directly press shift and simultaneously double-click on the shape.
- Change the type of the activity
Reusing the modeler
Connecting to the modeler
- BPMN Generator
We created a BPMN factory that generates fragments of BPMN imported into a diagram.
- Generator sample
This sample generates some BPMN out of a BPEL file. BPEL (Business Process Executable Language) is a XML based standard for the execution of business processes. In this scenario, a BPEL process is instrumented into a BPMN pool. It exposes the sequences and gateways of the BPEL as BPMN shapes. It keeps annotations that link to the original BPEL markup. See this bug to keep track on it.
Here is the BPEL file we are going to generate BPMN from: <?xml version="1.0" encoding="utf-8"?> <bpel:process xmlns:bpel="http://schemas.xmlsoap.org/ws/2004/03/business-process/" xmlns:pnlk="http://schemas.xmlsoap.org/ws/2004/03/partner-link/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:diag="http://example.com/NewDiagram9" xmlns:this="http://example.com/NewDiagram9/Pool" xmlns:bpmn="http://www.intalio.com/bpms" targetNamespace="http://example.com/NewDiagram9/Pool">
<bpel:scope> <bpel:sequence> <bpel:scope> <bpel:sequence> <bpel:assign/> <bpel:assign/> </bpel:sequence> </bpel:scope> <bpel:assign/> <bpel:assign/> <bpel:sequence> <bpel:assign/> <bpel:assign/> <bpel:scope> <bpel:sequence> <bpel:assign/> <bpel:assign/> </bpel:sequence> </bpel:scope> </bpel:sequence> </bpel:sequence> </bpel:scope>