Open Source BPM - iteratec Architekturtag

1.438 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.438
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
11
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

×