0,00 €
Masterarbeit aus dem Jahr 2006 im Fachbereich Informatik - Angewandte Informatik, Note: 1,3, Hochschule für angewandte Wissenschaften Augsburg, Sprache: Deutsch, Abstract: Motivation Als vor einem Jahr, gegen Ende meines Masterstudienganges, die Wahl des Themas für eine Masterarbeit aktuell wurde, war ich als Software-Entwickler bei einer Firma tätig, die eine seit mehr als 15 Jahren existierende Branchensoftware für Druckereien und Printmedien durch eine auf Java basierende Neuentwicklung ablösen wollte. Kernbestandteil der neu zu entwickelnden ERP-Lösung sollte ein Workflow-Management- System (WfMS) bilden, welches die Arbeitsabläufe und das Zusammenspiel der einzelnen Teilkomponenten koordinieren sollte. Nach einer Evaluation verfügbarer kommerzieller und freier Systeme wurde beschlossen, ein eigenes Workflow-Management- System zu entwickeln. Bei dieser Entwicklung war ich vor allem in den Bereichen Anbindung bestehender und neuer Komponenten an das WfMS sowie in der Integration von bestehenden Standards, welche in diesem Bereich existieren, eingebunden. Zusätzlich dazu besuchte ich während des Semesters eine Vorlesung, deren Thema die Modellierung von Geschäftsprozessen und deren Abbildung innerhalb von ERP-Systemen war. In der Vorlesung kam SAP R/3 in Verbindung mit dem ARIS-Toolset der Firma IDS Scheer zum Einsatz. Bedingt durch meine Kenntnisse sowohl in der Modellierung von Geschäftsprozessen und deren Umsetzung als Workflows als auch der technischen Realisierung eines WfMS war mein Interesse für dieses Themengebiet geweckt und ich beschloss, tiefer in dieses einzusteigen. Diese Masterarbeit bot mir die ideale Möglichkeit hierfür. Zielsetzung Während meiner Tätigkeit als Entwickler konnte ich die komplexen Anforderungen an ein WfMS erfahren und ebenso die Probleme, die eine Umsetzung dieser bereiten. Bei den Recherchen zu dieser Masterarbeit mußte ich außerdem feststellen, daß die verfügbaren Systeme bereits ein hohes Maß an Funktionalität und Stabilität erreicht haben, so daß es aus meiner Sicht kaum noch einen Sinn macht, eine Eigenentwicklung in diesem Gebiet anzustreben. Vor allem Branchenriesen wie SAP, Oracle oder IBM haben inzwischen Systeme entwickelt, die kaum noch Ansatzpunkte für Verbesserungen oder Neuerungen bieten; aber auch im Open Source-Umfeld existieren Lösungen, die ausgereift genug sind, um innerhalb einer Produktiv-Umgebung eingesetzt werden zu können. [...]
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Veröffentlichungsjahr: 2007
Page 1
Studienrichtung
Informatik
Dipl.-Inf. (FH) Torsten Straßer
Architektur und Implementierung eines
verteilten regelbasierten
Workflow-Management-Systems
Abgabe der Arbeit: 11.11.05
Page 2
Diese Masterarbeit beschreibt ein Konzept für die Entwicklung eines verteilten regelbasierten Workflow-Management-Systems und dessen prototypische Implementierung. Bevor auf Konzept und Umsetzung des WfMS eingegangen wird, werden die Geschichte des Workflow-Managements, die Entwicklung von Workflow-Management-Systemen und die an sie gestellten Anforderungen beschrieben. Architekturen von Workflow-Management-Systemen lassen sich anhand des Grades der Verteilung ihrer Implementierung unterscheiden. Vor- und Nachteile der verschiedenen Architekturen werden aufgezeigt und daraus die Entscheidung für die Implementierung eines verteilten WfMS abgeleitet
Für die Entwicklung verteilter Anwendungen stehen verschiedene Technologien zur Verfügung. Neben J2EE und .NET existieren im Java-Umfeld noch weniger bekannte. Eine davon ist Jini und die in ihr enthaltene JavaSpaces. JavaSpaces bietet ein völlig anderes Konzept zur Implementierung verteilter Anwendungen. Es wird hier vorgestellt und bildet die Grundlage für das entwickelte WfMS. Obwohl JavaSpaces ein ausgereiftes Werkzeug für die Implementierung der Kommunikation innerhalb verteilter Anwendungen ist, das neuen Entwicklungen wie SOA sehr ähnelt, ist J2EE für die Ausführung von Business-Logik besser geeignet. Die Masterarbeit verfolgt unter anderem das Ziel, die Vorteile beider Technologien zu kombinieren und eine stabile, performante Basis für die Entwicklung des WfMS zu entwickeln.Ergebnis dieser Idee sind Space-Driven Beans, die innerhalb eines EJB-Containers ausgeführt werden und ähnlich den Message-Driven Beans auf Benachrichtigungen des JavaSpace reagieren.
Im Weiteren erfolgt die Umsetzung des WfMS mit dem entwickelten SDB-Container und den damit verbundenen Technologien J2EE und JavaSpaces. Den Abschluß bildet die Erweiterung des entwickelten Prototyps um eine regelbasierte Verarbeitung von Workflows. Hier stehen die Konzepte regelbasierter Anwendungen und aktuelle Technologien im Java-Umfeld sowie deren Integration in das WfMS im Mittelpunkt.
Page 8
Als vor einem Jahr, gegen Ende meines Masterstudienganges, die Wahl des Themas für eine Masterarbeit aktuell wurde, war ich als Software-Entwickler bei einer Firma tätig, die eine seit mehr als 15 Jahren existierende Branchensoftware für Druckereien und Printmedien durch eine auf Java basierende Neuentwicklung ablösen wollte. Kernbestandteil der neu zu entwickelnden ERP-Lösung sollte einWorkflow-Management-System(WfMS) bilden, welches die Arbeitsabläufe und das Zusammenspiel der einzelnen Teilkomponenten koordinieren sollte. Nach einer Evaluation verfügbarer kommerzieller und freier Systeme wurde beschlossen, ein eigenes Workflow-Management-System zu entwickeln. Bei dieser Entwicklung war ich vor allem in den Bereichen Anbindung bestehender und neuer Komponenten an das WfMS sowie in der Integration von bestehenden Standards, welche in diesem Bereich existieren, eingebunden. Zusätzlich dazu besuchte ich während des Semesters eine Vorlesung, deren Thema die Modellierung von Geschäftsprozessen und deren Abbildung innerhalb von ERP-Systemen war. In der Vorlesung kam SAP R/3 in Verbindung mit dem ARIS-Toolset der Firma IDS Scheer zum Einsatz.
Bedingt durch meine Kenntnisse sowohl in der Modellierung von Geschäftsprozessen und deren Umsetzung als Workflows als auch der technischen Realisierung eines WfMS war mein Interesse für dieses Themengebiet geweckt und ich beschloss, tiefer in dieses einzusteigen. Diese Masterarbeit bot mir die ideale Möglichkeit hierfür.
Zielsetzung
Während meiner Tätigkeit als Entwickler konnte ich die komplexen Anforderungen an ein WfMS erfahren und ebenso die Probleme, die eine Umsetzung dieser bereiten. Bei den Recherchen zu dieser Masterarbeit mußte ich außerdem feststellen, daß die
Page 9
verfügbaren Systeme bereits ein hohes Maß an Funktionalität und Stabilität erreicht haben, so daß es aus meiner Sicht kaum noch einen Sinn macht, eine Eigenentwicklung in diesem Gebiet anzustreben. Vor allem Branchenriesen wie SAP, Oracle oder IBM haben inzwischen Systeme entwickelt, die kaum noch Ansatzpunkte für Verbesserungen oder Neuerungen bieten; aber auch im Open Source-Umfeld existieren Lösungen, die ausgereift genug sind, um innerhalb einer Produktiv-Umgebung eingesetzt werden zu können.
Dieser Umstand, aber auch mit Kommilitonen und Kollegen geführte Dialoge der Art:„Was machst du in deiner Masterarbeit?“ - „Ich entwickle ein Workflow-Management-System“ - „Ach, noch eines...“,überzeugten mich davon, daß die reine Neuentwicklung eines WfMS kaum zu interessanten und innovativen Erfahrungen führen würde, wie ich sie eigentlich im Rahmen der Masterarbeit erlangen möchte.
Daraus resultierte die Idee, einen völlig neuen Blickwinkel auf einerseits die technische Umsetzung eines Workflow-Management-Systems, andererseits auf dessen Arbeitsweise zu finden. Das Ergebnis daraus präsentiert nun diese Masterarbeit. In dieser Arbeit verwirklichte ich Ideen, die, obwohl in anderen Gebieten schon seit langer Zeit verfügbar und angewandt, im Bereich der WfMS gerade erst ansatzweise erprobt werden. Konkret sind dies die Implementierung eines WfMS als eine verteilte Anwendung und der Aufbruch der relativ starren Strukturen von Workflows durch den Einsatz regelbasierter Verarbeitung.
Inhalte
Diese Masterarbeit geht nicht auf Themen wie den im Moment allgemein verbreiteten BegriffBusiness Process Modelling(BPM) oder die Umsetzung von Geschäftsprozessen mittels Workflows ein. Auch werden die Anforderungen an ein WfMS nur soweit beschrieben, wie sie dem Verständnis dieser Arbeit dienen. Vielmehr geht es um die Idee der Realisierung eines WfMS als verteilte Anwendung und die Ersetzung fest definierter Workflows durch einen regelbasierten Ansatz. Umgesetzt werden diese beiden Ziele durch zwei Technologien, die zwar oft ein Schattendasein führen, jedoch gerade in letzter Zeit immer wieder im Blickwinkel der Entwicklergemeinde auftauchen.
Der Aspekt des verteilten WfMS wird durch den Einsatz der schon 1999 von Sun Microsystems im Rahmen derJava Intelligent Network Architecture(Jini)1vorgestelltenJavaSpacesAPI verwirklicht.
Die regelbasierte Definition von Workflows basiert auf den ebenfalls schon seit Jahren benutzten Konzepten vonRuleEngines,die bisher vor allem im Finanzbereich eingesetzt wurden. Gerade in letzter Zeit gibt es hier aber sehr ausgereifte Implementierungen für die Anwendung in Java und immer stärkere Bestrebungen für eine Standardisierung, was derJava Specification Request94 (JSR94)2beweist. Ein aktuelles Beispiel für diese Entwicklung ist die Integration derRule-Engine Drools3in den wohl bekanntesten J2EEApplication Server JBoss4(siehe auch [Tss05a-ol]).
Das zweiten Kapitel beschreibt kurz Workflow-Management und damit
1 http://www.sun.com/software/jini
2 http://www.jcp.org/en/jsr/detail?id=94
3 http://drools.org
4 http://www.jboss.org
Page 10
zusammenhängende Begriffe, sowie mögliche Architekturen für die Implementierung von Workflow-Management-System.
Das dritte Kapitel erläutert anschließend die Entstehung und das Konzept der JavaSpaces API, welches als Grundlage des entwickelten WfMS fungieren. Das vierte Kapitel beschreibt die Idee und die Umsetzung einer Kombination der JavaSpaces API mit derJava 2 Enterprise Edition(J2EE)5, die heute so ausgereift ist, das sie meist die erste Wahl für die Umsetzung von Unternehmensanwendungen ist und deshalb auch für die Plattform für die Entwicklung des WfMS bildet. Das Ergebnis dieser Kombination ist eine aufEnterprise JavaBeansbasierende Laufzeitumgebung, die sich an herkömmlichen EJB-Containern orientiert, die Idee vonMessage-DrivenBeansaufgreift und mittels JavaSpaces neu umsetzt.
Das letzen Kapitel schließlich erläutert die Umsetzung eines WfMS mit Hilfe des vorher genannten Containers. Hier erlaubt der Einsatz von JavaSpaces in Kombination mit einer J2EE-Architektur die Umsetzung einiger ungewöhnlicher Konzepte, die in dieser Form in der Entwicklung von Workflow-Management-Systemen noch kaum Anklang findet.
Neben der neuen Form der Implementierung einer Workflow-Engine wird auch eine alternative Möglichkeit der Definition und Bearbeitung der Workflows selbst beschrieben, welche es erlaubt, die bisher starren Abläufe von Workflows durch einen regelbasierten Ansatz aufzubrechen. Hierfür kommt die bereits genannte JSR 94RuleEngine APIin Verbindung mit der Open SourceRule-Engine Droolszum Einsatz.
5 http://java.sun.com/j2ee
Page 11
Im Abstand von einigen Jahren tauchen im Bereich der Softwareentwicklung immer wieder neue Technologien auf, die die gesamte IT-Branche in Euphorie versetzen. Damit einher geht in der Regel eine wahre Flut von Innovationen und noch viel mehr von neuen Begriffen und Akronymen, sogenanntenBuzzwords6. Eines der besten Beispiele dieses Phänomens stellen die um das Jahr 2002 populär gewordenenWeb-Services7dar.
Heute, fast drei Jahre später, zeigen sich die ersten Anzeichen, daß Web-Services einen Stand erreicht haben, der einen produktiven Einsatz erlaubt. Dies zeigt sich vor allem auch daran, daß neue Technologien und Architekturen auf dem Markt erscheinen, die vollständig auf Web-Services basieren und nun eine neue Welle vonBuzzwordsundTLAs8lostreten.
Obenauf auf dieser Welle treiben im Moment vor allem Begriffe wieService-Oriented-Architecture(SOA) oderEnterprise-Service-Bus(ESB). Im Umfeld dieser Themen tauchen auch wieder Begriffe wie Geschäftsprozessmodellierung,Business-Process-ReengineeringoderBusiness-Process-/Workflow-Managementauf, die jedoch in diesem Fall keine wirkliche Innovationen, sondern eher alter Wein in neuen Schläuchen sind. Gerade das Workflow-Management ist keine Erfindung der letzten Zeit, sondern hatte bereits Anfang 1990 eine Hochphase hinter sich. Die Wurzeln des Workflow-Managements datieren sogar zurück auf die 70er Jahre des letzten Jahrhunderts. Der erste Versuch in Richtung einer Automatisierung von Geschäftsprozessen war Teil der
6 Eine deutsche Umschreibung für den Begriff Buzzword lautet: Schlagwort, mit dem um besondere Aufmerksamkeit gebuhlt wird [Wiki05a-ol].
7 Software-Anwendung, die mittels einesUniform Resource Identifier(URI) eindeutig identifizierbar ist und deren Schnittstelle als XML-Artefakte definiert, beschrieben und gefunden werden kann [Wiki05e-ol].
8 TLA:Three Letter Acronym,Abkürzungen mit drei Buchstaben
Page 12
office automationPrototypen, an denen bei Xerox PARC geforscht wurde. [Mue04-ol] Ziel dieser Forschung war:
„to reduce the complexity of the user's interface to the [office information] system, control the flow of information, and enhance the overall efficiency of the office.“[EN80]
Das Design dieser Anwendungen begann Mitte der 70er Jahre, die Ideen der Prozessautomatisierung mit Hilfe der Informationstechnologie können jedoch bis ins Jahr 1968 zurückverfolgt werden, als Fritz Nordsieck schrieb:
„Think about [a] modern data processing [system]. [It] represents a perceptible process, that is [...] connected with the business process and accompanies - or even controls - this process during various segments."[Nor72]
Abbildung 1 und Abbildung 2 zeigen eine zeitliche Übersicht über Forschungsprojekte und kommerzielle Systeme im Bereich Workflow-Management.
Page 13
Page 14
Workflow-Management
Workflow-Management ist ein Teilbereich der sogenanntenComputer Supported Coooperative Work(CSCW), einem interdisziplinären Forschungsgebiet aus verschiedenen Wissenschaften wie zum Beispiel der Informatik, der Soziologie und den Organisationswissenschaften. CSCW beschäftigt sich mit der Zusammenarbeit von Arbeitsgruppen und den diese unterstützenden Informations- und Kommunikationstechnologien [Wiki05b-ol].
Workflow-Management stellt die technische Umsetzung des Geschäftsprozessmanagements dar (siehe Infobox „Business-Process-Management“).
Ziele des Workflow-Managements
Heute übernehmen Workflow-Management-Systeme zunehmend eine aktive Rolle in Planung, Steuerung und Analyse von Geschäftsprozessen. Die Ziele des Workflow-Managements lassen sich somit aus dem Hauptziel des Geschäftsprozessmanagements ableiten: Verbesserung der Kundenzufriedenheit, Qualität und Prozesstransparenz, Verkürzung der Durchlaufzeiten und Kostenreduktion, rasche Anpassung an organisatorische Veränderungen und einheitliche Benutzeroberflächen (vgl. [Gad05-ol]). (Die folgenden Punkte stammen aus [Gad05-ol]).
Page 15
Verbesserung der Kundenzufriedenheit•
Dieses Ziel wird für eine höhere Auskunftsfähigkeit gegenüber dem Kunden angestrebt. Workflow-Management-Systeme unterstützen dies, indem sie jederzeit den Status von laufenden Vorgängen liefern können.Verbesserung von Qualität und Transparenz der Geschäftsprozesse•
Die Automatisierung der Geschäftsprozesse soll Bearbeitungsfehlern vermindern. Der laufende Abgleich von Sollprozessen mit den tatsächlichen Ergebnissen, initiierte Anpassungsprozesse und schafft dadurch die Grundlage für eine erhöhte Prozessqualität.
Verkürzung von Durchlaufzeiten und Reduktion von Prozesskosten•
Die Werkzeuge und Instrumente des Workflow-Managements erlauben die Parallelisierung einzelner Aktivitäten und vollständiger Prozesschritte unter Ausnutzung freier Personal- oder Computer-Ressourcen, die dynamisch den auszuführenden Geschäftsprozessen zugeordnet werden.Schnellere Anpassung der Geschäftsprozesse an organisatorische•Änderungen
Da Geschäftsprozesse im Rahmen des Workflow-Managements auf der Basis anpassbarer Workflow-Modelle unterstützt werden, lassen sich diese an Veränderungen im organisatorischen Umfeld anpassen (z. B. Veränderung der Abteilungsstruktur, Schaffung neuer Stellen).Schaffung von einheitlichen Benutzeroberflächen•
Workflow-Management-Systeme stellen dem Anwender eine für den gesamten Geschäftsprozess einheitliche Benutzeroberfläche zur Verfügung und rufen die im Rahmen der Aufgabenausführung jeweils erforderlichen Programme auf. Hierdurch entsteht für den Anwender der Eindruck einer ganzheitlichen Computerlösung.
Workflows
1993 wurde dieWorkflow Management Coalition(WfMC)9gegründet, eine internationale Organisation, in der sowohl Anwender und Hersteller von Workflow-Produkten, als auch in diesem Bereich tätige Universitäten und Forschungsgruppen zusammengeschlossen sind, um die Nutzung von Workflows durch die Etablierung von Standards zu fördern.
Seit 1996 publiziert die WfMC ein Glossar für Begriffe aus dem Workflow-Umfeld. Darin findet sich auch die aktuelle Definition des Begriffs Workflow:
„[Workflows are] The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules.“[All01, S. 15ff]
Workflows sind die Verfeinerung von Geschäftsprozessen auf der DV-technischen Ebene (vgl. [Gad05-ol]). Sie beschreiben, wie und mit welchen Mitteln Geschäftsprozesse auszuführen sind. Ein Geschäftsprozess legt dagegen ausschließlich die auszuführenden Aufgaben fest (siehe auch Infobox „Geschäftsprozesse vs. Workflows“).
9 http://www.wfmc.org
Page 16
Workflows werden in der Regel im Anschluß an die Analyse der Geschäftsprozesse eines Unternehmens entwickelt. Abbildung 3 zeigt die schrittweise Entwicklung eines Workflows aus einem Geschäftsprozess. Die Ablaufschritte eines Geschäftsprozesses werden durch standardisierte, oft graphische Notationen - zusammen mit den zu ihrer Ausführung benötigten Ressourcen - beschrieben. Neben den Ressourcen enthalten Workflow-Definitionen auch die ausführenden Einheiten von Aktivitäten, welche sowohl Menschen, Maschinen oder Programme sein können., d. h. es findet eine Unterscheidung zwischen manuellen und automatisierten Aktivitäten statt.
