0
jBPM5: Bringing more        Power         jBPM,  to your Business  Open Source BPM      Processes                 Kris Ver...
jBPM Overview• jBPM Project• jBPM walkthrough• Roadmap
What is BPM?     Business Process Management  A business process is a process that describesthe order in which a series of...
Why BPM?• Visibility         • Continuous improvement• Monitoring         • Speed of development• Higher-level       • Inc...
jBPM Project• (Executable) business processes  – light-weight, native BPMN2 engine  – from embedded to as a service• Entir...
Life Cycle                    Business                           Analyst                             Model                ...
End User                                      r                               ito                             on     Your ...
Key Characteristics•   Open-source, lightweight•   Native BPMN 2.0•   High-level business processes•   Business user & dev...
Advanced, adaptive processes• (One of the) most advanced open-  source BPMN2 engine• Adaptive, ad-hoc, dynamic processes• ...
jBPM Walkthrough•   Core engine•   From Workflow to BPM•   Extra features•   Social, Cloud and Mobile
Core Engine• Core engine is a workflow engine in pure  Java  – state transitions  – lightweight  – embeddable  – generic, ...
Core Engine                       StatefulKnowledge             Knowledge  Base                 SessionProcess            ...
Java InterfaceProcessRuntime interface• startProcess(processId)• startProcess(processId, parameters)• signalEvent(type, ev...
Java Example// (1) Create knowledge base and add process definitionKnowledgeBuilder kbuilder = ...kbuilder.add( ..., "samp...
From Workflow   to BPM
From Workflow to BPM                 XML         Core        Engine    BPMN                   2.0
BPMN 2.0<definitions ... >   <process id="com.sample.bpmn.hello" name="Hello World" >      <startEvent id="_1" name="Start...
jBPM Eclipse Plugin• Developer-focused• Features:  – Wizards, runtimes, perspective  – Graphical editor  – Testing and deb...
Web-based Designer• Business User-focused• Features  – Graphical Editor  – Visual validation  – Service repository, genera...
From Workflow to BPM  JPA             Persistence                           XMLJTA     Trans-        actions    Core      ...
Persistence and Transactions• Persistence (JPA, pluggable)  – Runtime persistence  – History logging  – Services• Transact...
Persistence•   Core engine no persistence•   Macro transactions•   Binary persistence of runtime data•   Separation of his...
ProcessInstancestartProcess       Process                               1 active d/m/yy hh:mm ...                         ...
ProcessInstance    Process                               1 active d/m/yy hh:mm ...                                Runtime ...
ProcessInstance    Process                                   1 active d/m/yy hh:mm ...                                    ...
From Workflow to BPM               Persistence                               XML          Trans-          actions      Cor...
Console• Web-based management• Business user• Features  – Process instance management  – User task lists / forms  – Report...
Console• GWT• Generic BPM console  – jBPM integration code• REST API• One embedded session  – Persistence, history logging...
From Workflow to BPM        Persistence                          XML   Trans-   actions      Core               Engine    ...
Domain-specific Processes• Extend palette with domain-specific,  declarative service nodes   – define input / output param...
Domain-specific Processes• Why?               • Other examples – Domain-specific     – Human task                       – ...
Service Repository
Example: Notification[    [        "name" : "Notification",        "parameters" : [          "Message" : new StringDataTyp...
Example: Notificationclass NotificationHandler implements WorkItemHandler {    public void executeWorkItem(WorkItem wI,   ...
Human task service• User task• Human task service (WS-HT)  – Task lists  – Task life cycle• Task clients  – Task forms
Human Task Service• Independent, pure Java implementation• Different underlying technologies  – Local  – Apache Mina, Horn...
SwitchYard Lightweight service delivery framework providing full lifecycle support for developing,   deploying, and managi...
Extra Features
Extra features•   Process instance migration•   JUnit testing•   Spring•   OSGi•   Migration from jBPM3(/4)
Installer• Out-of-the-box working environment• Sample process• Components  – Eclipse (jBPM + Drools)  – Guvnor + Designer ...
Examples• Evaluation• Examples module  – Looping  – Multi-instances  – Human tasks (including user / group    assignment, ...
Social, Cloud and Mobile
Ready for the future?Traditional BPM systems have problems with change, complexity, flexibility, data-        intensive ap...
MotivationA business solution usually involves the  interaction between these technologies.  Technology overlap  Busines...
Processes       Rules        Events            Business Logic
Example: Build Management          Source: Hudson Execution and Scheduling Architecture
Example: Build Management         Source: Hudson Execution and Scheduling Architecture
Logistic Company - Solution      Vehicle        Aircraft      Traffic Flow     Traffic Incident     Weather    Event Strea...
VisionA knowledge-oriented platform for developers and business users
Exceptional Control Flow90%5%3%2%
Exceptional Control Flow90%         Rule1       Rule2       Rule3         When        When        When         ...        ...
Example: Clinical DSS
Combining Processes,       Rules and Events• Integration  – From loose coupling  – To advanced integration• Unification  –...
JBoss AS 7• Blazingly fast• Lightweight• Module core• jBPM5 on AS7: Lightning !
OpenShift• Based on Open Source• Innovation• Choice• Java, PHP, Ruby, Python, Perl & more• Express, Flex, Power• Amazon EC2
jBPM Everywhere  • Run jBPM5 natively on    Android
Roadmap Feb11         Jun11         Dec11      Apr12jBPM 5.0                      5.2                5.1       Service rep...
JBoss Enterprise Product Delivery ModelExample: jBPM Community and Enterprise Product         3              3.2          ...
Roadmap: jBPM 5.3Date: May 21st, 2012•   Eclipse Designer•   Form Builder•   Web Designer•   Test and form generators
Eclipse BPMN2 editorhttp://eclipse.org/projects/project.php?id=soa.bpmn2-modeler
Eclipse BPMN2 editor• eclipse.org project• Using Eclipse BPMN2 EMF model• Graphical editor for full BPMN2  specification (...
Form Builder•   Generate form for process / task•   Graphically design process (D&D)•   Triggers, validation•   Integrated...
Roadmap: jBPM 5.x• Simulation and replay• BPM as a service  – Expose as ...  – Session mgmt and HA  – Integrate with exter...
jBPM5: Bringing more        Power         jBPM,  to your Business  Open Source BPM      Processes                 Kris Ver...
jBPM, open source BPM
jBPM, open source BPM
jBPM, open source BPM
jBPM, open source BPM
jBPM, open source BPM
jBPM, open source BPM
jBPM, open source BPM
jBPM, open source BPM
Upcoming SlideShare
Loading in...5
×

jBPM, open source BPM

6,553

Published on

jBPM & Drools Workshop, NY
2012-06-19

Published in: Technology, Education
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,553
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
219
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Transcript of "jBPM, open source BPM"

  1. 1. jBPM5: Bringing more Power jBPM, to your Business Open Source BPM Processes Kris Verlaenen jBPM Project Lead June, 2012 1
  2. 2. jBPM Overview• jBPM Project• jBPM walkthrough• Roadmap
  3. 3. What is BPM? Business Process Management A business process is a process that describesthe order in which a series of steps need to be executed, using a flow chart.
  4. 4. Why BPM?• Visibility • Continuous improvement• Monitoring • Speed of development• Higher-level • Increased agility
  5. 5. jBPM Project• (Executable) business processes – light-weight, native BPMN2 engine – from embedded to as a service• Entire life cycle• Both developers and business users• Advanced, adaptive processes
  6. 6. Life Cycle Business Analyst Model Developer SystemAdministrator Monitor BPM Deploy Execute End User
  7. 7. End User r ito on Your jBPM Console Application M e Core Services ut ec Your Core History Task Ex Services Engine Log Service Rules y lo ep Guvnor D Repository el Web-Based Eclipse Editor od DesignerM Developer Business Analyst
  8. 8. Key Characteristics• Open-source, lightweight• Native BPMN 2.0• High-level business processes• Business user & developer collaborate• Advanced, adaptive processes• Modularized, pluggable, standards
  9. 9. Advanced, adaptive processes• (One of the) most advanced open- source BPMN2 engine• Adaptive, ad-hoc, dynamic processes• Integration and unification with business rules and complex event processing
  10. 10. jBPM Walkthrough• Core engine• From Workflow to BPM• Extra features• Social, Cloud and Mobile
  11. 11. Core Engine• Core engine is a workflow engine in pure Java – state transitions – lightweight – embeddable – generic, extensible Core Engine
  12. 12. Core Engine StatefulKnowledge Knowledge Base SessionProcess ProcessDefinition Instance
  13. 13. Java InterfaceProcessRuntime interface• startProcess(processId)• startProcess(processId, parameters)• signalEvent(type, event)• signalEvent(type, event, instanceId)• abortProcessInstance(instanceId)• getProcessInstance(instanceId)• …
  14. 14. Java Example// (1) Create knowledge base and add process definitionKnowledgeBuilder kbuilder = ...kbuilder.add( ..., "sample.bpmn", ResourceType.BPMN2);KnowledgeBase kbase = kbuilder.newKnowledgeBase();// (2) Create new stateful knowledge sessionStatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();// (3) Start a new process instanceksession.startProcess(“com.sample.bpmn.hello”);
  15. 15. From Workflow to BPM
  16. 16. From Workflow to BPM XML Core Engine BPMN 2.0
  17. 17. BPMN 2.0<definitions ... > <process id="com.sample.bpmn.hello" name="Hello World" > <startEvent id="_1" name="StartProcess" /> <sequenceFlow sourceRef="_1" targetRef="_2" /> <scriptTask id="_2" name="Hello" > <script>System.out.println("Hello World");</script> </scriptTask> <sequenceFlow sourceRef="_2" targetRef="_3" /> <endEvent id="_3" name="EndProcess" /> </process> </definitions>
  18. 18. jBPM Eclipse Plugin• Developer-focused• Features: – Wizards, runtimes, perspective – Graphical editor – Testing and debugging – Service repository, generators – Guvnor integration
  19. 19. Web-based Designer• Business User-focused• Features – Graphical Editor – Visual validation – Service repository, generators – Guvnor integration• Based on Oryx Designer – JavaScript, JSON
  20. 20. From Workflow to BPM JPA Persistence XMLJTA Trans- actions Core Engine BPMN 2.0
  21. 21. Persistence and Transactions• Persistence (JPA, pluggable) – Runtime persistence – History logging – Services• Transactions (JTA, pluggable) – Command-scoped – User-defined
  22. 22. Persistence• Core engine no persistence• Macro transactions• Binary persistence of runtime data• Separation of history information• External services – using work items, async – independent task service
  23. 23. ProcessInstancestartProcess Process 1 active d/m/yy hh:mm ... Runtime Engine addTask Task 1 Task1 sales ... Service Tasks 2 Task2 HR ... Task Task
  24. 24. ProcessInstance Process 1 active d/m/yy hh:mm ... Runtime Enginecomplete Task 1 Task1 sales ... Service Tasks 2 Task2 HR ... Task Task complete
  25. 25. ProcessInstance Process 1 active d/m/yy hh:mm ... Runtime Enginecomplete Task 1 Task1 sales ... Service Tasks 2 Task2 HR ... Task Task complete
  26. 26. From Workflow to BPM Persistence XML Trans- actions Core Engine BPMN 2.0History Events Log Management Console BAM
  27. 27. Console• Web-based management• Business user• Features – Process instance management – User task lists / forms – Reporting
  28. 28. Console• GWT• Generic BPM console – jBPM integration code• REST API• One embedded session – Persistence, history logging• Eclipse BIRT reporting: custom reports
  29. 29. From Workflow to BPM Persistence XML Trans- actions Core Engine BPMN 2.0 Events Domain-specific Integration Processes Human Task ESB Service
  30. 30. Domain-specific Processes• Extend palette with domain-specific, declarative service nodes – define input / output parameters – runtime binding
  31. 31. Domain-specific Processes• Why? • Other examples – Domain-specific – Human task – Java method – Declarative – WS, Rest – High-level – Email, Twitter – Context-defined – FTP, RSS, Jabber – Finder, Exec, Archive – Google CalendarRepository ! – YOUR SERVICES !
  32. 32. Service Repository
  33. 33. Example: Notification[ [ "name" : "Notification", "parameters" : [ "Message" : new StringDataType(), "From" : new StringDataType(), "To" : new StringDataType(), "Priority" : new StringDataType(), ], "displayName" : "Notification", "icon" : "icons/notification.gif" ]]
  34. 34. Example: Notificationclass NotificationHandler implements WorkItemHandler { public void executeWorkItem(WorkItem wI, WorkItemManager manager) { String from = (String) wI.getParameter("From"); String to = (String) wI.getParameter("To"); String m = (String) wI.getParameter("Message"); // send email EmailService service = ...; service.sendEmail(from, to, "Notification", m); manager.completeWorkItem(wI.getId(), null); }}
  35. 35. Human task service• User task• Human task service (WS-HT) – Task lists – Task life cycle• Task clients – Task forms
  36. 36. Human Task Service• Independent, pure Java implementation• Different underlying technologies – Local – Apache Mina, HornetQ, JMS• I18N, calendar, deadlines, escalation• UserGroupCallback
  37. 37. SwitchYard Lightweight service delivery framework providing full lifecycle support for developing, deploying, and managingservice-oriented applications • SwitchYard BPM component
  38. 38. Extra Features
  39. 39. Extra features• Process instance migration• JUnit testing• Spring• OSGi• Migration from jBPM3(/4)
  40. 40. Installer• Out-of-the-box working environment• Sample process• Components – Eclipse (jBPM + Drools) – Guvnor + Designer – jbpm-console – Services • H2 DB, human task service, history log
  41. 41. Examples• Evaluation• Examples module – Looping – Multi-instances – Human tasks (including user / group assignment, delegation, forms, etc.) – Process + rules integration
  42. 42. Social, Cloud and Mobile
  43. 43. Ready for the future?Traditional BPM systems have problems with change, complexity, flexibility, data- intensive applications, etc. • Adaptive Case Management (ACM) • Unstructured, non-lineair or flexible processes • Event-driven BPM (edBPM)
  44. 44. MotivationA business solution usually involves the interaction between these technologies. Technology overlap Business overlap Attribute the same importance to the three complementary business modeling techniques
  45. 45. Processes Rules Events Business Logic
  46. 46. Example: Build Management Source: Hudson Execution and Scheduling Architecture
  47. 47. Example: Build Management Source: Hudson Execution and Scheduling Architecture
  48. 48. Logistic Company - Solution Vehicle Aircraft Traffic Flow Traffic Incident Weather Event Stream Event Stream Event Stream Event Stream Event Stream Knowledge Bases Shipment Event Stream New Inferred Facts Facts Stop Event Stream Reasoning Knowledge Based Reasoning CEP [Temporal Reasoning] Spatial Reasoning Source: E. Tirelli & A. Mollenkopf - ORF2009
  49. 49. VisionA knowledge-oriented platform for developers and business users
  50. 50. Exceptional Control Flow90%5%3%2%
  51. 51. Exceptional Control Flow90% Rule1 Rule2 Rule3 When When When ... ... ... Then Then Then ... ... ... 5% 3% 2%
  52. 52. Example: Clinical DSS
  53. 53. Combining Processes, Rules and Events• Integration – From loose coupling – To advanced integration• Unification – Processes and (event) rules are different types of business knowledge assets – Tooling (IDE, repository, management)
  54. 54. JBoss AS 7• Blazingly fast• Lightweight• Module core• jBPM5 on AS7: Lightning !
  55. 55. OpenShift• Based on Open Source• Innovation• Choice• Java, PHP, Ruby, Python, Perl & more• Express, Flex, Power• Amazon EC2
  56. 56. jBPM Everywhere • Run jBPM5 natively on Android
  57. 57. Roadmap Feb11 Jun11 Dec11 Apr12jBPM 5.0 5.2 5.1 Service repository 5.3 5.x 6.x Web Designer Examples Eclipse Designer Common Executable AS7 Documentation Form Builder Simulation JUnit test OpenShift As a service
  58. 58. JBoss Enterprise Product Delivery ModelExample: jBPM Community and Enterprise Product 3 3.2 JBoss SOA-P 5 Full Support (3yrs) Transition (1yr) Maintenance (1yr) Flow Enterprise versions provide long-term 4 support, regular releases including fixes, 5 new features, and new platforms certifications. JBoss BRMS 5.3 Full Support (3yrs) Transition (1yr) 6 New community features may be backported to Enterprise 7 versions While community projects continue to rapidly evolve, enterprise middleware products focus on long term stability.
  59. 59. Roadmap: jBPM 5.3Date: May 21st, 2012• Eclipse Designer• Form Builder• Web Designer• Test and form generators
  60. 60. Eclipse BPMN2 editorhttp://eclipse.org/projects/project.php?id=soa.bpmn2-modeler
  61. 61. Eclipse BPMN2 editor• eclipse.org project• Using Eclipse BPMN2 EMF model• Graphical editor for full BPMN2 specification (based on Graphiti)• Target engine + profiles• Custom jBPM editors / extensions
  62. 62. Form Builder• Generate form for process / task• Graphically design process (D&D)• Triggers, validation• Integrated into Guvnor
  63. 63. Roadmap: jBPM 5.x• Simulation and replay• BPM as a service – Expose as ... – Session mgmt and HA – Integrate with external services• Cloud
  64. 64. jBPM5: Bringing more Power jBPM, to your Business Open Source BPM Processes Kris Verlaenen jBPM Project Lead June, 2012 72
  1. A particular slide catching your eye?

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

×