Open Source BPM
mit BPMN 2.0 und Java
bernd.ruecker@camunda.com
bernd.ruecker@camunda.com
https://twitter.com/berndruecker

Publikationen

Mitgliedschaften
Consultants | Software Developers
www.camunda.com/jobs
Abends bei nem Bier…

Warum macht Ihr
eigentlich so ein

Alte-MännerThema
wie BPM?
Skalierung durch Automatisierung der Kernprozesse
Skalierbarkeit durch BPM

Ohne
Automatisierung

Mit
Automatisierung
BPM Missverständnisse & Fehler
Fehler: Prozess verstecken!

…im
Fachbereich…

…im Code…
Fehler: Mauern einziehen

•
•
•

ProzessKonzeption

ProzessUmsetzung

EPK
Flowchart-Like
„BPMN-But“
EPK, Flowchart-Like, BPMN-But

Antrag
prüfen

OK

Nicht OK

> 5h
real BPMN

OK

Antrag
prüfen
Nicht OK
5h
BPMN steht für ein höheres Kommunikationsniveau

„real“ BPMN

• EPK
• Flowchart-Like
• „BPMN-But“
BPMN-Prozessmodelle sind für BEIDE Fraktionen

Business

IT
Das operative Prozessmodell gemeinsam entwickeln

Fachanwender

Organisatoren /
Business
Analysten

Entwickler

Architekte...
Beispielprozess
Menschlicher und technischer Fluss vermischt
Besser: Saubere Trennung!

Anwender

Technischer
Prozess

Anwender
Typische BPM-Architektur mit BPMN 2.0
Process
Administrator

BPMN 2.0

Process
Analyst

Speichern
(KPI) Monitoring

Proces...
Live Demo:
BPMN 2.0
Workflow-Engine
Shiny BPM Suites?
BPMSuite
Der Nutzen entsteht erst durch die Anwendung

BPMSuite

+

SoftwareEntwicklung

=

ProzessAnwendung
Das große Versprechen
BPMSuite

+

SoftwareEntwicklung

=

ProzessAnwendung

Fachanwender

Software
Entwickler
Ein fundamental falscher Ansatz*

kompliziert
restriktiv

restriktiv
proprietär
BPM-Suite

* zur Umsetzung individueller P...
Und die Suiten?
GUI

Prozesse

Integration

Dokumente

Rules

Reporting
Ham wa
nich!

und ich brauch noch...
BPM TOP 5 Missverständnisse & Fehler
1. Hartcodierte / versteckte Prozesse

2. Allmächtige (vernagelte) „Zero Code BPM Sui...
Ein anderer Ansatz

1

camunda BPM:
www.camunda.org

2

3

4
Ausgewählte Referenzanwender
Embeddable Process Engine

@Inject
ProcessEngine engine;
Embeddable Engine
CDI / Spring
(if you want)

@Inject
private ProcessEngine engine;
[…]
Deployment deployment = engine.get...
Some code

Process XML refers
CDI/Spring bean
or Java Class

<process ...>
<serviceTask camunda:delegateExpression="#{svnS...
Process Engine = Infrastruktur

My process application1
Java
Classes

BPMN 2.0
Processes

process
engine (jar)

…

My proc...
“Die offene Plattform erlaubt

Best of Breed

uns die Abbildung unserer
individuellen Anforderungen
mit einer Konsequenz, ...
Die zwei Dimensionen

Maturity

Completeness
“Habe Mut, dich deines eigenen

Verstandes zu bedienen.
Immanuel Kant
Vielen Dank! Fragen?

bernd.ruecker@camunda.com
https://twitter.com/berndruecker
Nächste SlideShare
Wird geladen in …5
×

Open Source BPM - iteratec Architekturtag

1.048 Aufrufe

Veröffentlicht am

