Sneak Preview of jBPM 4 at JAX conference
Upcoming SlideShare
Loading in...5
×
 

Sneak Preview of jBPM 4 at JAX conference

on

  • 7,209 views

After a general introduction to BPM and jBPM, a couple of concrete examples show what jBPM can do.

After a general introduction to BPM and jBPM, a couple of concrete examples show what jBPM can do.

Statistics

Views

Total Views
7,209
Views on SlideShare
6,692
Embed Views
517

Actions

Likes
6
Downloads
183
Comments
1

18 Embeds 517

http://processdevelopments.blogspot.com 462
http://www.slideshare.net 22
https://www.linkedin.com 4
http://processdevelopments.blogspot.de 4
http://processdevelopments.blogspot.nl 4
http://www.linkedin.com 4
http://processdevelopments.blogspot.fr 3
http://processdevelopments.blogspot.ru 2
http://processdevelopments.blogspot.co.uk 2
http://processdevelopments.blogspot.co.at 2
http://processdevelopments.blogspot.be 1
http://processdevelopments.blogspot.se 1
http://processdevelopments.blogspot.dk 1
http://processdevelopments.blogspot.in 1
http://www.heise.de 1
http://processdevelopments.blogspot.ca 1
http://203.208.33.132 1
http://it.paiming.org 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • http://it.paiming.org
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sneak Preview of jBPM 4 at JAX conference Sneak Preview of jBPM 4 at JAX conference Presentation Transcript

  • jBPM 4 Sneak Preview Tom Baeyens JBoss, Red Hat
  • JBoss jBPM
    • Business Process Management
      • BPM as a discipline
      • BPM as software engineering
    • What is jBPM
    • jBPM 4 Overview
  • 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,…
  • 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
  • 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
  • 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
  • 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
  • jBPM’s Modelling Advantage Your App Your Architecture jBPM Business Analyst Developer
  • jBPM’s Modelling Advantage Your App Your Architecture jBPM Business Analyst Developer
  • 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
  • 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
  • jPDL Features
    • Lots of functional activities
      • mail, java, esb, task,…
    • Concurrency
    • Event listeners
    • Timers
    • Asynchronous continuations
    • Transactional exception handlers
  • State Choice
  • 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 >
  • State Choice
    • repositoryService .createDeployment()
    • .addResourceFromClasspath(
    • &quot;org/jbpm/examples/state/choice/process.jpdl.xml“ )
    • .deploy();
  • 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());
  • Human Task
  • 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 >
  • Identity Component LDAP jBPM Identity Component Interface jBPM build-in JBoss IDM Your own custom implementation 3 10
  • Identity Component johndoe joesmoe sales-dept membership membership
  • 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());
  • Timer Transition
  • 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 >
  • 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
  • Designer
  • Console
  • Console
  • 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
  • Q&A
  • Execution Modes
  • Execution Modes Processes Executions History JVM BPM Engine (1) Persistent Dynamic
  • Execution Modes Executions History JVM BPM Engine Process Resources (2) Persistent Process resource
  • Execution Modes Executions History JVM BPM Engine Process Resources (3) Persistent Embedded Referenced INSURANCE_CLAIMS ID … STATE …
  • Execution Modes History JVM BPM Engine Process Resources (4) Persistent Embedded Included “ review” INSURANCE_CLAIMS ID … STATE …
  • Execution Modes History JVM BPM Engine Process Resources Execution Objects (5) Memory With Persistent History
  • Execution Modes JVM BPM Engine Process Resources Execution Objects (6) Memory
  • Process Concurrency