Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JBoss Brings More Power to your Business Processes (PTJUG)


Published on

Session given at the PTJUG (Portugal JUG):

A Business Process Management System (BPMS) offers you the capabilities to better manage and streamline your business processes. JBoss jBPM continues its vision in this area by offering a lightweight process engine for executing business processes, combined with the necessary services and tooling to support business processes in their entire life cycles. This allows not only developers but also business users to manage your business processes more efficiently.

A lot has happened in the BPM area over the last few years, with the introduction of the BPMN 2.0 standard, the increasing interest in more dynamic and adaptive processes, integration with business rules and event processing, case management, etc. In this session, we will show you how jBPM5 tackles these challenges, discuss migration to this new platform and give you an overview of its most important features.

Published in: Technology
  • Be the first to comment

JBoss Brings More Power to your Business Processes (PTJUG)

  1. JBoss jBPM, the future is now for all your Business Processes Eric D. Schabell JBoss Senior Solution Architect
  2. What is BPM? Overview jBPM5 Flexible Processes Cool Stuff
  3. Business Process Management is a systematic approach to making an organization's workflow more effective, more efficient and more capable of adapting to an ever-changing environment.
  4. Workflow is? A business process as an activity or set of activities that will accomplish a specific organizational goal.
  5. What is BPM? Overview jBPM5 Flexible Processes Cool Stuff
  6. From Workflow... <ul><li>Core engine is a workflow engine in pure Java </li></ul><ul><ul><li>state transitions
  7. lightweight
  8. embeddable
  9. generic, extensible </li></ul></ul>Core Engine
  10. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
  11. ProcessRuntime interface <ul><li>startProcess(processId)
  12. startProcess(processId, parameters)
  13. signalEvent(type, event)
  14. signalEvent(type, event, instanceId)
  15. abortProcessInstance(instanceId)
  16. getProcessInstance(instanceId) </li></ul>
  17. BPMS Core Engine BPMN 2.0 XML JBDS 5 BPMN2 Editor Web Designer (business users)
  18. Round trip tooling
  19. BPMN 2.0 <ul><li>OMG specification </li><ul><li>Model
  20. Notation
  21. Execution semantics </li></ul><li>Understandable by all business users
  22. Process, collaboration, choreography
  23. Extensible </li></ul>
  24. BPMN 2.0 <ul><li>OMG specification </li><ul><li>Model
  25. Notation
  26. Execution semantics </li></ul><li>Understandable by all business users
  27. Process, collaboration, choreography
  28. Extensible </li></ul>
  29. jBPM5 and BPMN2 <ul><li>Focus on executable processes </li><ul><li>Java environment
  30. Native execution </li></ul><li>Subset </li><ul><li>Common Executable ++ </li></ul><li>High-level and domain-specific
  31. Minimal custom extensions </li></ul>
  32. 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 >
  33. BPEL Vs BPMN <ul><li>Red Hat does not intend to create 2 BPM solutions
  34. BPMN2 is the strategic direction
  35. BPEL requirements will be fulfilled with implementation.
  36. Project Riftsaw – implementation of BPEL will be included in SOA-P 5.2
  37. Future BPM solutions will be built on BPMN2 standards
  38. JBoss BPM platform is our answer to all process flow / workflow solutions </li></ul>
  39. BPMN2 positioning BPMN2 Model
  40. BPMS Core Engine BPMN 2.0 XML Persistence Trans- actions JPA (runtime, history, services) JTA (command-scoped, user-defined)
  41. BPMS Core Engine BPMN 2.0 XML Persistence Trans- actions Events History Log Management Console
  42. Administration Console
  43. BPMS Core Engine BPMN 2.0 XML Persistence Trans- actions Events Integration Domain-specific Processes Human Task Service (WS-HT) ESB
  44. What is BPM? Overview jBPM5 Flexible Processes Cool Stuff
  45. Being able to adapt...
  46. Exceptional Control Flow 90% 5% 3% 2%
  47. Exceptional Control Flow 90% Rule1 When ... Then ... Rule2 When ... Then ... Rule3 When ... Then ... 5% 3% 2%
  48. Processes + Rules + Events
  49. Medical process
  50. What is BPM? Overview jBPM5 Flexible Processes Cool Stuff
  51. Web based artifact management <ul><li>BRM as knowledge repository </li></ul><ul><ul><li>BPMN2 processes
  52. Task and process forms </li></ul></ul><ul><li>Web designer (Oryx)
  53. Build, deploy, test, manage and collaboration features </li></ul>
  54. That's awesome!
  55. Domain-specific Processes <ul><li>Extend palette with domain-specific, declarative service nodes </li></ul><ul><ul><li>define input / output parameters
  56. runtime binding </li></ul></ul>
  57. Service Repository [ [ &quot; name &quot; : &quot;JavaNode&quot;, &quot; parameters &quot; : [ &quot;class&quot; : new StringDataType(), &quot;method&quot; : new StringDataType(), ], &quot; displayName &quot; : &quot;Java Node&quot;, &quot; icon &quot; : &quot;icons/java.gif&quot; ] ]
  58. jBPM Eclipse Plugin <ul><li>Import services from repo
  59. Import default handler
  60. Support for local repo (filesystem)
  61. Support for URI repo
  62. At latest update site... </li></ul>
  63. There's more?
  64. jBPM Migrations
  65. jBPM everywhere you can imagine...
  66. What about us? jPDL != BPMN
  68. Historical migration...
  71. Web Designer # Running on OpenShift. # Create an account at # # Create a jbossas-7.0 application # $ rhc-create-app -l $username -a editor -t jbossas-7.0 # Add this upstream openshift-jbpmmigration repo. # $ cd editor $ git remote add upstream -m master git:// $ git pull -s recursive -X theirs upstream master # Then push the repo upstream. # $ git push
  72. Welcome to the family...
  73. Future is now... new toys... must have!!!
  74. <ul><li>jBPM5 community:
  75. jBPM5 source:
  76. jBPM5 Hudson:
  77. Blog:
  78. #jbpm on / [email_address]
  79. jBPM user forums: </li></ul><ul><li>jBPM migration strategies:
  80. Migration tool project:
  81. Migration story JUDCon 2010:
  82. Migration project update JUDCon 2011: </li></ul>Eric D. Schabell | [email_address] | @ericschabell