Vortrag über leichtgewichtiges BPM mit BPMN 2.0 und Java auf dem iteratec Architekturtag am 20.11.2013

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.048
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
8
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Open Source BPM - iteratec Architekturtag

  1. 1. Open Source BPM mit BPMN 2.0 und Java bernd.ruecker@camunda.com
  2. 2. bernd.ruecker@camunda.com https://twitter.com/berndruecker Publikationen Mitgliedschaften
  3. 3. Consultants | Software Developers www.camunda.com/jobs
  4. 4. Abends bei nem Bier… Warum macht Ihr eigentlich so ein Alte-MännerThema wie BPM?
  5. 5. Skalierung durch Automatisierung der Kernprozesse
  6. 6. Skalierbarkeit durch BPM Ohne Automatisierung Mit Automatisierung
  7. 7. BPM Missverständnisse & Fehler
  8. 8. Fehler: Prozess verstecken! …im Fachbereich… …im Code…
  9. 9. Fehler: Mauern einziehen • • • ProzessKonzeption ProzessUmsetzung EPK Flowchart-Like „BPMN-But“
  10. 10. EPK, Flowchart-Like, BPMN-But Antrag prüfen OK Nicht OK > 5h
  11. 11. real BPMN OK Antrag prüfen Nicht OK 5h
  12. 12. BPMN steht für ein höheres Kommunikationsniveau „real“ BPMN • EPK • Flowchart-Like • „BPMN-But“
  13. 13. BPMN-Prozessmodelle sind für BEIDE Fraktionen Business IT
  14. 14. Das operative Prozessmodell gemeinsam entwickeln Fachanwender Organisatoren / Business Analysten Entwickler Architekten & Zentralbereiche
  15. 15. Beispielprozess
  16. 16. Menschlicher und technischer Fluss vermischt
  17. 17. Besser: Saubere Trennung! Anwender Technischer Prozess Anwender
  18. 18. Typische BPM-Architektur mit BPMN 2.0 Process Administrator BPMN 2.0 Process Analyst Speichern (KPI) Monitoring Process Engineer <xml> <asass>sddsd</sdsd> <sdds>sdsds</sdsds> <sdd> <sddsds>sddsd</fff> </sdd> </ffdfsdf> Process Engine (KPI) Reporting Execution auch BPMN 2.0 TaskLists / Portal / Mobile / etc. B et PE c. L ESB Process Participants Legacy / Backend intern / extern Rule Engine Process Manager
  19. 19. Live Demo: BPMN 2.0 Workflow-Engine
  20. 20. Shiny BPM Suites? BPMSuite
  21. 21. Der Nutzen entsteht erst durch die Anwendung BPMSuite + SoftwareEntwicklung = ProzessAnwendung
  22. 22. Das große Versprechen BPMSuite + SoftwareEntwicklung = ProzessAnwendung Fachanwender Software Entwickler
  23. 23. Ein fundamental falscher Ansatz* kompliziert restriktiv restriktiv proprietär BPM-Suite * zur Umsetzung individueller Prozessanwendungen Fachanwender Software Entwickler
  24. 24. Und die Suiten? GUI Prozesse Integration Dokumente Rules Reporting Ham wa nich! und ich brauch noch...
  25. 25. BPM TOP 5 Missverständnisse & Fehler 1. Hartcodierte / versteckte Prozesse 2. Allmächtige (vernagelte) „Zero Code BPM Suiten“ 3. Graben zwischen Business & IT / „BPMN but“ 4. Mapping im Roundtrip (BPEL, XPDL, proprietär, …) 5. Selbstgeschriebene Workflow-Engines
  26. 26. Ein anderer Ansatz 1 camunda BPM: www.camunda.org 2 3 4
  27. 27. Ausgewählte Referenzanwender
  28. 28. Embeddable Process Engine @Inject ProcessEngine engine;
  29. 29. Embeddable Engine CDI / Spring (if you want) @Inject private ProcessEngine engine; […] Deployment deployment = engine.getRepositoryService() .createDeployment() .addClasspathResource("invoice.bpmn") .deploy(); Services to talk to the engine engine.getRuntimeService().startProcessInstanceByKey("invoice"); List<Task> list = engine.getTaskService().createTaskQuery().list(); HashMap<String, Object> variables = new HashMap<String, Object>(); variables.put("approver", "bernd"); engine.getTaskService().complete(list.get(0).getId(), variables); Use TX / JTA / EJB (if you want)
  30. 30. Some code Process XML refers CDI/Spring bean or Java Class <process ...> <serviceTask camunda:delegateExpression="#{svnService}" name="PDF in SVN ablegen"> Code is executed when process instances runs through @Named("svnService") public class StorePDFDelegate implements JavaDelegate { public void execute(DelegateExecution execution) throws Exception { String someData = (String) execution.getVariable("someData");
  31. 31. Process Engine = Infrastruktur My process application1 Java Classes BPMN 2.0 Processes process engine (jar) … My process application1 My process application2 Java Classes BPMN 2.0 Processes process engine (jar) … Java Classes BPMN 2.0 Processes My process application2 Java Classes … BPMN 2.0 Processes Process Engine JPA, EJB, JTA … Container Websphere, WebLogic, …
  32. 32. “Die offene Plattform erlaubt Best of Breed uns die Abbildung unserer individuellen Anforderungen mit einer Konsequenz, die geschlossene BPM-Suiten nicht erreichen können.“ Prozesse camunda BPM (Marko Lehn, Teamlead Software Engineering, Zalando GmbH) + Integration GUI Reporting Rules • Apache CXF • HTML 5, PHP • Jasper • JBoss Drools • Apache Camel • • BIRT • IBM ILOG • Mule ESB JSF, Vaadin, GWT • ... • ... • Talend ESB • IBM ESB • Apache CMIS • ... • xyz Portal Server • Swing • Orbeon • ... Documents ...what ever! • Alfresco ECM • Java • ... • ... (REST)
  33. 33. Die zwei Dimensionen Maturity Completeness
  34. 34. “Habe Mut, dich deines eigenen Verstandes zu bedienen. Immanuel Kant
  35. 35. Vielen Dank! Fragen? bernd.ruecker@camunda.com https://twitter.com/berndruecker

×