Technik Christoph Zoller Integration von SBVR in Workflows der Windows Workflow Foundation und Veröffentlichung unter Microsoft SharePoint Diplomarbeit
FH JOANNEUM - University of Applied Sciences Integration von SBVR in Workflows der Windows Workflow Foundation und Veröffentlichung unter Microsoft SharePoint Diplomarbeit zur Erlangung des akademischen Grades eines Diplomingenieurs für technisch-wissenschaftliche Berufe eingereicht am Master-Studiengang Informationsmanagement Verfasser: Christoph Daniel Zoller, BSc. Graz, August 2012
Eidesstattliche Erklärung Eidesstattliche Erklärung Ich erkläre hiermit an Eides statt, dass ich die vorliegende Arbeit selbstständig und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe. Die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht. Die Arbeit wurde bisher in gleicher oder ähnlicher Form keiner anderen Prüfungskommission vorgelegt und auch nicht veröffentlicht. Graz, August 2012 Christoph Daniel Zoller, BSc. II
Inhaltsverzeichnis Inhaltsverzeichnis Eidesstattliche Erklärung... II Inhaltsverzeichnis... III Tabellenverzeichnis... VI Abbildungsverzeichnis... VII SBVR Beispiele... X Abkürzungsverzeichnis... XI Danksagung... XII Abstract... XIII Kurzfassung... XIV 1 Einleitung... 1 1.1 Problemstellung... 2 1.1.1 1.1.2 1.1.3 Motivation... 2 Fragestellungen... 3 Arbeitshypothesen... 3 1.2 Zielsetzung und Aufbau der Arbeit... 4 2 3 Loslösen der Geschäftsregeln von Geschäftsprozessen... 6 SBVR... 11 3.1 Überblick... 11 3.2 Business Vocabulary... 14 3.2.1 Noun- und Verb Concepts... 15 3.2.1.1 3.2.1.2 Noun-Concepts... 15 Verb Concept... 17 3.3 Business Rules... 18 3.3.1 Arten von Business Rules... 19 III
Inhaltsverzeichnis 3.3.1.1 3.3.1.2 Strukturelle Business Rules... 19 Operative Business Rules... 20 3.4 SBVR Structured English... 22 3.4.1 3.4.2 Font Style... 22 Schlüsselwörter und Phrasen für logische Formulierungen... 23 3.4.2.1 3.4.2.2 3.4.2.3 Modal Formulation... 24 Quantification... 25 Logische Operatoren... 26 3.4.3 Weitere Schlüsselwörter... 26 3.5 Logical Formulation... 28 3.5.1 RuleMotion... 31 3.6 Fazit... 35 4 Microsoft Windows Workflow Foundation... 36 4.1 Überblick... 36 4.2 Microsoft SharePoint Server 2010... 37 4.2.1 Editionen und Lizenzen... 38 4.3 Integration der Workflow Foundation in SharePoint... 39 4.4 Workflowtypen... 43 4.5 Entwicklungsvarianten... 44 4.5.1 XAML... 47 4.6 Workflow Rules... 48 4.6.1 4.6.2 Code Condition... 48 Rule Conditions... 49 4.7 SharePoint Designer... 52 4.8 Fazit... 54 IV
Inhaltsverzeichnis 5 Prototyp... 56 5.1 Zielsetzung... 56 5.2 Vorgehensweise... 57 5.2.1 Konzept... 58 5.3 Geschäftsprozess... 59 5.4 SBVR Business Rules... 60 5.5 Umsetzung... 62 5.5.1 5.5.2 SharePoint Designer... 62 Programmatischer Teil... 68 5.5.2.1 5.5.2.2 5.5.2.3 5.5.2.4 Deserialisierung der Logical Formulation... 68 Mapping... 72 SharePoint Versionsverwaltung und Veröffentlichung... 76 Zusammenfassung... 81 5.6 Szenario... 83 5.7 Ergebnisse... 83 5.7.1 5.7.2 5.7.3 Workflow Rules File... 84 SharePoint Designer... 85 Workflow Instanziierung am SharePoint Server... 86 5.8 Fazit... 89 6 Diskussion... 90 6.1 Erkenntnisgewinn... 90 6.2 Kritik... 93 6.3 Fazit und Ausblick... 94 7 8 Anhang... 95 Bibliographie... 105 V
Tabellenverzeichnis Tabellenverzeichnis Tabelle 1: SBVR Modal Operators und deren logische Äquivalenz... 25 Tabelle 2: SBVR Quantification... 25 Tabelle 3: Logical Operators... 26 Tabelle 4: Common Workflow Attributes... 47 Tabelle 5: Prototyp Quantification Mapping... 74 Tabelle 6: Prototyp Mapping Ergebnisse bei Workflowausführung... 88 VI
Abbildungsverzeichnis Abbildungsverzeichnis Abbildung 1: Arbeitshypothesen... 4 Abbildung 2: Struktur der Diplomarbeit... 5 Abbildung 3: Trennung von Geschäftsprozessen und Business Rules... 7 Abbildung 4: Operative und strukturelle Business Rules... 9 Abbildung 5: Auszug aus dem SBVR Metamodell... 15 Abbildung 6: Grundlegende Aufbau von SBVR... 18 Abbildung 7: Logische Formulierungen... 23 Abbildung 8: Modal Formulation... 24 Abbildung 9: Hierarchie von Semantic Formulation... 30 Abbildung 10: RuleMotion SBVR-Editor... 32 Abbildung 11:.NET Framework Architektur... 37 Abbildung 12: Workflows in SharePoint... 42 Abbildung 13: Rule Condition Editor... 49 Abbildung 14: Überblick der Vorgehensweise im Prototyp... 58 Abbildung 15: Prototyp Geschäftsprozess in BPMN Notation... 59 Abbildung 16: Prototyp SharePoint List Rental... 62 Abbildung 17: Prototyp Workflowdarstellung im SharePoint Designer... 63 Abbildung 18: Prototyp Initiation Form Parameters... 64 Abbildung 19: Prototyp Workflow Driver Licence Approval Task... 65 Abbildung 20: Prototyp Auswahl des Autotypen mit Van... 66 Abbildung 21: Prototyp Auswahl des Autotypen mit Van... 66 Abbildung 22: Prototyp Task List... 67 Abbildung 23: Prototyp Klassendiagramm... 68 Abbildung 24: Prototyp Befülltes Klassendiagramm... 73 VII
Abbildungsverzeichnis Abbildung 25: Prototyp Ablauf der programmatischen Umsetzung... 82 Abbildung 26: Prototyp Publish Workflow Button... 86 Abbildung 27: Prototyp Workflowinstanziierung vor Mapping... 87 Abbildung 28: Prototyp Workflowinstanziierung nach Mapping... 87 Abbildung 29: Prototyp Vorher-Nachher Vergleich Workflow Tasks... 88 Abbildung 30: Zusammenspiel IT - Business... 93 VIII
Abbildungsverzeichnis Listings Listing 1: Logical Formulation in verbalisierter Form... 29 Listing 2: RuleMotion's Interpretation von Logical Formulation... 33 Listing 3: Workflow Definition Schema... 40 Listing 4: Reiner XAML Workflows... 45 Listing 5: Reiner C# Workflow... 46 Listing 6: Mischung aus C# und XAML Workflow... 46 Listing 7: XAML Workflow Grundgerüst... 47 Listing 8: Code Condition... 48 Listing 9: Workflow Rules Bespiel... 51 Listing 10: Prototyp Deserialisierung Logical Formulation (Auszug)... 72 Listing 11: Prototyp Editieren des.xoml.rules File... 76 Listing 12: Prototyp Versions File... 77 Listing 13: Prototyp Workflow Config File... 78 Listing 14: Prototyp Edit Rules Version in der Workflow Config... 79 Listing 15: Prototyp Update Config Version und Veröffentlichung... 81 Listing 16: Prototyp Vorher-Nachher-Vergleich des Rules Files... 84 Listing 17: Prototyp Auszug der SBVR Logical Formulation... 97 Listing 18: Prototyp Workflow Rules File... 104 IX
SBVR Beispiele SBVR Beispiele SBVR Beispiel 1: Fact Type... 17 SBVR Beispiel 2: Characteristic... 17 SBVR Beispiel 3: n-ary Fact Type... 17 SBVR Beispiel 4: Necessity Statement... 19 SBVR Beispiel 5: Impossibility Statement... 20 SBVR Beispiel 6: Restricted Possibility Statement... 20 SBVR Beispiel 7: Obligation Statement... 21 SBVR Beispiel 8: Prohibition Statement... 21 SBVR Beispiel 9: Restricted Permission Statement... 21 SBVR Beispiel 10: Schlüsselwort the... 27 SBVR Beispiel 11: Schlüsselwort that... 28 SBVR Beispiel 12: Umwandlung Logical Formulation... 28 SBVR Beispiel 13: Prototyp Eingesetzte Business Rules... 61 SBVR Beispiel 14: Prototyp Mapping Business Rule... 72 SBVR Beispiel 15: Prototyp Modifizierte Mapping Business Rule... 83 X