Workflow Management Architekturen

Die System Architektur eines Workflow Systems umfasst alle Bereiche   von der Modellierung über die Implementierung bis zum Einsatz der Workflowlösung, die zur Erfüllung aller Anforderungen an ein Workflow Management System nötig sind. Die Architektur eines WFMS lässt sich dabei zunächst in folgende vier Bereiche gliedern:

  • Der  Workflow Server ist für die Ausführung und Verwaltung der Geschäftsprozesse verantwortlich.
  • Der  Workflow Modeler dient dazu Geschäftsprozesse gemäß den jeweiligen Anforderungen zu modellieren und zu dokumentieren.
  • Der  Workflow Client unterstützt Anwender bei der Bearbeitung von Geschäftsvorfällen
  • Der  Administations Client unterstützt den Administrator bei der Administration des Systems

Die einzelnen Komponenten können dabei auf unterschiedlichen Softwaresystemen und in unterschiedlichen Architekturen zum Einsatz kommen. Durch geeignete Schnittstellen arbeiten die jeweiligen Komponenten zusammen und ergänzen sich so gegenseitig.

Allgemeine Workflow Management Systeme

Die Hauptaufgabe eines  Workflow-Management-Systems (WFMS) besteht in derelektronischen Abbildung von Geschäftsprozessen. Dabei unterstützt das WFMS den einzelnen Anwender bei der Bearbeitung unterschiedlichster Geschäftsvorfälle innerhalb eines Softwaresystems durch die Bereitstellung von elektronischen Postkörben – ähnlich dem klassischen Ein- und Ausgangskorb eines Arbeitsplatzes. Das WFMS bietet dem Anwender Funktionen an, mit denen einzelne Vorgänge aus dem Eingangskorb entnommen und bearbeitet werden können und leitet die Vorgänge   zum nächsten Bearbeiter weiter.

Workflow-Management-Systeme dienen also dazu, die Bearbeitung von Arbeitsprozessen elektronisch zu unterstützen. Dazu verfügen die Systeme über Regeln und Funktionen, mit deren Hilfe sie die zu bearbeitenden Dokumente automatisch an den jeweils nächsten Mitarbeiter oder das passende Softwaresystem weiterleiten und Informationen aus einem Softwaresystem dem Anwender zur Verfügung stellen.

Das Prinzip eines solchen Systems wird deutlich, wenn man analysiert, wie Geschäftsprozesse in herkömmlichen Verfahren mit Hilfe von Formularen in Papierform abgearbeitet werden. Vorgänge die von mehreren Mitarbeitern nacheinander bearbeitet werden müssen, z.B. in einer Verwaltungsorganisation, werden mit Hilfe von Vorgangsmappen verteilt und bearbeitet. Eine Vorgangsmappe enthält dabei alle Dokumente, die mit dem jeweiligen Arbeitsschritt in Zusammenhang stehen, z. B. Antragsformulare, Beurteilungen und Statusberichte oder auch Dokumente mit fachlichen Informationen zur Bearbeitung des Vorgangs. In einem WFMS werden diese Informationen in Form einesWorkItems gespeichert, welches vom  Workflow Server verwaltet und gemäß dem  Workflowmodell nacheinander den einzelnen Anwendern zur Verfügung gestellt wird.

Ein allgemeines Workflow Management System bildet also die Kernaufgaben bei der elektronischen Abbildung von Geschäftsprozessen zwischen einzelnen Anwendern und IT Systemen ab. Ein solches System lässt sich dazu in die folgenden Komponenten zur Modellierung, Verwaltung und Bearbeitung von Geschäftsprozessen gliedern.

Prozess Modellierer – Workflow Modeler

Der Prozess Modellierer erstellt das Workflow Modell mit Hilfe des Workflow Modelers. Dieser dient der Erstellung eines Workflowmodells, welches später den Ablauf und die Steuerung des Geschäftsablaufes bestimmt. Der Workflow Modeler muss über Funktionen verfügen, Workflowmodelle auf den Workflow Server zu übertragen bzw. diese dort zu ändern.

Workflow Server – Workflow Engine

Die zentrale Komponente eines WFMS ist die Workflowsteuerung die meist als Serverkomponente,  Workflow Server oder  Workflow Enginebezeichnet wird. Der Workflow Server fasst alle Abläufe eines oder mehrerer Geschäftsabläufe zusammen und verwaltet sowohl den Status als auch die Daten jedes Vorgangs.

