Your SlideShare is downloading. ×
Next generation open source BPM<br />JBoss jBPM 4<br />bernd.ruecker@camunda.com<br />
Berater, Trainer, Coach<br />Softwareentwickler<br />Committer bei jBPM<br />Blog: www.bpm-guide.de<br />Bernd Rücker<br /...
camunda services GmbH<br />Ganzheitliches BPM<br />Menschen<br />Software<br />Standort:     Berlin<br />Mitarbeiter:  7<b...
Prozessbeispiel:<br />Designer-Taschen<br />
Was ist ein Geschäftsprozess?<br />Begriffsdefinition<br />Rechnung-<br />stellung<br />Kunde<br />Bestel-lung<br />Liefer...
Wie setze ich das bloß technisch um?<br />
Möglichkeit 1:<br />Java-Entwicklung<br />Probleme Geschäftsprozesse<br /><ul><li>Lang laufend
Wartezustände
Timeouts & Eskalation</li></ul>Nachteile<br /><ul><li>Zu viel Arbeit!
Prozess unsichtbar</li></li></ul><li>Business Process Engine!<br />Open Source (LGPL)<br />POJO + Hibernate<br />„Library“...
Das Prinzip der Prozessautomatisierung<br />Einleitung<br />Modeling<br />Monitoring und Reporting<br />Technisches <br />...
Der Prozess (Workflow)<br />
Der Prozess (Workflow)<br />usertask<br />Business Process Modeling Notation (BPMN 2.0)<br />
Der Prozess (Workflow)<br />java<br />
Der Prozess (Workflow)<br />gateway = decision<br />
Der Prozess (Workflow)<br />waitstate != task<br />
Demo<br />
ProcessExecution<br />Wie funktioniert das?<br />Tasklist<br />1.) Aufgabe erzeugen<br />2.) Aufgabe abschließen<br />1.) ...
JBossProcess Virtual Machine (PVM)<br />
Eine Prozessinstanz<br />
APIs & Architektur<br />Lokal oder Remote<br />Sync oder Async<br />JTA oder nicht<br />jPDL Implementierung<br />PVM Inte...
&lt;processname=&quot;Bestellung&quot; xmlns=&quot;http://jbpm.org/4.0/jpdl&quot;&gt;<br />   &lt;startname=&quot;start&qu...
  ...<br />  &lt;decisionname=&quot;Stornierung?&quot; g=&quot;804,84,48,48&quot;&gt;<br />      &lt;transitionname=&quot;...
Und ActionHandler?<br />&lt;statename=&quot;wait&quot; &gt;<br />  &lt;on event=&quot;start&quot;&gt;<br />    &lt;event-l...
Möglichkeiten & Features<br />
Möglichkeiten & Features<br />
jbpm 3<br />vs. jbpm 4<br />Process Virtual Machine<br />BPMN<br />Saubere Architektur<br />
Kundenkonto-<br />Komponente<br />BPM & SOA – Blueprint & Vision<br />GUI<br />Prozesse<br />Bonitäts-<br />prüfung<br />K...
EJB<br />EJB<br />EJB-Container (oder Tomcat oder Java SE)<br />Architektur<br />Rich-<br />Client<br />Session<br />Bean<...
Das<br />Besondere an jbpm<br />
Selber bauen?<br />Quelle: Zitty, Berlin<br />siehe www.bpm-guide.de<br />
Aber…<br />BusinessProcess Management<br />ist mehr als nur Workflows…<br />
eBPMR nach Freund/Rücker 2008,<br />u.a. erschienen in: Wirtschaftsinformatik und Management 03/09, GWV Verlag<br />Das er...
Modelling<br />Monitoring<br />Business<br />IT<br />Magic BPM-Suite<br />EAI / SOA<br />Human Workflow<br />
Das camunda BPMN-Framework<br />
camunda BPMN Framework <br />BPMN 2.0<br />Signavio-Integration<br />
Community<br />Wir planen eine deutschsprachige jBPM-Community. Bei Interesse oder spannenden Erfahrungen mit jBPM bitte E...
Upcoming SlideShare
Loading in...5
×

JBoss jBPM 4 bei der JBUG München

725

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
725
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "JBoss jBPM 4 bei der JBUG München"

  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 />Menschen<br />Software<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. ProcessExecution<br />Wie funktioniert das?<br />Tasklist<br />1.) Aufgabe erzeugen<br />2.) Aufgabe abschließen<br />1.) System aufrufen / Message<br />2.) Asynchrone Antwort als Message<br />Client<br />Externes<br />System<br />ProcessExecution Engine<br />Transaction / Request<br />…<br />Zeit<br />processexecution<br />
  19. 19. JBossProcess Virtual Machine (PVM)<br />
  20. 20. Eine Prozessinstanz<br />
  21. 21. 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 />
  22. 22. &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;&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 />
  23. 23. ...<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 />
  24. 24. 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 />
  25. 25. Möglichkeiten & Features<br />
  26. 26. Möglichkeiten & Features<br />
  27. 27. jbpm 3<br />vs. jbpm 4<br />Process Virtual Machine<br />BPMN<br />Saubere Architektur<br />
  28. 28. Kundenkonto-<br />Komponente<br />BPM & SOA – Blueprint & Vision<br />GUI<br />Prozesse<br />Bonitäts-<br />prüfung<br />Kunden-<br />anlage<br />Kredit-<br />vergabe<br />Services<br />Bonitätscheck<br />Kundendaten<br />Kreditantrag<br />Ressourcen<br />Web-Service<br />SAP<br />Server<br />
  29. 29.
  30. 30. 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 />
  31. 31. Das<br />Besondere an jbpm<br />
  32. 32. Selber bauen?<br />Quelle: Zitty, Berlin<br />siehe www.bpm-guide.de<br />
  33. 33. Aber…<br />BusinessProcess Management<br />ist mehr als nur Workflows…<br />
  34. 34. 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 />
  35. 35. Modelling<br />Monitoring<br />Business<br />IT<br />Magic BPM-Suite<br />EAI / SOA<br />Human Workflow<br />
  36. 36. Das camunda BPMN-Framework<br />
  37. 37. camunda BPMN Framework <br />BPMN 2.0<br />Signavio-Integration<br />
  38. 38. Community<br />Wir planen eine deutschsprachige jBPM-Community. Bei Interesse oder spannenden Erfahrungen mit jBPM bitte Email an mich!<br />
  39. 39. www.jboss.org/jbossjbpm/<br />Und jetzt?<br />JavaMagazin<br />www.bpm-guide.de<br />Versionsverwirrung<br /><ul><li>Aktuell: 3.2.6 & 4.1
  40. 40. Unsupported community release: 3.3.x
  41. 41. Roadmap: 01.11.  4.2, 01.01.  4.3</li></li></ul><li>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 />

×