iteratec: vom dokument zum workflow
TRANSCRIPT
Vom Dokument zum Workflow Camunda Community Meeting am 09. Juni 2015
Michael Karas Lars Orta
Swiss Life Deutschland iteratec GmbH
2/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Ausgangslage
3/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Aktuell
4/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Posteingang und Vorgangsbearbeitung
5/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
• Ausgangslage: Scannen nach Sachbearbeitung
• Integration in bestehendes IBM FileNet P8 System
• Strukturierung und Homogenisierung von Arbeitsabläufen
• Verarbeitung von internen Dokumenten
Herausforderungen
6/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Layout Aufgabenliste
7/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Layout Vorgangsbearbeitung
8/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Korrelation von eingehenden Dokumenten
• Exakte Zuordnung eines Dokuments zu einem laufendem Vorgang
– Barcode auf Rückantwortschreiben
– Vorgangsnummer als Dokumentmetadatum
• Heuristik
– Wenn keine Vorgangsnummer vorhanden, dann Zuordnung
auf Basis der Einzelvertragsnummer.
• Manuelle Benutzerinteraktionen
9/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Arbeiten mit Dokumenten in Vorgängen
Dokument 1
Dokument 2
Dokument 3
Dokument 4
Funktion Beispiel
Dokument in neuen Vorgang
verschieben
Dokument gehört nicht zum
Vorgang.
z.B. falsche Zuordnung durch
Korrelationsregeln
Dokument in neuen Vorgang
kopieren
Dokument enthält mehrere
Vorgänge, die eine getrennte
Bearbeitung erfordern.
z.B. Multi-GeVo
Dokument in bestehenden
Vorgang verschieben
Dokument gehört zu einem anderen
bestehenden Vorgang.
z.B. Korrektur falsch zugeordneter
Dokumente
Dokument in bestehenden
Vorgang kopieren
Dokument enthält Informationen zu
mehreren laufenden Vorgängen
Hinweis: Es wird nur mit Dokument-Referenzen gearbeitet.
10/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Dokumente verschieben
1. Dokument in bestehenden
Vorgang verschieben
2. Dokument in bestehenden
Vorgang verschieben und
eigenen Vorgang beenden
(Spezialfall von Variante 1)
3. Dokument in neuen Vorgang
verschieben
Vorgang 1 / D1, D2 Vorgang 1 / D1
Vorgang 2 / D2
Vorgang 1 / D1
Vorgang 2 / D1, D2 Vorgang 2 / D2
Vorgang 1 / D1, D2 Vorgang 1 / D2
Vorgang 2 / D1, D3, D4 Vorgang 2 / D3, D4
11/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Vorgang 1 / D1, D2 Vorgang 1 / D1, D2
Vorgang 2 / D2
Dokumente kopieren
1. Dokument in bestehenden
Vorgang kopieren
2. Dokument in neuen
Vorgang kopieren
Vorgang 1 / D1, D2 Vorgang 1 / D1, D2
Vorgang 2 / D2, D3, D4 Vorgang 2 / D3, D4
12/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Vorgangskorrelation in BPMN
13/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Testscopes
http://docs.camunda.org/latest/guides/user-guide/#testing
14/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
bpmn-assert
• Community Extension
– https://github.com/camunda/camunda-bpm-assert
• Assertions
– for process instances: isActive, isEnded, isNotEnded, isStarted, …
– for tasks: isAssignedTo, isNotAssigned, hasCandidateGroup, hasDefinitionKey, hasDescription,
hasDueDate, hasId, hasName
– …
• Helper
– Claiming / Unclaiming tasks
– Completing tasks
– Sending messages
– …
15/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Beispiel
assertThat(processInstance)
.isStarted()
.task()
.hasDefinitionKey("edit")
.hasCandidateGroup(
"SB-Personal")
.isNotAssigned();
16/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Testfälle Vorgangskorrelation
1. Korrelation nicht möglich sowie ohne neue Zuordnung
2. Korrelation nicht möglich mit einer neuen Zuordnung
3. Korrelation möglich dann Korrelation Nicht Erfolgreich
4. Korrelation möglich dann Korrelation Erfolgreich
17/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Testfall 1 „korrelationNichtMoeglich_ohneNeueZuordnung“
18/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Testfall 3 „korrelationMoeglich_dann_KorrelationNichtErfolgreich“
19/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Testfall 4 „korrelationMoeglich_dann_KorrelationErfolgreich“
20/25 | Camunda Community Meeting | Vom Dokument zum Workflow | 09.06.2015
Code und Demo
• Umsetzung Testfälle für „Scope 2“
• Nutzung von camunda-bpm-assert
• Arquillian Variante
– http://arquillian.org/
– Shrinkwrap zur Erstellung des WAR
– Automatisiertes Deployment auf laufender Jboss Instanz
– Starten mittels JUnit
– Ausführung der Testfälle auf dem Server
• Mockito Variante
– http://mockito.org/
– Mock und Helper Klassen von Camunda: ProcessEngineRule, Deployment und Mocks
– Starten mittels JUnit
– Lokale Ausführung der Testfälle
Lars Orta
+49 89 614551 – 0
iteratec GmbH
Inselkammerstrasse 4
82008 München-Unterhaching
Michael Karas
+49 89 38109 – 0
Swiss Life AG, Niederlassung für Deutschland
Zeppelinstraße 1
85748 Garching b. München
Vielen Dank für Ihre
Aufmerksamkeit