jBPM
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
Uploaded on

Presentation about jBPM - business process framework from JBoss

Presentation about jBPM - business process framework from JBoss

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
846
On Slideshare
838
From Embeds
8
Number of Embeds
2

Actions

Shares
Downloads
10
Comments
0
Likes
1

Embeds 8

https://www.linkedin.com 6
http://www.linkedin.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. &jBPM & BPMNjPraseVít Kotačka24. 11. 2011© Adastra Group
  • 2. Agenda  BPMN ̶ Overview  jBPM ̶ JBoss Middleware & BRMS ̶ Core Engine API ̶ Process Nodes ̶ Human Tasks ̶ Testing & debugging2
  • 3. BPMN Overview3
  • 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. Example DiagramBusiness Process BPMN Activity2 FirstLine Activity1 StartEvent1 EndEvent1 Activity3 SecondLine Activity4 Use Case1 (from Use Case)5
  • 6. Elements  Flow objects ̶ Activity ̶ Event ̶ Gateway  Connecting object ̶ Sequence flow ̶ Message flow ̶ Association  Swim lanes ̶ Pool ̶ Lane  Artifacts ̶ Data object ̶ Group6
  • 7. Activities7
  • 8. Events  Start Event  Stop Event  Intermediate Event ̶ Interrupting ̶ Non-interrupting8
  • 9. Gateways9
  • 10. Swimlines10
  • 11. 72 Implementations11
  • 12. JBoss Middleware & BRMS12
  • 13. JBoss Enterprise Middleware13
  • 14. JBoss Enterprise SOA14
  • 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. Core Engine API16
  • 17. Core Engine17
  • 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. 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. Events  Session can register listeners.  ProcessEventListener listens to process-related events.  KnowledgeRuntimeLoggerFactory adds logger to session. ̶ console logger ̶ file logger20
  • 21. ProcessEventListener21
  • 22. Process Nodes22
  • 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. 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. Gateways  Diverging Gateway ̶ AND (parallel) ̶ XOR (exclusive) ̶ OR (inclusive)  Converging Gateway ̶ AND ̶ XOR25
  • 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. 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. Human Tasks28
  • 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. Human Task Model30
  • 31. Human Task Life-cycle31
  • 32. Testing & debugging32
  • 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. What has been omitted  Rule Tasks  Persistence  Transactions  Domain-specific processes  Process (Knowledge) repository  Business Activity Monitoring  Flexible Processes34
  • 35. Sources  http://www.bpmn.org/  http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf  http://www.jboss.org/jbpm35
  • 36. 36