STP/BPMN Component/STP BPMN Presentation (Part 2)
- Quick access
- 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 and paste shapes into a text processor
Using the copy and paste command, GMF enables you to paste shapes into a word processor.
- Copy/paste in compartments
We have a good support of copy and paste. GMF does not basically support the possibility to copy and paste elements in compartments because some rules apply depending of the object model.
In our case, we have the edges between the activities copied if the activities are copied, for example.
- Drag a shape from one container to another
Just select a shape and drag it to another pool while pressing shift.
Validation on BPMN diagrams
We haven't created all the constraints provided by the specification yet. We have implemented those who seemed critical to us at the time. You can access them through [Window] > [Preferences...] > [Model Validation] > [Constraints].
- Constraints overview
- Problems decorations
The diagram is decorated with error or warning markers.
You can access the description of the error in the Problems view.
The validation is executed at build time, ie when you save if you build automatically, or when you type Ctrl+B. The builder nature is added to the project (exactly to the .project file) when creating the first bpmn_diagram file.
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>myFirstProcess</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.stp.bpmn.validation.BatchValidationBuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.stp.bpmn.validation.BatchValidationBuildAbleNature</nature> </natures> </projectDescription>
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.
Here is the java class where we parse the BPEL and generate BPMN: http://dev.eclipse.org/svnroot/stp/org.eclipse.stp.bpmn/trunk/samples/org.eclipse.stp.bpmn.samples/src/org/eclipse/stp/bpmn/samples/bpel2bpmn/BPEL2BPMNGenerator.java
Here is the BPEL file we are going to generate BPMN from:
<?xml version="1.0" encoding="utf-8"?> <bpel:process > <bpel:scope name="cook a cake"> <bpel:sequence> <bpel:scope name="find a recipe"> <bpel:sequence> <bpel:assign name="search on the web"/> <bpel:assign name="print recipe"/> </bpel:sequence> </bpel:scope> <bpel:assign name="shop for ingredients"/> <bpel:assign name="prepare the kitchen"/> <bpel:scope name="cook recipe"> <bpel:assign name="melt flower with paper"/> <bpel:assign name="add ingredients"/> <bpel:scope name="bake cake"> <bpel:sequence> <bpel:assign name="heat the oven at 300F"/> <bpel:assign name="leave the cake in the oven for 30 minutes"/> </bpel:sequence> </bpel:scope> </bpel:scope> </bpel:sequence> </bpel:scope> </bpel:process>