JBoss jBPM hands on PV207 Anton Giertli, Marek Czernek April, 2017 Components Start the BPM Suite ● Open terminal ● $ /mnt/data/PV207/run-jbpm.sh Clone the repository with examples ● Open http://localhost:8080/business-central ● Log in pv207/password1! (roles: admin,analyst) ● Clone example git repository Authoring -> Administration -> Repositories -> Clone Repository ○ Git URL: https://github.com/agiertli/pv207.git ○ Repository Name - arbitrary ○ Org Unit - arbitrary ○ Username / Password = MUST be empty Task 0 - Explore Data Model 1. Open the project Authoring->Project Authoring-> -> DataModel 2. Expand package org.muni.fi.datamodel 3. Explore class CoffeeOrder 4. Build the project Open Project Editor -> Build -> Build & Deploy Task 1 - Variables and Human Task 1. Open project CoffeeOrderCompany 2. Expand package org.fi.muni.coffeeordercompany 3 .Open process CoffeeOrderProcess-Task1 and follow instructions Task 2 - Integration with REST 1. Verify that we have REST service running https://tinyurl.com/pv207-curl 2. Open CoffeeOrderProcess-Task2 and follow instructions Task 3 - XOR gateway configuration 1. Open CoffeeOrderProcess-Task3 and follow the instructions Task 4 - Model signal event 1. Open CoffeeOrderProcess-Task4 and follow the instructions Solution 1. Check your work against solution 2. Build the project: Open Project Editor -> Build -> Build & Deploy 3. Run your process: Process Management -> Process Definitions -> Start 4. Interact with the running process instance Tasks -> PlaceOrder -> Start -> Fill in some values - > Complete 5. Inspect process instance state Process Management -> Process Instances -> Options -> Process Model 6. Send the signal Process Management -> Process Instances -> *click* -> jBPM vs Bizagi ● Java or MVEL for scipting ● Ease of process import/export either via *.xml files or using git approach ● Easily customizable ● Better logging capabilities on a server level, easily configurable ● Large and vivid community forum, irc, mailing lists.. ● OpenSource - you can see the guts for yourselves https://github.com/kiegroup ● Proprietary scripting language ● Cumbersome process import/export ● Strict boundaries ● Very poor debug logging capabilities - root cause never visible in log ● Help forums often ‘dead’ ● Proprietary Implementing project in jBPM? ● Download http://jbpm.org/download/download.html ○ Or use provided installation (easier \o/) ● Study http://docs.jboss.org/jbpm/v6.4/ ● Consult - 418312@mail.muni.cz ● http://webchat.freenode.net/?channels=jbpm%2Cdrools&uio=d4 ● http://jbpm.org/community/forum.html ● https://groups.google.com/forum/#!forum/jbpm-usage