Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Open Source BPM - iteratec Architekturtag

1.669 Aufrufe

Veröffentlicht am

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

  • Als Erste(r) kommentieren

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

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

×