Dabei arbeitet der Workflow Server die Geschäftsvorfälle nach einem vorgegebenen Workflowmodell ab. Der Workflow Server verfügt in der Regel über eine Datenbankkomponente, welche für die Persistenz der Geschäftsvorfälle sowie des Geschäftsmodells verantwortlich ist.

Anwendung – Workflow Client

Als Workflow Client bezeichnet man die Anwendungskomponente, welche den Anwender bei der Durchführung einer Aufgabe innerhalb eines Workflow Management Systems unterstützt. Der Workflow Client hat die Aufgabe dem Anwender alle für die Bearbeitung einer Aufgabe relevanten Informationen darzustellen und die Bearbeitung und Kontrolle seiner Aufgabe zu ermöglichen.

Auch bei der Workflow Client Software lassen sich verschiedene Architekturen realisieren. Es können dabei folgende drei Arten von Workflow Clients unterscheiden.

Zentraler Workflow Client

Ein zentraler Workflow Client fasst alle Aufgaben in einer einheitlichen eigenen Applikation/Anwendung zusammen. Damit können Anwender Aufgaben aus unterschiedlichen Geschäftsvorgängen oder sogar unterschiedlichen Workflowsystemen zentral an einem Ort verwaltet. Ein zentraler Workflow Client erleichtert die Bearbeitung von Aufgaben, die sich über mehrere Geschäftsabläufe hinweg erstrecken, da er dem Anwender automatisch beim Aufruf unterschiedlicher Applikationen unterstützt.

Embedded Workflow Client

Ein Embedded Workflow Client dient dazu, eine einzelne Applikation um Workflow Client Funktionalitäten zu erweitern. Dabei werden typische Workflowfunktionen wie z.B. die Aufgabenverwaltung oder Statusverfolgung in die jeweilige Applikation eingebettet. D.h. die Applikation wird funktional erweitert. Die Workflow Funktionen können dabei sowohl eine ergänzende Aufgabe übernehmen als auch ein zentrales Element der Applikation selbst darstellen (Beispiel: Urlaubsantrag, hier übernimmt der Workflow die zentrale Aufgabe bzw. einen großen Teil der Funktionen einer Urlaubsanwendung).

Administrations Client

Ein Workflow Administrations Client dient dazu, Geschäftsvorfälle ,die mit einem Workflowsystem erfasst und bearbeitet werden, administrativ zu verwalten. Administratoren oder Prozessveranwortliche können damit einzelne laufende Prozesse überwachen oder diese bei fehlerhaftem Verhalten manuell korrigieren.

Eine weitere Funktion eines Administrations Clients sind statistische Auswertungen, die dazu dienen können, den Geschäftsprozess zu Laufzeit zu analysieren und ggf. Maßnahmen zur Optimierung des Geschäftsprozesses zu ergreifen. Ein Administrations Client ist meist auch mit dem Modellierungs Tool verbunden um Administratoren direkten Zugriff auf die Modelldaten zu ermöglichen.

Aufbauorganisation und Rollenkonzept

Die Aufbauorganisation des Unternehmens, d.h. seine mehrstufige Gliederung in Organisationseinheiten, bildet den Rahmen, in dem ein Geschäftsprozess abläuft. Aus Sicht einer durchgängigen Geschäftsprozessbearbeitung ist es wünschenswert die Aufbauorganisation prozessorientiert auszurichten. In der Regel sind Unternehmen jedoch meist funktionsorientiert gegliedert, d.h. es sind gleichartige Tätigkeiten (Funktionen) in Organisationseinheiten zusammengefasst. Geschäftsprozesse verlaufen dabei dann oft quer zu einer solchen Organisationsstruktur und müssen daher viele Abteilungsgrenzen überwinden.

Eine prozessorientierte Gliederung hingegen vermeidet die Bildung von   Organisationsbrüchen in dem Organisationseinheiten, so dass wichtige Geschäftsprozesse möglichst vollständig innerhalb einer Organisationseinheit ablaufen. Zum Beispiel ist ein Unternehmensbereich vollständig für die Produktentwicklung und den Vertrieb des Produktes verantwortlich. In der Praxis findet sich meist eine Mischform aus prozess- und funktionsorientierter Organisation.

Die Aufgabe eines Workflow Management Systems besteht darin, diese unterschiedlichen Konzepte zu unterstützen und geeignete Schnittstellen für eine optimale Abbildung der Organsisationsstrukturen bereitzustellen.

Verzeichnismanagement

Workflowmanagement Systeme werden meist direkt an die Aufbauorganisation des Unternehmens angebunden. Dabei können sowohl standardisierte Schnittstellen wie beispielsweise LDAP zum Einsatz kommen als auch unternehmensspezifische Implementierungen von Organisationsverzeichnissen.

