Oliver Königs Open Source und Workflow im Unternehmen Eine Untersuchung von Processmaker, Joget, Bonita Open Solution, uengine und Activiti Diplomica Verlag
Oliver Königs Open Source und Workflow im Unternehmen: Eine Untersuchung von Processmaker, Joget, Bonita Open Solution, uengine und Activiti ISBN: 978-3-8428-2904-6 Herstellung: Diplomica Verlag GmbH, Hamburg, 2012 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des Urheberrechtes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden und der Verlag, die Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen. Diplomica Verlag GmbH http://www.diplomica-verlag.de, Hamburg 2012
Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis... 4 Tabellenverzeichnis... 6 Abkürzungs- und Symbolverzeichnis... 7 1 Einleitung... 9 1.1 Generelle Notwendigkeit von Workflowsystemen... 9 1.2 Einordnung des Themenbereiches... 9 1.3 Gliederung dieses Buches... 10 2 Grundlagen... 13 2.1 Geschäftsprozess... 13 2.1.1 Begriff und Definition... 13 2.1.2 Geschäftsprozess-Management... 14 2.2 Workflow... 15 2.3 Workflow-Management... 15 2.4 Lizensierung... 16 2.5 Unternehmenssicht von Open Source... 19 2.6 Theoretische Workflow Grundlagen am Beispiel von YAWL... 21 2.6.1 YAWL... 21 2.6.2 Die YAWL Sprache... 21 2.6.3 Datenverwaltung in YAWL... 26 2.6.4 Architektur des YAWL-Systems... 27 3 Auswahl von Systemen... 30 3.1 Sonstige WfMS-Systeme... 30 3.1.1 jbpm... 30 3.1.2 cuteflow... 31 3.1.3 Bossa Workflow... 32 3.1.4 Imixs Workflow... 32 3.1.5 Interleave... 32 3.1.6 Andere Projekte... 33 1
3.2 Auswahl von entsprechender Software... 33 3.2.1 Processmaker... 33 3.2.2 Joget... 34 3.2.3 Bonita Open Solution... 34 3.2.4 uengine... 35 3.2.5 Activiti... 36 4 Beispielworkflows... 38 4.1 Aufgabenstellung... 38 4.2 Einrichten eines Urlaubsantrages mit Processmaker... 39 4.2.1 Einrichten der Aufbauorganisation... 39 4.2.2 Definieren des Prozesses... 40 4.3 Einrichten eines Urlaubsantrages mit Joget... 42 4.3.1 Einrichten der Aufbauorganisation... 42 4.3.2 Definieren des Prozesses... 43 4.4 Einrichten eines Urlaubsantrages mit Bonita... 46 4.4.1 Einrichten der Aufbauorganisation... 46 4.4.2 Definieren des Prozesses... 47 4.5 uengine... 51 4.5.1 Einrichten der Aufbauorganisation... 52 4.5.2 Definieren des Prozesses... 53 4.5.3 Prozess ausführen... 55 4.6 Activiti... 56 4.6.1 Einrichten der Aufbauorganisation... 57 4.6.2 Definieren des Prozesses... 57 5 Vergleich der Systeme... 61 5.1 Vergleichskriterien... 61 5.1.1 Prozessmodellierung... 61 5.1.2 Lizensierung... 64 5.1.3 Flexibilität / Anpassbarkeit... 66 5.1.4 GUI / Benutzerfreundlichkeit... 73 5.1.5 Internationalisierung / Sprachen... 80 5.1.6 Architektur / Datenbank... 84 2
5.1.7 Skalierbarkeit... 88 5.1.8 Sicherheit / Single-Sign-On / Benutzerverwaltung... 92 5.1.9 Schnittstellen zu anderen Systemen... 97 5.1.10 Betriebssystem-Abhängigkeit... 103 5.1.11 Programmiersprache... 106 5.1.12 Benutzerformulare... 109 5.1.13 Simulation... 113 5.1.14 Support / Training... 117 5.1.15 Dokumentation... 120 5.1.16 Weiterentwicklung / Community / Transparenz.. 123 5.1.17 Updates... 127 5.1.18 Verbreitung / Referenzen... 129 6 Zusammenfassung und Ausblick... 133 7 Literaturverzeichnis... 135 3
Abbildungsverzeichnis Abbildung 1 - YAWL Atomic Task... 22 Abbildung 2 - YAWL Multiple Instance Task... 22 Abbildung 3 - YAWL Composite Task... 23 Abbildung 4 - YAWL Composite multiple instance task... 23 Abbildung 5 - YAWL Condition... 23 Abbildung 6 - YAWL Input condition... 24 Abbildung 7 - YAWL Output condition... 24 Abbildung 8 - YAWL AND Join... 24 Abbildung 9 - YAWL OR join... 25 Abbildung 10 - YAWL XOR join... 25 Abbildung 11 - YAWL AND split... 25 Abbildung 12 - YAWL OR split... 26 Abbildung 13 - YAWL XOR split... 26 Abbildung 14 - YAWL Architektur aus [Aalst1] Arthur H.M. ter Holstede et al., 2010... 28 Abbildung 15 - Benutzerverwaltung in Processmaker... 39 Abbildung 16 - Abteilungsverwaltung in Processmaker... 40 Abbildung 17 - Startpunkt im Processmaker... 40 Abbildung 18 - Beispielformular im Processmaker... 41 Abbildung 19 - Beispielprozess im Processmaker... 42 Abbildung 20 - Benutzerverwaltung in Joget... 43 Abbildung 21 - Swimmlanes in Joget... 43 Abbildung 22 - Beispielprozess in Joget... 44 Abbildung 23 - Urlaubsantragsformular in Joget... 45 Abbildung 24 - Formularerstellung in Joget... 45 Abbildung 25 - Inbox in Joget... 46 Abbildung 26 - Formular des Urlaubsantrages in Joget... 46 Abbildung 27 - Benutzerverwaltung in Bonita... 46 Abbildung 28 - Benutzer für den Urlaubsantrag in Bonita... 47 Abbildung 29 - Benötigte Pools für den Urlaubsantrag... 48 4
Abbildung 30 - Timeout-Definition für den Urlaubsantrag... 48 Abbildung 31 - Vollständiger Prozess des Urlaubsantrages in Bonita... 49 Abbildung 32 - Variablendefinition für den Urlaubsantrag... 49 Abbildung 33 - Antragsformular - Designeransicht in Bonita... 50 Abbildung 34 - Webfront für den Urlaubsantrag... 51 Abbildung 35 - Inbox von Bonita... 51 Abbildung 36 - Dashboard von uengine... 52 Abbildung 37 - Aufbauorganisation in uengine... 52 Abbildung 38 - Rollenmanager von uengine... 53 Abbildung 39 - Rollen für den Urlaubsantrag... 53 Abbildung 40 - Variablen für den Urlaubsantrag... 54 Abbildung 41 - uengine Designer... 54 Abbildung 42 - uengine Rollenzuordnung... 54 Abbildung 43 - uengine Urlaubsantragsprozess... 55 Abbildung 44 - Prozessübersicht von uengine... 55 Abbildung 45 - Benutzerformular von uengine... 56 Abbildung 46 - Offene Prozesse in uengine... 56 Abbildung 47 - Activiti Administrator... 57 Abbildung 48 - Activiti Modeler... 58 Abbildung 49 - Processmaker Login-Screen... 67 Abbildung 50 - Bonita Studio - Resourcenverwaltung... 70 Abbildung 51 - Joget Prozessstart-Button... 74 Abbildung 52 - Joget Hilfefunktion... 75 Abbildung 53 - Beispiel Userview... 76 Abbildung 54 - Screenshot der Labelverwaltung... 77 Abbildung 55 - uengine iphone Simulator Screenshot... 78 Abbildung 56 - Activiti iphone Screenshot... 79 Abbildung 57 - Lastverteilung über Loadbalancer und Cluster... 89 Abbildung 58 - uengine Systemaufbau mit OKF... 108 Abbildung 59 - Bonita Studio Simulation... 114 Abbildung 60 - Resourcenbearbeitung in Bonita Studio... 115 5