jBPM 4 bei der JUG Karlsruhe

983 views
885 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
983
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

jBPM 4 bei der JUG Karlsruhe

  1. 1. Next generation open source BPM<br />JBoss jBPM 4<br />bernd.ruecker@camunda.com<br />
  2. 2. Berater, Trainer, Coach<br />Softwareentwickler<br />Committer bei jBPM<br />Blog: www.bpm-guide.de<br />Bernd Rücker<br />bernd.ruecker@camunda.com<br />
  3. 3. camunda services GmbH<br />Ganzheitliches BPM<br />Beratung<br />Training<br />Process Hosting<br />Standort: Berlin<br />Mitarbeiter: 7<br />
  4. 4. Prozessbeispiel:<br />Designer-Taschen<br />
  5. 5. Was ist ein Geschäftsprozess?<br />Begriffsdefinition<br />Rechnung-<br />stellung<br />Kunde<br />Bestel-lung<br />Lieferung<br />Kunde<br />Bestell-annahme<br />Versand<br />Waren- entnahme<br />
  6. 6. Wie setze ich das bloß technisch um?<br />
  7. 7. Möglichkeit 1:<br />Java-Entwicklung<br />Probleme Geschäftsprozesse<br /><ul><li>Lang laufend
  8. 8. Wartezustände
  9. 9. Timeouts & Eskalation</li></ul>Nachteile<br /><ul><li>Zu viel Arbeit!
  10. 10. Prozess unsichtbar</li></li></ul><li>Business Process Engine!<br />Open Source (LGPL)<br />POJO + Hibernate<br />„Library“<br />Version 4.0 (10.07.09)<br />
  11. 11. Das Prinzip der Prozessautomatisierung<br />Einleitung<br />Modeling<br />Monitoring und Reporting<br />Technisches <br />Prozessmodell<br />Human Workflow Management<br />Service Orchestration<br />
  12. 12. Der Prozess (Workflow)<br />
  13. 13. Der Prozess (Workflow)<br />usertask<br />Business Process Modeling Notation (BPMN 2.0)<br />
  14. 14. Der Prozess (Workflow)<br />java<br />
  15. 15. Der Prozess (Workflow)<br />gateway = decision<br />
  16. 16. Der Prozess (Workflow)<br />waitstate != task<br />
  17. 17. Demo<br />
  18. 18. JBossProcess Virtual Machine (PVM)<br />
  19. 19. Eine Prozessinstanz<br />
  20. 20. &lt;processname=&quot;Bestellung&quot; xmlns=&quot;http://jbpm.org/4.0/jpdl&quot;&gt;<br /> &lt;startname=&quot;start&quot; g=&quot;18,150,48,48&quot;&gt;<br /> &lt;transitionto=&quot;Bestellung pruefen&quot;/&gt;<br /> &lt;/start&gt;<br /> &lt;taskcandidate-groups=&quot;Lager&quot; name=&quot;Bestellung_pruefen&quot; <br /> g=&quot;191,149,109,52&quot; form=&quot;...&quot;&gt;<br /> &lt;transitionname=&quot;Problem aufgetreten&quot; <br />to=&quot;Alternativvorschlag_erarbeiten„<br /> g=&quot;267,103:-3,27&quot;/&gt;<br /> &lt;transitionname=&quot;Auftrag OK&quot; to=&quot;Bestellung_buchen&quot; <br /> g=&quot;268,236:0,-25&quot;/&gt;<br /> &lt;/task&gt;<br /> &lt;javaname=&quot;Kunden informieren&quot; <br />class=&quot;com.camunda.training.jbpm.service.MockService&quot; <br />method=&quot;informCustomer&quot; g=&quot;493,75,119,52&quot;&gt;<br /> &lt;arg&gt;&lt;objectexpr=&quot;#{order.customer}&quot;/&gt;&lt;/arg&gt;<br /> &lt;arg&gt;&lt;objectexpr=&quot;#{problem}&quot;/&gt;&lt;/arg&gt; <br /> &lt;transitionto=&quot;Auf Entscheidung warten&quot;/&gt;<br /> &lt;/java&gt;<br />jPDL Quellcode<br />
  21. 21. ...<br /> &lt;decisionname=&quot;Stornierung?&quot; g=&quot;804,84,48,48&quot;&gt;<br /> &lt;transitionname=&quot;Alternativvorschlag bestellen&quot; <br />to=&quot;Bestellung_pruefen&quot; <br /> g=&quot;828,43;245,43:247,-19&quot;&gt;<br /> &lt;conditionexpr=&quot;#{orderChanged}&quot;/&gt; <br /> &lt;/transition&gt;<br /> &lt;transitionname=&quot;Stornierung&quot; to=&quot;cancel&quot; g=&quot;-26,-18&quot;/&gt;<br /> &lt;/decision&gt;<br /> &lt;statename=&quot;Auf Entscheidung warten&quot; g=&quot;695,72,144,52&quot; &gt;<br /> &lt;transitionto=&quot;Stornierung?&quot;/&gt;<br /> &lt;/state&gt;<br /> ...<br /> &lt;endname=&quot;end&quot; g=&quot;906,212,48,48&quot; /&gt;<br /> &lt;end-cancel name=&quot;cancel&quot; g=&quot;905,152,48,48&quot;/&gt;<br />&lt;/process&gt;<br />jPDL Quellcode<br />
  22. 22. APIs & Architektur<br />Lokal oder Remote<br />Sync oder Async<br />JTA oder nicht<br />jPDL Implementierung<br />PVM Interface<br />Client<br />Process Engine<br />Command Service<br />Process Service<br />Commands<br />Execution Service<br />Management Service<br />Interceptor<br />Interceptor<br />Task<br />Service<br />Services<br />Event Listener API<br />
  23. 23. Und ActionHandler?<br />&lt;statename=&quot;wait&quot; &gt;<br /> &lt;on event=&quot;start&quot;&gt;<br /> &lt;event-listener<br />class=&quot;org.jbpm.examples.eventlistener.LogListener&quot;/&gt;<br /> &lt;/on&gt;<br /> &lt;transitionto=&quot;end&quot;&gt;<br /> &lt;event-listener<br />class=&quot;org.jbpm.examples.eventlistener.LogListener&quot;/&gt;<br /> &lt;/transition&gt;<br />&lt;/state&gt;<br />publicclassLogListenerimplementsEventListener {<br />publicvoidnotify(EventListenerExecutionexecution) {<br />execution.getVariable(&quot;logs&quot;);<br /> ...<br />execution.setVariable(&quot;logs&quot;, logs);<br /> }<br />}<br />
  24. 24. Möglichkeiten & Features<br />
  25. 25. Möglichkeiten & Features<br />
  26. 26. jbpm 3<br />vs. jbpm 4<br />Process Virtual Machine<br />BPMN<br />Saubere Architektur<br />
  27. 27. EJB<br />EJB<br />EJB-Container (oder Tomcat oder Java SE)<br />Architektur<br />Rich-<br />Client<br />Session<br />Bean<br />Human<br />Task<br />Mgmnt<br />Web-<br />Anwendung<br />jbpm<br />JCA<br />JMS<br />WS<br />WS<br />BPEL-Server<br />Java<br />WS<br />WS<br />WS<br />WS<br />.NET<br />Human<br />Task<br />Mgmnt<br />EJB-Container<br />…<br />JMS, …<br />
  28. 28. Das<br />Besondere an jbpm<br />
  29. 29. Selber bauen?<br />Quelle: Zitty, Berlin<br />siehe www.bpm-guide.de<br />
  30. 30. Aber…<br />BusinessProcess Management<br />ist mehr als nur Workflows…<br />
  31. 31. eBPMR nach Freund/Rücker 2008,<br />u.a. erschienen in: Wirtschaftsinformatik und Management 03/09, GWV Verlag<br />Das erweiterte BPM-Regelkreismodell (eBPMR)<br />BPM-Governance<br />
  32. 32. Modelling<br />Monitoring<br />Business<br />IT<br />Magic BPM-Suite<br />EAI / SOA<br />Human Workflow<br />
  33. 33. Das camunda BPMN-Framework<br />
  34. 34. Es gibt einen entscheidenden Nachteil an der Sache…<br />
  35. 35. … es wird unbequem für denBusiness Analyst!<br />
  36. 36. Aber was ist sonst mir Ihren Geschäftsprozessen?<br />Beschaffung<br />Produktion<br />Vertrieb<br />Abwicklung<br />Entwurf<br />
  37. 37. unklar?<br />
  38. 38. teuer?<br />
  39. 39. unbeweglich?<br />
  40. 40. Wie lange können Sie sich <br />den Status Quo noch leisten?<br />
  41. 41. camunda BPMN Framework <br />BPMN 2.0<br />Signavio-Integration<br />
  42. 42. Community<br />
  43. 43. jobs@camunda.com<br />
  44. 44. Zum Nachlesen<br />www.jboss.org/jbossjbpm/<br />JavaMagazin<br />www.bpm-guide.de<br />
  45. 45. Fragen &<br /> Antworten<br />Bernd Rücker<br />Geschäftsführer<br />Berater, Trainer & Coach<br />bernd.ruecker@camunda.com<br />+49 30 664040901<br />

×