Ziel einer Anbindung von WFMS an die Aufbauorganisation ist es, die einzelnen Akteure eines Workflows rollen- bzw. funktionsbezogen in den Workflow einzubinden. Dadurch können Akteure vom Workflowsystem authentifiziert werden und ihre Autorisierung für einen konkreten Geschäftsprozess geprüft werden.  Ein Workflow Management System sollte geeignete Schnittstellen aufweisen mit denen eine entsprechende Einbindung an eine bestehende Verzeichnissstruktur realisiert werden kann.

Die Modellierung sollte dabei möglichst getrennt von konkreten Personen erfolgen und lediglich anhand einzelner Organisationseinheiten oder Rollen vorgenommen werden.

Identity Management

Je größer ein Unternehmen ist, desto mehr müssen auch Identitäten und Berechtigungen verwaltet werden. Diese oft sehr komplexe Aufgabe wird mit Hilfe sogenannter Identity Management Architekturen realisiert. Dabei handelt es sich um Software-Komponenten, die die Identitäten der Mitarbeiter, sowie deren Zugriffsrechte innerhalb einer Organisation verwalten.

Eine Identity Management Architektur verfügt über Funktionen, das es erlaubt, Benutzern Rollen anhand ihrer Aufgaben im Unternehmen zuzuweisen. Diese Rollenzuweisung kann dann von einem Workflow Management System genutzt werden um eine prozessorientierte Abbildung einer Aufbauorganisation zu realisieren.

Die Anbindung von Verzeichnisdiensten in eine Identity Management Architektur ist ein weiteres Merkmal dieser Lösungen. Es werden dann zum Beispiel personenbezogene Daten von Mitarbeitern hinterlegt, die so von angeschlossenen IT Systemen direkt abgefragt werden können (Name, Mailadresse, Telefonnummer usw.). Dieser Verzeichnisdienst kann einerseits ein Metadirectory sein oder einfach nur ein dedizierter Verzeichnisdienst für eine solche Sicherheitsarchitektur. Über solch ein Meta-Directory werden die Benutzerdaten und Rechte auf alle angeschlossenen Systeme verteilt (im günstigsten Fall alle im Unternehmen eingesetzten Systeme). So kann das Identitätsmanagement zentralisiert werden.

Aus Sicht des Workflow Management können solche Architekturen also zum einen dafür eingesetzt werden Identitäten an das Workflow Management System zu liefern, zum anderen können Workflow Management Lösungen aber auch selbst Workflow-Prozesse anbieten um die Provisionierung in dem System zu steuern. Zum Beispiel durch die Bereitstellung eines Provisionierungsprozesses mit einem hierarchischen Genehmigungsprozess von Vorgesetzten. Datenänderungen können dann direkt in laufende Geschäftsprozesse übertragen bzw. mit diesen abgeglichen werden.

Delegation

Die Delegation ist eine weitere wichtige Funktion in Workflow Management Lösungen. Sie ermöglicht es Anwendern einzelne Aufgaben in ihrem Workflow umzuleiten und diese unter Berücksichtigung des Workflowmodells an andere Anwender zu übertragen.

Dabei werden die Vorgänge abhängig vom Geschäftsmodell umgeleitet. Bei einer Delegationsfunktion hat jeder Mitarbeiter die Möglichkeit, einen Vertreter zu benennen und dadurch eine Delegation zu aktivieren. Das WFMS erkennt dann automatisch den geänderten Bearbeiter und leitet bestehende und künftige Aufgaben vollautomatisch um. Dadurch lassen sich beispielsweise Urlaubsvertretungen zentral definieren und ermöglichen so eine effiziente und schnelle Bearbeitung auch während der Urlaubszeit.

Modellierung

Die Modellierung von Geschäftsprozessen ist eine zentrale Funktion von Workflow Management Systemen. Sie dient zum einen der Dokumentation eines Geschäftsprozesses zum anderen aber auch der technischen Ausführbarkeit eines Geschäftsmodells innerhalb eines Workflow Systems.

Arten der Modellierungswerkzeuge

Geschäftsprozesse können auf unterschiedliche Weise dokumentiert werden. Sie können in Form von reinem Text erfasst werden, oder auch als tabellarische Darstellung. Häufig wird jedoch eine grafische Darstellung in Form eines Ablaufdiagrammes gewählt, um den Geschäftsprozess zu veranschaulichen.

Da es noch keine standardisierte Notation für die Geschäftsprozessmodellierung gibt, verwenden unterschiedliche Modellierungswerkzeuge verschiedene Notationen und Darstellungsformen.

