0
&jBPM & BPMNjPraseVít Kotačka24. 11. 2011© Adastra Group
Agenda     BPMN       ̶   Overview     jBPM       ̶   JBoss Middleware & BRMS       ̶   Core Engine API       ̶   Proces...
BPMN Overview3
Business Process Model and Notation     Graphical representation for specifying business processes.     Providing a nota...
Example DiagramBusiness Process BPMN                                                   Activity2    FirstLine             ...
Elements     Flow objects        ̶   Activity        ̶   Event        ̶   Gateway     Connecting object        ̶   Seque...
Activities7
Events     Start Event     Stop Event     Intermediate Event       ̶   Interrupting       ̶   Non-interrupting8
Gateways9
Swimlines10
72 Implementations11
JBoss Middleware & BRMS12
JBoss Enterprise Middleware13
JBoss Enterprise SOA14
Drools/JBoss BRMS      Drools Guvnor: A centralised repository for Drools       Knowledge Bases. The repository component...
Core Engine API16
Core Engine17
Knowledge Base        Contains a reference to all the relevant process definitions.        Can be shared across sessions...
Session        Can be created based on a knowledge base.        Are used to execute processes and interact with engine. ...
Events      Session can register listeners.      ProcessEventListener listens to process-related events.      Knowledge...
ProcessEventListener21
Process Nodes22
Process Node Types      Events: They are used to model the occurrence of a particular       event.      Activities: Thes...
Events      Start Event: The start of the process.      End Events         ̶   End Event: The end of the process.       ...
Gateways      Diverging Gateway        ̶   AND (parallel)        ̶   XOR (exclusive)        ̶   OR (inclusive)      Conv...
Activities      Script Task: A script that should be executed in this       process. Can access any variables and globals...
Activities      Embedded Sub-process: A Sub-       Process is a node that can contain       other nodes so that it acts a...
Human Tasks28
Human Tasks      Based on the WS-HumanTask specification.      An atomic task that needs to be executed by a human actor...
Human Task Model30
Human Task Life-cycle31
Testing & debugging32
Debugging      Process Instance(s) View shows the currently running process       instances.      Human Task View can co...
What has been omitted        Rule Tasks        Persistence        Transactions        Domain-specific processes      ...
Sources      http://www.bpmn.org/      http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf      http://www.jboss.org/jbpm35
36
Upcoming SlideShare
Loading in...5
×

jBPM

685

Published on

