jBPM5 (Argentina workshop)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

jBPM5 (Argentina workshop)

on

  • 2,951 views

 

Statistics

Views

Total Views
2,951
Views on SlideShare
2,945
Embed Views
6

Actions

Likes
1
Downloads
202
Comments
0

1 Embed 6

http://srvpsat.gpm.int 6

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

jBPM5 (Argentina workshop) Presentation Transcript

  • 1. Kris Verlaenen – jBPM Lead June 17 th , 2011 jBPM5 : Bringing more Power to your Business Processes
  • 2. Overview
    • What is BPM?
    • 3. Overview of jBPM5
    • 4. Flexible processes
    • 5. Demo
    • 6. Roadmap
  • 7. What is BPM?
  • 8. What is BPM? A business process is a process that describes the order in which a series of steps need to be executed, using a flow chart. Business Process Management
  • 9. Why BPM?
    • Visibility
    • 10. Monitoring
    • 11. Higher-level
    • Continuous improvement
    • 12. Speed of development
    • 13. Increased agility
  • 14. Overview of jBPM5
  • 15. Key Characteristics of jBPM5
    • Open-source business process management project offering:
      • generic process engine supporting native BPMN 2.0 execution
      • 16. targeting developers and business users
      • 17. collaboration, management and monitoring using web-based consoles
      • 18. powerful rules and event integration
  • 19. Core Services Business Analyst End User Developer Rules Your Services Core Engine Guvnor Repository Eclipse Editor Web-Based Designer History Log Task Service jBPM Console Your Application
  • 20. From Workflow to BPM
    • Core engine is a workflow engine in pure Java
      • state transitions
      • 21. lightweight
      • 22. embeddable
      • 23. generic, extensible
    Core Engine
  • 24. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
  • 25. Java Interface ProcessRuntime interface
    • startProcess(processId)
    • 26. startProcess(processId, parameters)
    • 27. signalEvent(type, event)
    • 28. signalEvent(type, event, instanceId)
    • 29. abortProcessInstance(instanceId)
    • 30. getProcessInstance(instanceId)
    • 31. …
  • 32. Java Example // (1) Create knowledge base and add process definition KnowledgeBuilder kbuilder = ... kbuilder.add( ..., "sample.bpmn", ResourceType.BPMN2); KnowledgeBase kbase = kbuilder.newKnowledgeBase(); // (2) Create new stateful knowledge session StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); // (3) Start a new process instance ksession.startProcess(“com.sample.bpmn.hello”);
  • 33. From Workflow to BPM Core Engine
  • 34. From Workflow to BPM Core Engine BPMN 2.0 XML
  • 35. BPMN 2.0
    • OMG specification
      • Model
      • 36. Notation
      • 37. Execution semantics
    • Understandable by all business users
    • 38. Process, collaboration, choreography
    • 39. Extensible
  • 40. BPMN 2.0 Example < definitions ... > < process id=&quot;com.sample.bpmn.hello&quot; name=&quot;Hello World&quot; > < startEvent id=&quot;_1&quot; name=&quot;StartProcess&quot; /> < sequenceFlow sourceRef=&quot;_1&quot; targetRef=&quot;_2&quot; /> < scriptTask id=&quot;_2&quot; name=&quot;Hello&quot; > < script >System.out.println(&quot;Hello World&quot;);</ script > </ scriptTask > < sequenceFlow sourceRef=&quot;_2&quot; targetRef=&quot;_3&quot; /> < endEvent id=&quot;_3&quot; name=&quot;EndProcess&quot; /> </ process > </ definitions > < definitions ... > < process id=&quot;com.sample.bpmn.hello&quot; name=&quot;Hello World&quot; > < startEvent id=&quot;_1&quot; name=&quot;StartProcess&quot; /> < sequenceFlow sourceRef=&quot;_1&quot; targetRef=&quot;_2&quot; /> < scriptTask id=&quot;_2&quot; name=&quot;Hello&quot; > < script >System.out.println(&quot;Hello World&quot;);</ script > </ scriptTask > < sequenceFlow sourceRef=&quot;_2&quot; targetRef=&quot;_3&quot; /> < endEvent id=&quot;_3&quot; name=&quot;EndProcess&quot; /> </ process > </ definitions >
  • 41.  
  • 42.  
  • 43. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions JPA JTA
  • 44. Persistence and Transactions
    • Persistence (JPA, pluggable)
      • Runtime persistence
      • 45. History logging
      • 46. Services
    • Transactions (JTA, pluggable)
      • Command-scoped
      • 47. User-defined
  • 48. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events History Log Management Console BAM
  • 49. Console
    • Web-based management
    • 50. Business user
    • 51. Features
      • Process instance management
      • 52. User task lists / forms
      • 53. Reporting
  • 54.  
  • 55.  
  • 56.  
  • 57. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events Integration Domain-specific Processes Human Task Service ESB
  • 58. Domain-specific Processes
    • Extend palette with domain-specific, declarative service nodes
      • define input / output parameters
      • 59. runtime binding
  • 60. Human task service
    • User task
    • 61. Human task service (WS-HT)
      • Task lists
      • 62. Task life cycle
    • Task clients
      • Task forms
  • 63. Flexible Processes
  • 64.  
  • 65. What is flexibility? “ The quality of being adaptable or variable”
  • 66. Flexibility = Variability + Change
  • 67. Exceptional Control Flow 90% 5% 3% 2%
  • 68. Exceptional Control Flow 90% Rule1 When ... Then ... Rule2 When ... Then ... Rule3 When ... Then ... 5% 3% 2%
  • 69. Processes + Rules + Events
  • 70. Combining processes and rules
    • Integration
      • From loose coupling (decision services)
      • 71. To advanced integration (process rules)
    • Unification
      • Rules and processes are different types of business knowledge assets
      • 72. Tooling (IDE, repository, management)
  • 73. Decision Service
    • Different life cycle (agility)
    • 74. Larger scope (reusable)
    • 75. Higher-level
    • 76. Loosely-coupled
  • 77. Example: Clinical DSS
  • 78. Example: Build Management Source: Hudson Execution and Scheduling Architecture
  • 79. Example: Build Management Source: Hudson Execution and Scheduling Architecture
  • 80. Roadmap
    • jBPM 5.0: Februari 2011
    • 81. jBPM 5.1: NOW ...
      • Improve designer to support full round-tripping
      • 82. New Eclipse BPMN2 editor
      • 83. Lots of small feature improvements and bug fixes
    • jBPM 5.2 – jBPM 6.x
      • Simulation / testing / replay
      • 84. Flexible, adaptive, goal-oriented processes
      • 85. Integrated “no-code” tooling (form builder, etc.)
  • 86. jBPM5: What, where?
    • jBPM home page
    • 87. Source http://github.com/droolsjbpm/jbpm
    • 88. Hudson http://hudson.jboss.org/hudson/job/jBPM
    • 89. Blog http://kverlaen.blogspot.com/
    • 90. #jbpm on irc.codehaus.org
    • 91. [email_address]
    • 92. jBPM user forum