Generell können folgende drei Kategorien von Modellierungswerkzeugen unterschieden weden:

  • Grafikorientierte Modellierungswerkzeuge
  • Allgemeine Geschäftsprozess Modellierungswerkzeuge
  • Zweckgebundene Modellierungswerkzeuge

Grafikorientierte Modellierungswerkzeuge

Grafikorientierte Modellierungswerkzeuge stellen das Zeichnen von Diagrammen in den Mittelpunkt. Diese bieten in der Regel Funktionen zur Erstellung von Flussdiagrammen an und stellen verschiedene Symbole zur Modellierung bereit. Die Symbole können dabei meist mit Linien und Pfeilen verbunden werden. Es werden jedoch keine speziell auf das Geschäftsprozessmanagement ausgelegten Funktionen bereitgestellt, so dass die damit erstellten Modelle keiner einheitlichen Notation folgen. (Beispiel : Microsoft Visio)

Allgemeine Geschäftsprozess Modellierungswerkzeuge

Allgemeine Geschäftsprozess Modellierungswerkzeuge bieten eine umfassendere Unterstützung bei der Modellierung von Geschäftsprozessen als grafikorientierte Modellierungswerkzeuge. Die Modellierung folgt dabei einer definierten methodisch korrekten Modellierung gemäß der verwendeten Notation. Die verwendete Notation ist dabei durch den Toolhersteller bestimmt und folgt meist keinem allgemeinem Standard. Dadurch ist sichergestellt, dass alle Prozesse einheitlich beschreiben sind. Die Modelle werden meist in zentralen Datenbanken gespeichert und können von verschiedenen Anwendern mit unterschiedlichen Rollen bearbeitet werden.

Zweckgebundene Modellierungswerkzeuge

Zweckgebundene Modellierungswerkzeuge sind Werkzeuge die eine konkrete Modellierung von Geschäftsprozessen innerhalb eines Workflow Management Systems erfüllen.

Der Vorteil dieser Werkzeuge besteht darin, dass sie sehr gut auf den jeweiligen Einsatzzweck bzw. das Workflow Management System abgestimmt sind. Eine integrierte Modellierungsoberfläche eines WFMS garantiert eine korrekte Modellierung aller vom WFMS benötigten Informationen und damit die direkte Ausführbarkeit der Prozessdefinition.

Häufig verfügen diese Tools auch über Exportschnittstellen die einen Export in ein standardisiertes Format wie zum Beispiel  BPEL erlauben.

(Beispiele für zweckgebundene Modellierungswerkzeuge: JBoss JBPM Modeler, Imixs IX Workflow Modeler)

BPMN

Die Business Process Modeling Notation (BPMN) dient der graphischen Repräsentation eines Geschäftsprozesses. Ziel von BPMN ist es eine allgemeine Prozessmodellierungssprache zu standardisieren

Generell ist BPMN eher für die Modellierung von Geschäftsprozessen aus betriebswirtschaftlicher Sicht gedacht. Dabei versucht BPMN vor allem die Interoperabilität von Prozessen zwischen Menschen darzustellen. Somit kann BPMN durchaus als Ergänzung zur rein technischen Modellierungssprache BPEL betrachtet werden.

BPMN Diagramme bilden eine gute Ausgangssitaution für weitere Modellierungsschritte beim Weg zu einem Przessmodell in einem Workflow Management System.

Vergleichbar ist BPMN mit den Aktivitäten Diagrammen von UML.

Anwendungsintegration

Workflow Management Systeme bilden die eigentlichen Funktionen eines klassischen Workflow Systems auf folgenden Ebenen ab:

  • Modellierung
  • Verwaltung von Prozessinstanzen
  • Bereitstellung von Vorgängen für den Anwender

Dabei steht die Prozessablaufsteuerung sowie die Unterstützung des Anwenders bei der Erfüllung seiner betrieblichen Aufgabe im Vordergrund. Ein allgemeines Workflow Management System kann dabei unterschiedliche Geschäftsprozesse unterstützen und ist nicht auf einen spezialisierten Geschäftsprozess optimiert. Es eignet sich damit sehr gut für eine Integration in übergeordnete Anwendungssysteme oder Architekturen.

Im Gegensatz zu konventioneller Bearbeitung kümmert sich das WFMS automatisch um die Weiterleitung an den nächsten Bearbeiter. Dazu wird das WFMS entweder in eine Anwendung integriert oder zentral zur Verfügung gestellt. Bei einem zentralen WFMS verfügt dieses über Schnittstellen zur Überwachung einzelner Vorgänge aus einem Anwendungssystem.