Presentation about jBPM - business process framework from JBoss

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
685
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "jBPM"

  1. 1. &jBPM & BPMNjPraseVít Kotačka24. 11. 2011© Adastra Group
  2. 2. Agenda  BPMN ̶ Overview  jBPM ̶ JBoss Middleware & BRMS ̶ Core Engine API ̶ Process Nodes ̶ Human Tasks ̶ Testing & debugging2
  3. 3. BPMN Overview3
  4. 4. Business Process Model and Notation  Graphical representation for specifying business processes.  Providing a notation that is intuitive to business users :-)  Maintained by OMG (Object Management Group).  Similar to Activity Diagrams from UML.  Provides a mapping between the graphics of the notation and the underlying constructs of execution languages (BPEL).  Shows the flow of data (messages), but it is not a data flow diagram.4
  5. 5. Example DiagramBusiness Process BPMN Activity2 FirstLine Activity1 StartEvent1 EndEvent1 Activity3 SecondLine Activity4 Use Case1 (from Use Case)5
  6. 6. Elements  Flow objects ̶ Activity ̶ Event ̶ Gateway  Connecting object ̶ Sequence flow ̶ Message flow ̶ Association  Swim lanes ̶ Pool ̶ Lane  Artifacts ̶ Data object ̶ Group6
  7. 7. Activities7
  8. 8. Events  Start Event  Stop Event  Intermediate Event ̶ Interrupting ̶ Non-interrupting8
  9. 9. Gateways9
  10. 10. Swimlines10
  11. 11. 72 Implementations11
  12. 12. JBoss Middleware & BRMS12
  13. 13. JBoss Enterprise Middleware13
  14. 14. JBoss Enterprise SOA14
  15. 15. Drools/JBoss BRMS  Drools Guvnor: A centralised repository for Drools Knowledge Bases. The repository component is where you can store versions of rules, models, functions, processes etc.  Drools Expert: A forward chaining rule engine based on Rete algorithm.  jBPM: A light-weight, extensible workflow engine written in pure Java that allows to execute business processes using the latest BPMN 2.0 specification.15
  16. 16. Core Engine API16
  17. 17. Core Engine17
  18. 18. Knowledge Base  Contains a reference to all the relevant process definitions.  Can be shared across sessions.  Usually is only created once (at the start of the application).  Can be dynamically changed (add/remove process at runtime). KnowledgeBuilder kBuilder = KnowledgeBuilderFactory .newKnowledgeBuilder(); kBuilder.add(ResourceFactory .newClassPathResource("hello.bpmn"), ResourceType.BPMN2); KnowledgeBase kBase = kBuilder.newKnowledgeBase();18
  19. 19. Session  Can be created based on a knowledge base.  Are used to execute processes and interact with engine.  Multiple sessions can be created (independency, scalability).  Is relatively lightweight. StatefulKnowledgeSession session = kBase.newStatefulKnowledgeSession(); ProcessInstance process = session.startProcess( "com.adastracorp.jbpm.hello");19
  20. 20. Events  Session can register listeners.  ProcessEventListener listens to process-related events.  KnowledgeRuntimeLoggerFactory adds logger to session. ̶ console logger ̶ file logger20
  21. 21. ProcessEventListener21
  22. 22. Process Nodes22
  23. 23. Process Node Types  Events: They are used to model the occurrence of a particular event.  Activities: These define the different actions that need to be performed during the execution of the process.  Gateways: Can be used to define multiple paths in the process.23
  24. 24. Events  Start Event: The start of the process.  End Events ̶ End Event: The end of the process. ̶ Throwing Error Event: Can be used to signal an exceptional condition in the process.  Intermediate Events ̶ Catching Timer Event: A timer that can trigger one or multiple times after a given period of time. ̶ Catching Signal Event: Can be used to respond to internal or external events during the execution of the process.24
  25. 25. Gateways  Diverging Gateway ̶ AND (parallel) ̶ XOR (exclusive) ̶ OR (inclusive)  Converging Gateway ̶ AND ̶ XOR25
  26. 26. Activities  Script Task: A script that should be executed in this process. Can access any variables and globals.  Service Task: An (abstract) unit of work that should be executed in this process (work that is executed outside the process engine).  User Task: An (atomic) task that need to be executed by human actors.  Reusable Sub-process: An invocation of another process from within this process.  Business Rule Task: A set of rules that need to be evaluated. Rules are defined in separate files using the Drools rule format.26
  27. 27. Activities  Embedded Sub-process: A Sub- Process is a node that can contain other nodes so that it acts as a node container. If you use a terminating event node inside a sub-process, you are terminating the top-level process instance, not just that sub-process.  Mulit-instance Sub-process: Allows you to execute the contained process segment multiple times, once for each element in a collection.27
  28. 28. Human Tasks28
  29. 29. Human Tasks  Based on the WS-HumanTask specification.  An atomic task that needs to be executed by a human actor.  Can be assigned to ̶ one specific user ̶ one or more groups  Can be used in combination with swimlanes to assign multiple human tasks to the same actor.  Human task service ̶ manages the life cycle of the tasks (creation, claiming, completion, etc.) ̶ stores the state of all the tasks ̶ supports features like internationalization, calendar integration, different types of assignments, delegation, deadlines, etc.29
  30. 30. Human Task Model30
  31. 31. Human Task Life-cycle31
  32. 32. Testing & debugging32
  33. 33. Debugging  Process Instance(s) View shows the currently running process instances.  Human Task View can connect to a running human task service and request the relevant tasks for a particular user.  Audit View is a log of all events that were logged from the session.33
  34. 34. What has been omitted  Rule Tasks  Persistence  Transactions  Domain-specific processes  Process (Knowledge) repository  Business Activity Monitoring  Flexible Processes34
  35. 35. Sources  http://www.bpmn.org/  http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf  http://www.jboss.org/jbpm35
  36. 36. 36
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×