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 BRMS sneak peak, the future is now for your Business Processes


Published on

A Business Process Management System (BPMS) offers you the capabilities to better manage and streamline your business processes. JBoss continues expanding 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 JBoss BRMS leverages the jBPM project to tackle these challenge and give you an overview of its most important BPMS features.

Published in: Technology
  • Be the first to comment

JBoss BRMS sneak peak, the future is now for your Business Processes

  1. 1. JBoss BRMS sneak peak,the future is now for your business processesEric D. SchabellJBoss Technology Evangelist 1@ericschabell
  2. 2. JBoss BRMS Overview BRMS for Business BRMS for Developers Whats new?2
  3. 3. JBoss Enterprise BRMS Business Events Interacts Web-based Decision with... Enterprise development tools Service ApplicationBusiness Analysts Web Event Processor Repository Service Deploy Business Process Business Business Process Rule & Manager Definitions Event Definitions Java Code Rule Engine JBDS, with BRMS plugins it or on M & e ag an M Business Developers Users Management Business Console Data Operations 3
  4. 4. BPMN 2.0• OMG specification ● Model ● Notation ● Execution semantics• Understandable by all business users• Process, collaboration, choreography• Extensible 4
  5. 5. BRMS BPM and BPMN2• Focus on executable processes ● Java environment ● Native execution• Subset ● Common Executable ++• High-level and domain-specific• Minimal custom extensions 5
  6. 6. JBoss BPMN2 coverage BPMN2BRMS (Drools) BRMS (jBPM) Model (Savara) Rules Choreography Process Event Collaboration WS-BPEL Services SOA-P (RiftSaw) SOA-P 6
  7. 7. JBoss BRMS Overview BRMS for Business BRMS for Developers Whats new?7
  8. 8. Overview• Business users ● Web process designer ● Dynamic development / teaming ● Adaptive / ad hoc processes ● Human tasks ● Domain specific processes ● Functional administration 8
  9. 9. Web process designer “One of the best process editors in existence.” 9
  10. 10. Dynamic development 10
  11. 11. Processes +Rules +Events
  12. 12. Adaptive Process 12
  13. 13. Human Tasks ExampleBusiness User Developer 13
  14. 14. Automate generation Generates HTML templates from tasksBusiness user generatestask forms from button in web designer 14
  15. 15. Human Task Forms End User HR 15
  16. 16. Domain-specific processes ● Hide implementation details • Extend palette 16
  17. 17. Domain-specific Service Repository 17
  18. 18. Administration Console 18
  19. 19. JBoss BRMS Overview BRMS for Business BRMS for Developers Whats new?19
  20. 20. Overview• Technical users ● Core engine / API ● Tooling support ● Transactions / Events ● Easy integration ● Service repository ● Testing 20
  21. 21. BRMS – BPM core Core Engine• Core engine is a workflow engine in pure Java – state transitions – lightweight – embeddable – generic, extensible 21
  22. 22. ProcessRuntime interface• startProcess(processId)• startProcess(processId, parameters)• signalEvent(type, event)• signalEvent(type, event, instanceId)• abortProcessInstance(instanceId)• getProcessInstance(instanceId) “API is much better than competitors.” 22
  23. 23. Core Engine - BRMS way of working Stateful “The engine Knowledge is Knowledge solid.” Base Session Process Process Definition Instance 23
  24. 24. BRMS 5.3 tooling support XML JBDS 5 BPMN2 Editor● jBPM perspective Core● project wizards● process artifact Engine BPMN 2.0repository integration● process debugging● development viewsfor human tasks Web Designer (business users) 24
  25. 25. BRMS 5.3 transaction supportJPA(runtime, history, services) Persistence XMLJTA Trans-(command-scoped, actions user-defined) Core Engine BPMN 2.0 25
  26. 26. BRMS 5.3 event support Persistence XML Trans-History actions Core Log Engine BPMN 2.0 Events Management Console 26
  27. 27. BRMS 5.3 integration support Persistence XML Trans- actions Core Engine BPMN 2.0 Events Integration Domain-specific Processes Human Task Service (WS-HT) 27
  28. 28. Architecture YourApplicati JBoss Central on Core Services Your Core History TaskServices Engine Log Service Rules Artifact Repository JBoss Dev Web-Based Studio Designer Developer Business Analyst 28
  29. 29. Service repository• Extend palette with domain-specific, declarative service nodes – define input / output parameters – runtime binding – repository 29
  30. 30. Service Repository Node[ [ "name" : "JavaNode", "parameters" : [ "class" : new StringDataType(), "method" : new StringDataType(), ], "displayName" : "Java Node", "icon" : "icons/java.gif" ]] 30
  31. 31. Testing Ipublic class MyProcessTest extends JbpmJUnitTestCase { public void testProcess() { // create your session and load the given process(es) StatefulKnowledgeSession ksession =createKnowledgeSession("sample.bpmn"); // start the process ProcessInstance processInstance =ksession.startProcess("com.sample.bpmn.hello"); // check whether process instance completed successfully assertProcessInstanceCompleted(processInstance.getId(),ksession); // check if given nodes executed during process execution assertNodeTriggered(processInstance.getId(),"StartProcess", "Hello", "EndProcess"); }} 31
  32. 32. public void testProcess2() { Testing II // create your session and load the given process(es) StatefulKnowledgeSession ksession = createKnowledgeSession("sample2.bpmn"); // register a test handler for "Email" TestWorkItemHandler testHandler = new TestWorkItemHandler(); ksession.getWorkItemManager().registerWorkItemHandler("Email", testHandler); // start the process ProcessInstance processInstance =ksession.startProcess("com.sample.bpmn.hello2"); assertProcessInstanceActive(processInstance.getId(), ksession); assertNodeTriggered(processInstance.getId(), "StartProcess", "Email"); // check whether the email has been requested WorkItem workItem = testHandler.getWorkItem(); assertNotNull(workItem); assertEquals("Email", workItem.getName()); assertEquals("", workItem.getParameter("From")); assertEquals("", workItem.getParameter("To")); // notify the engine the email has been sent ksession.getWorkItemManager().abortWorkItem(workItem.getId()); assertProcessInstanceAborted(processInstance.getId(), ksession); assertNodeTriggered(processInstance.getId(), "Gateway", "Failed", "Error");} 32
  33. 33. JBoss BRMS Overview BRMS for Business BRMS for Developers Whats new?33
  34. 34. JBoss BRMS in a Nutshell Pluggable & JBDS 5 BPMN2 Editor Standards Persistence XML Trans- actions CoreHistory Engine BPMN 2.0 Web Designer Log (business users) Events Integration Domain-specific Processes Management Human Task Service Console (WS-HT) 34
  35. 35. Operations jBPM Functional / Technical Operations – Integration with BRM (process artifacts) – Web administration console • Human task management • process administration – Pluggable to JBoss Operation Network (JON) • alerts long running sessions • knowledge base parameters • view running sessions 35
  36. 36. What is not in BRMS “Team is quick• Migration tooling to implement suggestions.” ● jPDL 3.x → BPMN 2• Eclipse BPMN2 Editor ●• JBPM Forms Builder ● community jBPM 5.3• Reporting (BAM) in web console ● dependency on BIRT ● see for adding BIRT Reporting and adding JasperReports. 36
  37. 37. Rewards Demo 37 37
  38. 38. Integration and BPM Week - October 15-18 38