presentation jbpm community day 2009 - first steps with jbpm4
DESCRIPTION
TRANSCRIPT
FIRST STEPS WITH JBPM4
Joram BarrezjBPM Community Day 2009
WH
OAM
I
• jBPM consultant at
• Co-founder of
• jBPM blog: http://www.jorambarrez.be
./whoami
jBPM Community Day 2009
GO
ALS
• Tech demo: demonstration of new jBPM4 API
• Showing how easy it is to use jBPM in your application
• Extracting business insight from the new history tables
• Community discussion?
• All in the next 20 minutes or so …
./Goals
jBPM Community Day 2009
JBPM4 CO
NCEPTS
./jBPM4 API
jBPM Community Day 2009
Process engine
RepositoryService
Managing deployments
Deployment createDeployment()
deployment.addResourceFromClasspath(“")
ProcessDefinitionQuery createProcessDefinitionQuery();
JBPM4 CO
NCEPTS
./jBPM4 API
jBPM Community Day 2009
Process engine
RepositoryService
ExecutionService
Managing runtime executions
startProcessInstanceById(pd_id)
signalExecutionByXXX
Get/setVariable(s)
JBPM4 CO
NCEPTS
./jBPM4 API
jBPM Community Day 2009
Process engine
RepositoryService
ExecutionService
TaskService
Managing tasks
takeTask(actor)
completeTask(outcom)
cancelTask(task)
AssignTask(actor)
findTaskXXX
JBPM4 CO
NCEPTS
./jBPM4 API
jBPM Community Day 2009
Process engine
RepositoryService
ExecutionService
TaskService
HistoryService
Managing past runtime data
HistoryActivityInstanceQuery query = historyService.createHistoryActivityInstanceQuery().activityName("Wait").executionId(“123");Query.execute
avgDurationPerActivity(pd_id);
JBPM4 CO
NCEPTS
./jBPM4 API
jBPM Community Day 2009
Process engine
RepositoryService
ExecutionService
TaskService
HistoryService
ManagementService Process engine maintenance
executeJob(long jobDbid)
JBPM4 CO
NCEPTS
./jBPM4 API
jBPM Community Day 2009
Process engine
RepositoryService
ExecutionService
TaskService
HistoryService
ManagementService
Your app
Only communication with enginethrough interfaces!
FEATURES
• Clean client API (ideally you shouldn't be using anything else)
• Simplified DB schema• runtime vs historical data separation!• eg process instance is in DB only during execution, afterwards it is deleted and stored in a history table
• Performance boost (and no method-chaining)
• Fancy web console (GWT)
./Features on first sight
jBPM Community Day 2009
DEM
O./Demo use case
jBPM Community Day 2009
?
DEM
O./Demo use case
jBPM Community Day 2009
• Problem: using coins for parking is sooooo 90's• The solution
+ =
DEM
O./The process
jBPM Community Day 2009
Check blacklistAnd subscription
Ask for customer approval on
machine
Wait until customer returnsAnd send second sms
Bill customer
DEM
O./demo
jBPM Community Day 2009
Time spent jBPMGUIBluetooth
DEM
O./demo
jBPM Community Day 2009
GUI
ParkingBpmService
controllers
DEMO
THE WORLD WITHOUT BPM