Your SlideShare is downloading. ×
0
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
What's new in jBPM6
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

What's new in jBPM6

4,993

Published on

Overview of what's new in the upcoming jBPM 6 release.

Overview of what's new in the upcoming jBPM 6 release.

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,993
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
182
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 1
  • 2. 2Kris VerlaenenjBPM Project LeadWhat’s new in jBPM6June, 2013
  • 3. 3● Intro● New User Interface● Building and deploying● Session and task service mgmt● BPM service● RoadmapOverview
  • 4. 4Key Characteristics● (Executable) business processes– light-weight, native BPMN2 engine– from embedded to as a service● Entire life cycle● Both developers and business users● Advanced, adaptive processes
  • 5. 5AuthoringDeploymentExecute& ManageDashboardsDeveloperBusinessUserEnd UserLife Cycle
  • 6. 6AuthoringBusiness ProcessesBusiness RulesData ModelsFormsDeploymentDeployRepositoryManage ProcessesProcess ListInstance ManagerTasksTask ListTask CalendarDashboardsProcess Dashboards
  • 7. 7Form Modeler
  • 8. 8Authoring● Based on UberFire Workspace– GWT, Errai, etc.● Guvnor– Designer• Simulation– Data Modeler, Form Modeler, etc.– Various rule editors
  • 9. 9Deployment● VFS: Git as backend● Mavenized: kjars– processes, rules– models / classes– forms, configs, etc.● DeploymentId– dependencies
  • 10. 10Execute & ManageKieSessionTaskServiceRuntime ManagerPersistenceSingletonPer requestPer process instanceJPA2 (Hibernate)JTA / SpringPluggable
  • 11. 11RuntimeManager manager =  RuntimeManagerFactory.Factory.get()    .newPerProcessInstanceRuntimeManager(environment);RuntimeEngine runtime =    manager.getRuntimeEngine(        ProcessInstanceIdContext.get());KieSession ksession = runtime.getKieSession();TaskService taskService = runtime.getTaskService();// do something here, e.g.ksession.startProcess(“org.jbpm.hello”);manager.disposeRuntimeEngine(engine);manager.close();Runtime Manager
  • 12. 12Execute & ManageKieSessionTaskServiceRuntime ManagerPersistencejBPM ServicesTimerQuartzRestore SessionsCDIDeployment
  • 13. 13@Inject@SingletonRuntimeManager singletonManager;@InjectTaskService taskService;public void myMethod(..) {  RuntimeEngine runtime =    singletonManager.getRuntimeEngine(EmptyContext.get());  KieSession ksession = runtime.getKieSession();  ksession.startProcess(..);  taskService.start(..);}jBPM Services
  • 14. 14Execute & ManageKieSessionTaskServiceRuntime ManagerPersistencejBPM ServicesTimerKieSessionTaskServiceRuntime ManagerjBPM ServicesTimer
  • 15. 15● KieSession and TaskService– uses jBPM Services and RuntimeManager– “execute”● Using REST or JMS● Remote client using existing interfacesRemote API
  • 16. 16REST APIhttp://server.address:port/{application-id}/rest/runtime{id: [a-zA-Z0-9-]+} // deploymentIdprocess{id: [a-zA-Z0-9-]+}start * start process [POST]instance{id: d} * process instance details [GET]signal * signal event [POST]abort * abort process instance [POST]signal{id: [a-zA-Z0-9-]+} * signal event [POST]workitem{id: d}complete * complete work item [POST]abort * abort work item [POST]execute * execute the given command [POST]task{id: d+} * task details [GET]activate * activate taskclaim * claim task [POST]// etc..execute * execute the given command [POST]query * task query
  • 17. 17RemoteRuntimeManagerjbpm-servicesTaskServiceKieSessionREST/JMSKieSession +TaskService APICommandOther RESTClient<command­message>  <deploymentId>test</deploymentId>  <ver>1</ver>  <start­task>    <taskId>1</taskId>    <userId>krisv</userId>  </start­task></command­message>
  • 18. 18RuntimeManager runtimeManager =   new RemoteSessionFactory(    "http://localhost:8080/kie­wb", "test")      .newRuntimeManager();RuntimeEngine engine =   runtimeManager.getRuntimeEngine(    EmptyContext.get());engine.getKieSession()  .startProcess("org.jbpm.humantask");engine.getTaskService().start(1, "krisv");Remote REST Client
  • 19. 19Cloud-enabled
  • 20. 20● Exception and compensation management● Extended History Logging● BPSim 1.0● WS and REST integration● Eclipse BPMN2 ModelerWhat Else ?
  • 21. 21Feb11 Nov12jBPM 5.05.4 6.0Unified Web UIDeploymentRuntime MgmtjBPM servicesRemote api + clientJun13jBPM Roadmap6.1 6.xImproved Web UIConnectorsDynamic / CasesCloud-enabledMobileCollaborationSocialRedHat JBoss BPMS 6
  • 22. 22Example: Checklisthttps://github.com/droolsjbpm/jbpm/tree/master/jbpm-examples/src/main/java/org/jbpm/examples/checklist
  • 23. 23Example: Dynamic● Process evolution / migration– WorkflowProcessInstanceUpgrader.upgradeProcessInstance(    ksession, processInstance.getId(), "ruleflow2", ...);● Ad-Hoc (Sub-)Processes– DynamicUtils.addDynamicWorkItem(processInstance,    ksession, "OtherTask", new HashMap<String, Object>());● Updating one process instance– insertNodeInBetween(process, 2, 3, node);processInstance.updateProcess(process);● Business Rules● Towards Case Management
  • 24. 24● Day: Thursday, June 13th● Location:Hynes Convention Centre,Hynes Room 110● Time: 09.30 to 17.00Drools & jBPMWalk In Center
  • 25. 25BackupSlides
  • 26. 26
  • 27. 27
  • 28. 28
  • 29. 29
  • 30. 30
  • 31. 31
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38

×