Daher muss das WFMS in eine Softwareanwendung integrierbar sein, oder aber über Schnittstellen verfügen, um die zur Bearbeitung eines Geschäftsvorfalles nötigen Informationen dem Anwender bereitzustellen.

Aufgaben und Statusverfolgung

Innerhalb eines WFMS Systems werden diese „Vorgangsmappen“ (Workitems) elektronisch abgebildet. Der Transport der Vorgangsmappe erfolgt nun aber nicht mehr durch den Anwender, sondern vollautomatisch durch das Workflow Management System und den definierten Geschäftsprozess. Hierzu stellt das WFMS jedem Anwender sogenannte Aufgabenlisten bereit. Eine Aufgabenliste enthält dabei stets alle Aufgaben, die für einen bestimmten Mitarbeiter zur Bearbeitung vorliegen. Im Gegensatz zur konventionellen Bearbeitung kann aber ein WFMS auch eine Aufgabe mehreren Anwender zeitgleich zur Verfügung stellen. Dies ist dort sinnvoll, wo beispielsweise mehrere Sachbearbeiter die gleiche Aufgabe durchführen können. Während der Bearbeitung wird die Aufgabe für die anderen Sachbearbeiter aus der gemeinsamen Aufgabenliste enfernt. Sobald einer der Anwender die Aufgabe abgeschlossen hat, holt er sich die nächste Aufgabe aus dem gemeinsamen Eingangskorb. Die Weiterleitung einer abgearbeiteten Aufgabe durch einen Anwender erfolgt automatisch durch das WFMS. Dabei entfernt das System die Aufgabe aus dem Eingangskorb des zuletzt betroffenen Anwenders und überträgt die Aufgabe in den Eingangskorb des nächsten Anwenders. Ist die Aufgabe vollständig abgeschlossen überträgt das WFMS den Vorgang in ein elektronisches Archiv.

Der Aufbau und die Darstellung einer Aufgabenliste ähnelt dem einer Posteingangsliste eines Email-Programms. Die Vorgänge werden mit einem Titel (Subject), dem Zeitpunkt der letzten Bearbeitung sowie einem im Geschäftsmodell festgelegten Status chronologisch angezeigt. Durch Anklicken einer Aufgabe öffnet der Mitarbeiter den Vorgang und kann dann in einem entsprechenden Dialog mit der Bearbeitung beginnen. Die Vorteile einer solchen Aufgabenliste sind:

  • Automatische Weiterleitung anhand des definierten Geschäftsmodells
  • Zusammenfassung aller relevanten Informationen zur Bearbeitung einer Aufgabe
  • Direkte Kommunikation mit dem Anwender und den angeschlossenen Systemen
  • Gleichzeitige Verwaltung von Aufgaben für mehrere Mitarbeiter

