Next generation open source BPM<br />JBoss jBPM 4<br />Java Forum Stuttgart<br />02.07.2009<br />bernd.ruecker@camunda.com...
Guten Morgen <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 />Beratung<br />Seminare<br />Process Hosting<br />Standort:     Berlin /...
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“...
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 />
Die Hüllen fallen gelassen…<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 und die BPMN-Spezifikation<br />„Whycan‘twebefriends?“<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<...
BPM aus IT-Perspektive<br />Software-Entwicklung<br />Prozess-Automatisierung<br />Prozess-Beschreibung<br />Fachliche Ana...
jbpm 3<br />vs. jbpm 4<br />Process Virtual Machine<br />BPMN<br />Saubere Architektur<br />
Und was nehme ich im Projekt?<br />
Doch selber bauen?<br />Quelle: Zitty, Berlin<br />siehe www.bpm-guide.de<br />
Und das Besondere an jbpm?<br />
Upcoming SlideShare
Loading in...5
×

JBoss jBPM 4

1,742

Published on

Vorstellung der Open Source Process Engine JBoss jBPM 4 auf dem Java Forum Stuttgart 2009.

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

No Downloads
Views
Total Views
1,742
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
57
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

JBoss jBPM 4

  1. 1. Next generation open source BPM<br />JBoss jBPM 4<br />Java Forum Stuttgart<br />02.07.2009<br />bernd.ruecker@camunda.com<br />
  2. 2. Guten Morgen <br />
  3. 3. 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 />
  4. 4. camunda services GmbH<br />Ganzheitliches BPM<br />Beratung<br />Seminare<br />Process Hosting<br />Standort: Berlin / Stuttgart<br />Mitarbeiter: 6<br />
  5. 5. Prozessbeispiel:<br />Designer-Taschen<br />
  6. 6. 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 />
  7. 7. Wie setze ich das bloß technisch um?<br />
  8. 8. Möglichkeit 1:<br />Java-Entwicklung<br />Probleme Geschäftsprozesse<br /><ul><li>Lang laufend
  9. 9. Wartezustände
  10. 10. Timeouts & Eskalation</li></ul>Nachteile<br /><ul><li>Zu viel Arbeit!
  11. 11. 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 />
  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. Die Hüllen fallen gelassen…<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. &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 />
  24. 24. ...<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 />
  25. 25. 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 />
  26. 26. Möglichkeiten & Features<br />
  27. 27. Möglichkeiten & Features<br />
  28. 28. jbpm und die BPMN-Spezifikation<br />„Whycan‘twebefriends?“<br />
  29. 29. 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 />
  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. BPM aus IT-Perspektive<br />Software-Entwicklung<br />Prozess-Automatisierung<br />Prozess-Beschreibung<br />Fachliche Analyse, Modellierung, Dokumentation & Kommunikation<br />Human<br />Workflow<br />GUI-Steuerung<br />Pageflow<br />Integration<br />& EAI<br />Anwendungs-<br />entwicklung<br />
  32. 32. jbpm 3<br />vs. jbpm 4<br />Process Virtual Machine<br />BPMN<br />Saubere Architektur<br />
  33. 33. Und was nehme ich im Projekt?<br />
  34. 34. Doch selber bauen?<br />Quelle: Zitty, Berlin<br />siehe www.bpm-guide.de<br />
  35. 35. Und das Besondere an jbpm?<br />
  36. 36. www.jboss.org/jbossjbpm/<br />Und jetzt?<br />JavaMagazin<br />www.bpm-guide.de<br />Versionsverwirrung<br /><ul><li>Aktuell: 3.2.6 & 4.0
  37. 37. Unsupported community release: 3.3.x
  38. 38. Roadmap: 01.09.  4.1, 01.11.  4.2</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 />+49 711 3278645<br />
  1. A particular slide catching your eye?

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

×