1 / 31

Workflow, BPM and Java

Workflow, BPM and Java. Tom Baeyens Lead Developer JBoss. TS-7364. Speaker. Tom Baeyens Founder and project lead of JBoss jBPM Member of JCP expert groups JSR207 ‘Process Definition for Java’ JSR208 ‘Java Business Integration’. Agenda. Missing link in Java Workflow

lacey
Download Presentation

Workflow, BPM and Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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... we’re going to add wait states

  5. Workflow requirements BPM requirements workflow solutions BPM solutions orchestration solutions Orchestration requirements

  6. System A System B ? Suspending Path of Execution

  7. Java’s 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. Node Transition leavingTransitions from * arrivingTransitions to * Graph Oriented Programming • Define a directed graph

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

  15. Token parent Node children 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 • Client’s thread is used for calculation • No reinvention • Existing Java API’s 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. Q&A

More Related