Sneak Preview of jBPM 4 at JAX conference

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

6 Favorites & 1 Group

Sneak Preview of jBPM 4 at JAX conference - Presentation Transcript

  1. jBPM 4 Sneak Preview Tom Baeyens JBoss, Red Hat
  2. JBoss jBPM
    • Business Process Management
      • BPM as a discipline
      • BPM as software engineering
    • What is jBPM
    • jBPM 4 Overview
  3. Tom Baeyens
    • Lead and founder of JBoss jBPM
    • Consulting for numerous BPM projects
    • Bringing BPM mainstream
    • Articles
      • InfoQ, TSS, Dzone, OnJava,…
    • Blogs
      • http://processdevelopments.blogspot.com/
    • Talks
      • JavaOne, JBossWorld, JAOO, TSS,…
  4. BPM as a Discipline
    • Management discipline
    • Business processes grow organic
      • Understand
      • Describe
      • Optimise
    • Non technical
    • People to people
      • What, not how
      • Can be vague
    • Unrelated to software architecture
    • Often include diagrams
  5. BPM as Software Engineering
    • Aspect of software expressed as a graph
    • Specifies execution flow
    • BPMS ‘runs’ process executions
    • It’s software
      • DSL
      • Executes on one system
      • Central dispatcher
      • Multiple participants
      • Wait states
  6. Traditional BPM Vendors
    • Stack Integrators
      • Oracle, IBM, SAP
      • XML basis for BPM ?!
      • BPEL, WSDL
      • Lots of tooling required to hide clumsy basics
      • Deprecating BPEL in favour of BPMN
    • Pure plays
      • Monolithic server
      • Automagical
      • Hard to integrate in your project
  7. jBPM !
    • Bottom Up
      • No magic
    • Server or embedded
      • Not monolithic
      • Just a library
    • Freedom
      • Use the most appropriate tech
        • Java, groovy, web services, SQL
      • Java excellent dispatcher technology
  8. jBPM’s Modelling Advantage Your App Your Architecture jBPM Business Analyst Developer
  9. jBPM’s Modelling Advantage Your App Your Architecture jBPM Business Analyst Developer
  10. jBPM Overview
    • Process Virtual Machine
      • Java state machine library
      • Pluggable Activities
    • jPDL
      • BPM as a discipline
      • Orchestrating Human Tasks & Services
      • Transactional Script
      • Execution modes
    • SEAM Pageflow
  11. jPDL Activities
    • Control flow
      • transition
      • start
      • end
      • end-cancel
      • end-error
      • decision
      • fork
      • join
      • super-state
      • sub-process
    • Functional
      • state
      • sub-process
      • task
      • java
      • script
      • esb
      • hql
      • sql
  12. jPDL Features
    • Lots of functional activities
      • mail, java, esb, task,…
    • Concurrency
    • Event listeners
    • Timers
    • Asynchronous continuations
    • Transactional exception handlers
  13. State Choice
  14. State Choice
    • < process name = &quot;StateChoice&quot; >
    • < start >
    • < transition to = &quot;wait for response&quot; />
    • </ start >
    • < state name = &quot;wait for response&quot; >
    • < transition name = &quot;accept&quot; to = &quot;submit document&quot; />
    • < transition name = &quot;reject&quot; to = &quot;try again&quot; />
    • </ state >
    • < state name = &quot;submit document&quot; />
    • < state name = &quot;try again&quot; />
    • </ process >
  15. State Choice
    • repositoryService .createDeployment()
    • .addResourceFromClasspath(
    • &quot;org/jbpm/examples/state/choice/process.jpdl.xml“ )
    • .deploy();
  16. State Choice
    • ProcessInstance processInstance = executionService
    • .startProcessInstanceByKey( &quot;StateChoice&quot; );
    • String executionId = processInstance
    • .findActiveExecutionIn( &quot;wait for response&quot; )
    • .getId();
    • processInstance = executionService
    • .signalExecutionById(executionId, &quot;accept&quot; );
    • assertEquals( &quot;submit document&quot; ,
    • processInstance.getActivityName());
  17. Human Task
  18. Human Task
    • < process name = &quot;TaskCandidates&quot; >
    • < start >
    • < transition to = &quot;review&quot; />
    • </ start >
    • < task name = &quot;review&quot;
    • candidate-groups = &quot;sales-dept&quot; >
    • < transition to = &quot;wait&quot; />
    • </ task >
    • < state name = &quot;wait&quot; />
    • </ process >
  19. Identity Component LDAP jBPM Identity Component Interface jBPM build-in JBoss IDM Your own custom implementation 3 10
  20. Identity Component johndoe joesmoe sales-dept membership membership
  21. Human Task
    • executionService
    • .startProcessInstanceByKey( &quot;TaskCandidates&quot; );
    • List<Task> johnsTakableTasks =
    • taskService .findTakableTasks( &quot;johndoe&quot; );
    • List<Task> joesTakableTasks =
    • taskService .findTakableTasks( &quot;joesmoe&quot; );
    • taskService .takeTask(task.getDbid(), &quot;johndoe&quot; );
    • List<Task> johnsPersonalTasks = taskService .findAssignedTasks( &quot;johndoe&quot; );
    • taskService .completeTask(task.getDbid());
  22. Timer Transition
  23. Timer Transition
    • < process name = &quot;TimerTransition&quot; >
    • < start >
    • < transition to = &quot;guardedWait&quot; />
    • </ start >
    • < state name = &quot;guardedWait&quot; >
    • < transition name = &quot;go on&quot; to = &quot;next step&quot; />
    • < transition name = &quot;timeout&quot; to = &quot;escalation&quot; >
    • < timer duedate = &quot;2 business days&quot; />
    • </ transition >
    • </ state >
    • < state name = &quot;next step&quot; />
    • < state name = &quot;escalation&quot; />
    • </ process >
  24. Asynchronous Continuations
    • Automatic activities in sequence
    • One takes a long time
    • Don’t block the client thread
    • async=“true”
    Transaction 1 Transaction 2 Job Executor
  25. Designer
  26. Console
  27. Console
  28. Conclusion
    • jBPM provides overview of application
      • External triggers
      • Wait states
      • Business view
    • jBPM adds a layer on top of TX basics
      • Transactional timers
      • Asynchronous messages
    • Integrates with
      • Standard & Enterprise Java
      • JBoss and other app servers
      • SEAM
      • Spring
  29. Q&A
  30. Execution Modes
  31. Execution Modes Processes Executions History JVM BPM Engine (1) Persistent Dynamic
  32. Execution Modes Executions History JVM BPM Engine Process Resources (2) Persistent Process resource
  33. Execution Modes Executions History JVM BPM Engine Process Resources (3) Persistent Embedded Referenced INSURANCE_CLAIMS ID … STATE …
  34. Execution Modes History JVM BPM Engine Process Resources (4) Persistent Embedded Included “ review” INSURANCE_CLAIMS ID … STATE …
  35. Execution Modes History JVM BPM Engine Process Resources Execution Objects (5) Memory With Persistent History
  36. Execution Modes JVM BPM Engine Process Resources Execution Objects (6) Memory
  37. Process Concurrency
SlideShare Zeitgeist 2009

+ tombaeyenstombaeyens Nominate

custom

2957 views, 6 favs, 4 embeds more stats

After a general introduction to BPM and jBPM, a cou more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 2957
    • 2671 on SlideShare
    • 286 from embeds
  • Comments 1
  • Favorites 6
  • Downloads 109
Most viewed embeds
  • 283 views on http://processdevelopments.blogspot.com
  • 1 views on http://it.paiming.org
  • 1 views on http://203.208.33.132
  • 1 views on http://www.heise.de

more

All embeds
  • 283 views on http://processdevelopments.blogspot.com
  • 1 views on http://it.paiming.org
  • 1 views on http://203.208.33.132
  • 1 views on http://www.heise.de

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories

Groups / Events