Presented by - ilum:e informatik AG
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
CAMUNDA USER GROUP RHEIN-MAIN https://www.meetup.com/de-DE/Camunda-User-Group-Rhein-Main 264 Mitglieder 9 Meetups Jörg Zentgraf Practice Lead SMART AUTOMATION ilum:e informatik ag joerg.zentgraf@ilume.de www.ilume.de
FRAGEN Bitte alle Mikrofone zu Beginn muten Falls ihr Fragen während der Präsentation habt, dann gerne in den Chat stellen. Wir werden diese dann zum Schluss nochmal besprechen
FEEDBACK Bitte gebt uns gerne Feedback, damit wir zukünftige Meetups besser gestalten können! Link wird auch nochmals im Teams Messenger angezeigt: https://easy- feedback.de/9Camundameetup/1375271/Bn401D Unter den Teilnehmern verlosen wir wieder unser Camunda / ilum:e - Paket :)
NACHLESEN Die Präsentation sowie YouTube Links könnt ihr in den nächsten Tagen auf unserer Camunda Usergroup Seite gerne nochmal nachlesen/-sehen. https://ilume.de/sma/camunda-usergroup-rhein-main
WIE GEHT ES WEITER? • Weitersagen • https://www.meetup.com/de-DE/Camunda-User-Group-Rhein-Main/ • Wiederkommen voraussichtlich 01.02.2022 • Fragen, Anregungen, Wünsche?
presented by
Patterns that are a recipe for disaster How not to use Camunda Rhein-Main MeetUp, 26. Oktober 2021
Wer bin ich? Nele Lea Uhlemann Developer Advocate 2
3
Lesbare Prozessmodelle - oder wie man grüne Soße macht
Implizite Gateways Wie oft füge ich Eier, Senf, Essig und Öl hinzu? 5
Lanes 6
Ohne Lanes e h en ? n s t änd igkeite ie Z us u n d nn i chn ie ka Aber w 7
Message flows und zugeklappte Pools 8
Farben 9
Farben ??? - Farben sind nicht immer eine gute Idee - Im offiziellen Standard von BPMN sind keine Farben vorgesehen - Nutzen von Farben: - Eindeutigkeit - Verständnis von der Bedeutung - Konsistenz 10
BPMN und DMN Das ist noch okay, aber man kann hier schon eine Entscheidungstabelle nutzen 11
BPMN und DMN 12
13
Snaking models 14
Snaking models 15
Snaking models Vorteile: - Spart Papier beim Ausdrucken -- > Safe Trees - Man kann es auf einer Powerpoint Slide sehen - Die Semantikfehler werden vor dem Manager versteckt - Sieht wichtig und gut auf Dashboards aus - Es fügt dem Model etwas mystisches hinzu 16
De-Snakeified Model 17
Wichtig: - Lesbare Prozessmodel sorgen für Transparenz - Einfacher in der Entwicklung zu verstehen - Einfacher mit Business zu kommunizieren - Konsistenz - Symbolset - Best Practice - Lockdown vom Camunda Modeler - Camunda Best Practices - Training … 18
Der Teufel steckt im Detail
Error handling: Was kann schon alles schief gehen? 20
Error handling: Was kann schon alles schief gehen? 21
Error handling: Was kann schon alles schief gehen? 22
Error handling: Was kann schon alles schief gehen? 23
Error handling: Was kann schon alles schief gehen? 24
Error handling: What could go wrong? Vorteile: - Bringt Business Analysts zum Weinen :( - Kein anderer außer der Modellierer bekommt die Credits fürs Error Handling - Verhindert Spionage - Fehler Ereignisse sehen gut und wichtig aus - Fügt dem Model etwas künstlerisches hinzu Andere Ideen? 25
Error handling: Bessere Ideen - Kann durch Cockpit übernommen werden - Gateways können genutzt werden - Kann die Engine übernehmen - Feuer: Wir arbeiten noch dran. Vielleicht mit dem 7.17 Release 26
Kenne den Scope Vorteile: - mehr Modellierung für alle Abteilungen! - Keine Wiederverwendbarkeit - Lang laufende Prozesse - Alles an einem Ort 27
Knowing your scope 28
False friends (wenn man die Symbole nicht richtig kennt...) 29
… aber in der Ausführung funktioniert es! 30
Implementieren Technische Details
We have a problem… 32
We have a problem… 33
Vorteile - Macht Business Analysts glücklich - … bis in Produktion was schief geht - Versteckt den gesamten Code - Viele Antwortmöglichkeiten auf die Frage: “Was macht dieser Task eigentlich” 34
Ausmodelieren von Logik 35
Benutzen von Listeners - Technische Details verstecken - Das Model verkleinern - Es soll nur User Tasks geben Schlechte Gründe - Das Model soll nicht verändert werden, wenn es von der Fachabteilung kommt - Benachrichtigung beim Starten eines User Tasks - Datentransfer für einen Servicetask Gute Gründe - Aktion, wenn User task beendet ist - Kleines Skript um zu loggen 36
Async before/ after 37
What happens here? Würde dieser Code im JUnit Test für den oben abgebildeten User Task durchlaufen 38
Asynchronous continuations Vorteile - hört sich wichtig an - hört sich so an als wenn wir das gebrauchen - wir sind 100% sicher, dass wir den State in unserer DB haben 39
Nutzen von async: - Verstehen von Transaktionen/ Wait states in Camunda Platform und den BPMN Symbolen - Frag dich: Wozu brauche ich das async? - Nutze Modeler Plugins um die gesetzten Transaktionen sichtbar zu machen 40
Inline Script Ich brauch doch nur eine schnelle Berechnung. …und dann fängt das Skript an zu wachsen… 41
Service Task Implementierung - bevorzuge Delegate Expressions vor Java Classes - Benutze External Task für parallele und long running Aufgaben 42
The story of using Connectors for implementing a Service Task - Ich will einen REST Call machen - Connector hört sich richtig an - Dokumentation lesen? - Nee, Ich weiß, dass Connectoren das richtige sein müssen - Während der Implementierung… warte mal: - Warum bekomme ich keinen Fehler bei einer schlechten Response (400, 500)? - Wie behandele ich solche schlechten Antworten? - Wie komme ich an die Daten von der Antwort? - Performance 43 - HELP!!!!
Produktion Konfiguration - Demo, Demo ist vielleicht nicht der beste Nutzer für die Produktion - H2 Datenbank - Sichere die REST API - 2 Notes of Camunda (nicht nur eine) 44
Sie können auch lesen