Workflow, BPM and Java - PowerPoint PPT Presentation

About This Presentation
Title:

Workflow, BPM and Java

Description:

Define a set of constructs. That are the node-types in a graph. With a ... Define an executional model. A Signal is the trigger that resumes process execution ... – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 32
Provided by: jbo82
Category:
Tags: bpm | define | java | workflow

less

Transcript and Presenter's Notes

Title: Workflow, BPM and Java


1
Workflow, BPM and Java
  • Tom Baeyens
  • Lead DeveloperJBoss

TS-7364
2
Speaker
  • Tom Baeyens
  • Founder and project lead of JBoss jBPM
  • Member of JCP expert groups
  • JSR207 Process Definition for Java
  • JSR208 Java Business Integration

3
Agenda
  • Missing link in Java
  • Workflow
  • Business Process Management (BPM)
  • Orchestration
  • Traditional Approach
  • Graph Oriented Programming
  • Conclusion

4
After all the trouble to make Java fast...
  • were going to
  • add wait states

5
Workflow requirements
BPM requirements
workflow solutions
BPM solutions
orchestration solutions
Orchestration requirements
6
Suspending Path of Execution
7
Javas Limitation
... sendMessageToSystemB() Response response
waitForResponseFromB() ...
  • Not persistable
  • No graphical representation

8
Graphical Representation
  • Analyst draws graphs that include wait states
  • Technical solution enables common language
  • Analysts do not create software
  • Iterative refinement
  • Developer adds technical details
  • Analyst looks at projected view

9
Agenda
  • Missing link in Java
  • Workflow
  • Business Process Management (BPM)
  • Orchestration
  • Traditional Approach
  • Graph Oriented Programming
  • Conclusion

10
Traditional Approach
  • Define a set of constructs
  • That are the node-types in a graph
  • With a graphical representation
  • And a runtime behaviour
  • Set of constructs is process language

11
Traditional Problems
  • Monolithic systems
  • Process language is never powerfull enough
  • No modelling freedom
  • Turns into visual programming

12
Agenda
  • Missing link in Java
  • Workflow
  • Business Process Management (BPM)
  • Orchestration
  • Traditional Approach
  • Graph Oriented Programming
  • Conclusion

13
Graph Oriented Programming
  • Define a directed graph

14
Graph Oriented Programming
  • Define an executional model
  • A Token is a path of execution in a single system

15
Graph Oriented Programming
  • Define an executional model

Troot
Tshipping
Tbilling
16
Graph Oriented Programming
  • Define an executional model
  • A Signal is the trigger that resumes process
    execution

System A
Token
send message to System B
send a Signal to the Token
17
Creating the ProcessInstance
  • ProcessInstance pi
  • new ProcessInstance(pd)
  • Token token pi.getRootToken()
  • token.signal()
  • // put process instance and token
  • // in the persistent store

e.g. web app
// fetch the token from // the persistent
store Token token ... token.signal()
e.g. MDB
18
Graph Execution Algorithm
  • Chain of Responsibility

leavingTransitions
Node
Transition

execute(Token) leave(Token, Transition)
take(Token)
to
1
19
Graph Execution Algorithm
  • Algorithm is aligned with transactions
  • Clients thread is used for calculation
  • No reinvention
  • Existing Java APIs are leveraged
  • e.g. JMS for asynchronous communication

20
Hiding Details with Actions
21
Hiding Details with Actions
22
Hiding Details with Actions
Token
23
Graph Oriented Programming
GOP provides the means to structure your
software around a graph
24
Agenda
  • Missing link in Java
  • Workflow
  • Business Process Management (BPM)
  • Orchestration
  • Traditional Approach
  • Graph Oriented Programming
  • Conclusion

25
Graph Oriented Programming
  • Simple API chain of responsibility
  • replaces monolithic systems
  • Inheriting from Node
  • gives ultimate process language power
  • Adding invisible Actions
  • give modelling freedom
  • Process development cycle
  • replaces visual programming

26
Building Blocks
Task User Interfaces
Transport
BI User Interfases
Task Mgmt
Async Invocation
Business Intelligence
Graph Oriented Programming
Java
27
Summary
  • Java has limited support for wait states
  • Graph Oriented Programming extends Java with the
    ability to suspend and resume executions
  • Graph Oriented Programming is a building block
  • Workflow, BPM and orchestration functionalities
    can be built on top of it

28
Conclusion
  • JBoss jBPM implements this technology
  • modular
  • with functional extensions
  • Available as a POJO API in a plain .jar
  • Scales to enterprise
  • So you can stop writing home grown frameworks

29
Next Steps
  • Visit
  • http//jbpm.org
  • http//jboss.com
  • JBoss jBPM userguide
  • Chapter Graph Oriented Programming
  • Get involved
  • http//jbpm.org/forums
  • http//jbpm.org/wiki
  • JBoss jBPM Training
  • http//jbpm.org/training

30
Demo
31
QA
Write a Comment
User Comments (0)
About PowerShow.com