Anders als E-Mail Programme kann ein WFMS nicht nur Texte und Datei-Anhänge verwalten, sondern auch komplexe Objekte und Verbindungen zu anderen Applikationen herstellen. Ein WFMS kann so zum Beispiel dynamische Verknüpfungen generieren (Links, die den Bearbeiter direkt in eine zur Bearbeitung vorgesehenen Applikation leiten. Dadurch verbinden WFMS bestehende Systemlandschaften und erleichtern so dem Mitarbeiter das Bedienen komplexer Systeme, was letztendlich zu einer Kostenersparnis für das Unternehmen führt.

Im Gegensatz zur Aufgabenliste bietet eine Statusliste dem Anwender die Möglichkeit, selbst erstellte Vorgänge zu verfolgen. Jeder Geschäftsprozess, der von einem Anwender angestoßen wird, erzeugt automatisch einen Statuseintrag in der Statusliste des Anwenders. Dadurch ist der Anwender in der Lage, den Arbeitsfortschritt zu überwachen. Ein Beispiel hierfür ist ein Urlaubsantrag, welcher vom Anwender erstellt und vom WFMS an den Vorgesetzten weitergeleitet wird. Über die Statusliste kann der Anwender so sehen, ob der Antrag bereits bearbeitet wurde bzw. welche Abteilungen (z.B. Zeitverwaltung, Personalmanagement) dieser gerade durchläuft. Im Gegensatz zur Aufgabenliste können Vorgänge in der Statusliste nicht bearbeitet werden. Das WFMS steuert dies durch die explizite Vergabe von Lese- und Schreibrechten für jeden Vorgang. Die Definition bzw. die Regeln für die Schreib- und Leserechte werden innerhalb des Geschäftsmodells definiert.

Anwendungsintegration aus Sicht der Softwareentwicklung

Prinzipiell lassen sich beim Aufbau eines WFMS zwei unterschiedliche Integrationswege aufzeigen.

Zum einen kann ein WFMS in einem Unternehmen als zentrale Steuerungssoftware für eine Vielzahl von Geschäftsabläufen eingesetzt werden. D.h. es wird eine WFMS aufgebaut mit dem alle oder eine große Zahl von Geschäftsprozessen des Unternehmens zentral verwaltet werden. Man spricht dann von einem zentralen Workflow System.

Zum anderen können Workflowsysteme dazu verwendet werden, eine bestehende oder neu zu erstellende Applikation mit Funktionen eines Workflowsystems zu erweitern. In diesem Fall wird das WFMS in eine Anwendung eingebettet. Man bezeichnet dies als embedded workflow.

Zentrale Workflow Systeme

Ein zentrales Workflow System bietet verschiedene Vorteile beim Aufbau einer prozessorientierten IT-Landschaft.

  • Alle Geschäftsabläufe werden einheitlich modelliert und dokumentiert
  • Die Durchführung der Geschäftsabläufe erfolgt anhand einer zentralen Software
  • Aufgaben und Vorgänge können unabhängig vom Geschäftsprozess einheitlich dargestellt werden.
  • Eine zentrale Auswertung und Kontrolle aller Vorgänge innerhalb des Systems ist gewährleistet.

Zentrale Workflowsysteme lassen sich beim Aufbau einer Service orientierten Architektur sehr gut in eine modene IT-Landschaft integrieren, da diese die Prozess orientierte Sicht auf Services optimal unterstützen.

Embedded Workflowsystem

Der Aufbau eines zentralen Workflowsystems ist bei einer gewachsenen Systemlandschaft oft nur mit erheblichem Aufwand realisierbar. Zwar stellen Service orientierte Architekturen ein gutes Vorgehensmodell für den Aufbau solcher Lösungen bereit, doch lassen sich nicht immer alle Systeme nahtlos integrieren.

In Situationen in denen ein zentraler Ansatz nicht möglich ist oder der Aufwand den Nutzen übersteigt, bietet sich eine Integration eines Workflowsystems in eine bestehende oder neu zu entwickelnde Anwendung an.

In diesem Fall wird das Anwendungssystem um Funktionen eines WFMS erweitert.

Vorteile dieses Ansatzes sind

  • Schnelle Integration von Workflow Funktionalität in eine Anwendung
  • Bessere Konfigurierbarkeit der Abläufe einer Anwendung (Business Logik)
  • Bessere Unterstützung der Benutzerführung durch Bereitstellung von Vorgangsmappen Aufgabenlisten und Statuslisten

Die Integration eines WFMS in eine Anwendung sollte möglichst ohne Veränderung der bestehenden Anwendungsarchitektur möglich sein. In diesem Fall sollte das WFMS über Funktionen bzw. Komponenten verfügen, die eine einfache Integration aus Sicht der Softwareentwicklung ermöglichen.

Dass das WFMS dabei fester Bestandteil einer Anwendung wird, besteht eine Abhängigkeit von der Architektur bzw. Technologie der Anwendung zum WFMS. Daher sollte das WFMS beim Einsatz als embedded Workflow auf derselben Technologie bzw. Architektur wie die Anwendung basieren (z.B.: .Net, Java, JEE)

Das WFMS stellt dann der Anwendung neue Funktionen bereit die für die Prozessverarbeitung nutzbar sind. Je nach Stärke der Integration kann das Anwendungssystem diese Funktionen direkt aufrufen (z:B.: EJB API) oder aber es nutzt eine von der jeweiligen Technologie unterstützte Schnittstelle. z.B.: Web Services

Vernetzung

Die Vernetzung von Prozessen und Anwendern spielt eine wichtige Rolle im Bereich des Geschäftsprozessmanagements. Im folgenden sollen dazu verschiedene Arten der Vernetzung von Geschäftsprozessen näher betrachtet werden.

Eine der stärksten Formen der Vernetzung in der täglichen Arbeitswelt finden wir in Form von Email. Betrachtet man ein Email System als Geschäftsprozess Management System zur Erzeugung und Kontrolle von Email Nachrichten kann man Folgendes feststellen: Alle Email Systeme (Emailserver) sind über das Internet und geeignete Protokolle miteinander vernetzt. Eine einzelne Prozessinstanz (das Email) kann von jedem Emailserver angenommen und verteilt werden. Aber auch alle Prozessbeteiligten (Anwender mit einer Email Adresse) können mit jedem anderen Prozessteilnehmer Prozesse (Emails) austauschen. Wohin diese extreme Form der Vernetzung führt, kann man an der Problematik der Spam Mails ablesen. Häufig ist der Prozess Email daher heute nicht mehr praktikabel.

Im Folgenden werden nun drei mögliche Vernetzungen von Workflow Management Systemen betrachtet und dargestellt wie diese Vernetzung die Arbeitsprozesse verbessern kann.

Vernetzung innerhalb eines WFMS

Jede Workflow Management Lösung stellt zunächst einmal ein geschlossenes System dar. Eine Vernetzung von Anwendern erfolgt dabei innerhalb eines Arbeitsprozesses. D. h. ein einzelner Vorgang kann innerhalb eines Workflow Management Systems von jedem Anwender der Zugang zu diesem System besitzt ausgelöst oder auch bearbeitet werden.   Ein gutes Anwendungsbeispiel hierzu ist die unter  Anwendungsbeispiele beschriebene ToDo-Liste . Ein neuer offener Punkt kann von jedem Teammitglied erstellt werden. Alle offenen Punkte können von allen Teammitgliedern eingesehen werden. Die Teammitgleider sind also über ein einzelnes System miteinander vernetzt.

Vorteile: Alle Anwender sind innerhalb des Systems direkt vernetzt und können einen gemeinsamen Arbeitsprozess abbilden.

Nachteile: Eine Vernetzung mit anderen Arbeitsprozessen (Workflow Management Systemen) ist nicht gegeben. Der Anwender muss dazu zunächst in ein anderes System wechseln und findet dort eine andere Gruppe von Anwendern.

Vernetzung von zwei WFMS

Der Wechsel von verschiedenen Workflow Management Systemen kann innerhalb eines Unternehmens noch relativ gut abgebildet werden. So können über so genannte  Portallösungen Vorgänge aus unterschiedlichsten Workflow Management Systemen in einer einheitlichen Oberfläche zusammengestellt werden. Der Anwender wechselt nun zwar immer noch zwischen den einzelnen Systemen. Der Austausch von Informationen über Prozessgrenzen kann aber durch solche Systeme vereinfacht werden.

Werden Geschäftsprozesse über Unternehmensgrenzen hinweg abgebildet , ist eine weitergehende Form von Vernetzung möglich. Zum einen arbeiten die Anwender des jeweiligen Unternehmens zunächst einmal in eigenen Workflow Management Systemen und zum anderen sollen potentiell nicht alle Informationen und Prozessdaten ausgetauscht werden. In diesem Fall erfolgt eine direkte Kopplung von zwei unterschiedlichen Workflow Management Systemen. D.h. zwei Workflow Management Systeme werden über einen gemeinsam definierten Geschäftsprozess direkt miteinander verbunden. Dadurch ist es möglich eine Prozessinstanz   teilweise oder auch vollständig zwischen zwei Systemen auszutauschen. Die beiden Workflow Management Systeme sind dazu direkt miteinander verbunden und der Austausch der Informationen ist über das Geschäftsprozessmodell definiert.

Vorteile: Der Vorteil dieser direkten Vernetzung liegt darin, dass die Anwender selbst keinen Wechsel in ein anderes System vollziehen. Das Workflow Management System selbst vernetzt die einzelnen Prozessinstanzen und stellt diese dem Anwender in seinem System bereit.

Nachteil: Ein Nachteil dieser Form der Vernetzung liegt in der engen Kopplung der Geschäftsprozess Management Systeme. Die Workflowmodelle müssen sehr genau aufeinander abgestimmt werden.

Mehrfache Vernetzung von WFMS

Neben der direkten Vernetzung von zwei Workflow Management Systemen und den dahinterliegenden Geschäftsprozessmodellen ist auch eine weitergehende Vernetzung von WFMS möglich. In diesem Fall werden die einzelnen Workflow Management Systeme zwar weniger eng miteinander verbunden, es können aber Prozessinstanzen flexibler ausgetauscht werden. Dazu werden die Informationen einer einzelnen Prozessinstanz in einer Warteschleife (Message Queue) abgelegt. Vernetzte Workflow Management Systeme haben nun die Möglichkeit auf diese Daten zuzugreifen und auch selbst entsprechende Prozessinformationen bereitzustellen.

Vorteile: Die Vernetzung   von verschiedensten Systemen ist möglich ohne die Geschäftsprozessmodelle zu sehr aneinander anzupassen.

Nachteile: Es liegt hier eine technisch sehr anspruchsvolle Architektur zugrunde. Es sollten daher ausschließlich standardisierte Verfahren wie der JMS Standard eingesetzt werden.

 

Java Enterprise Architektur

Die Java Enterprise Edition, abgekürzt Java EE, ist die Spezifikation einer   Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen. Die Java Enterprise Edition löst die J2EE Spezifikation als neue Version 5 ab. Hauptziel dieser Spezifikation war es, die bereits in der J2EE Spezifikation definierten Softwarekomponenten und Dienste zu vereinfachen und damit die Einsatzgebiete der Technologien zu erweitern und einfacher nutzbar zu machen.

Java EE Server Umgebungen stellen eine transaktionssichere, skalierbare und hochverfügbare Server Plattform bereit, die für den Einsatz in geschäftskritischen Anwendungen geeignet ist.  Workflow Management Systeme, die auf Basis der Java EE Spezifikation implementiert sind, erfüllen dadurch die Anforderungen, die an ein solches System gestellt werden, sehr gut.

Je nach Implementierung eines WFMS kann dieses die von einem Java EE Server bereitgestellten Dienste unterschiedlich stark nutzen. Die wichtigsten Dienste, die aus Sicht eines WFMS durch einen Java EE Server bereitgestellt werden, sind:

  • Sicherheit (Security) ? Der Zugriff auf Geschäftsprozesse kann durch den JEE Server überwacht und zentral administriert werden
  • Transaktionsmanagement ? Geschäftsprozesse können transaktionssicher ausgeführt werden. Die Transaktionssteuerung des WFMS kann durch den JEE Server übernommen werden.
  • Datenbankmanagement ? Anbindung des WFMS an beliebige Datenbanksysteme
  • Life Cycle Management des WFMS durch den JEE Server bzw. entsprechende Tools

Nutzt eine WFMS diese Dienste, ergeben sich folgende Vorteile:

  • Das WFMS kann durch den Einsatz von Java plattformunabhängig auf allen JEE Appliaktionsservern genutzt werden
  • Eine zusätzliche Konfiguration der Sicherheit innerhalb des WFMS ist nicht erforderlich bzw. es können bestehende Sicherheitsmechanismen genutzt werden
  • Das Transaktionsmanagement kann unabhängig von der WFMS Implementierung an die Bedürfnisse des Geschäftsprozesses angepasst werden
  • Andere JEE Applikationen können die Funktionen des WFMS direkt nutzen (EJB Spezifikation)
  • Workflowinformationen können zusammen mit den Nutzdaten einer Applikation im selben Datenbank Management System verwaltet werden.
  • Beim Einsatz von JMX Komponenten kann das Management der WFMS Komponente mit denselben Tools erfolgen, die auch für andere Komponenten im JEE Server eingesetzt werden.

EJB und Web Service Spezifikation

Die wesentlichsten Änderungen bzw. Vereinfachungen in der JEE Spezifikation betreffen die Enterprise Java Beans (EJB) und die Aufnahme der Web Service Spezifikation.  Aus Sicht des Workflow Managements betreffen diese Änderungen zum einen die Persistenz Mechanismen eines WFMS und zum anderen deren Schnittstellen nach außen.

Workflow Management Systeme, die einer Java EE Spezifikation genügen bzw. deren Hauptmerkmale implementieren, sollten zum einen über eine Persistenz Implementierung auf Basis der EJB 3.0 Spezifikation verfügen und zum anderen die einzelnen Workflow Funktionen bzw. Dienste des Workflow Management Systems über Web Service Schnittstellen bereitstellen.

Da in der Java EE Spezifikation die EJB- mit Web Service Spezifikation stark zusammengefasst ist (jede stateless Session Bean kann automatisch als Web Service deployed werden) sollte ein WFMS unter Java EE alle Business Funktionen sowohl als EJB wie auch als Web Service bereitstellen. Dadurch kann dann das WFMS sowohl als zentrales Workflowsystem als auch als embedded Workflowsystem genutzt werden.

Wird das Workflow System als embedded Workflow genutzt, wird über die EJB Spezifikation auf die WFMS Funktionalität zugegriffen. Bei Einsatz des Workflow Systems als zentrales Workflowsystem, kann über die Web Service Schnittstelle zugegriffen werden.

Zwar ist eine entsprechende Implementierung auch unter Java EE möglich, jedoch müssen hier für die Web Service Implementierung eigene Module bereitgestellt werden, wodurch nicht garantiert ist, dass die im Remote Interface definierte API auch über einen Web Service aufrufbar ist. In einer Java EE Implementierung kann davon ausgegangen werden, dass beide Zugriffsarten (EJB oder Web Service) durch dieselbe Business Komponente abgebildet sind.