9. Workflow Management
Workflow-Management Workflow bzw. Geschäftsprozeß: Verwaltung und teilweise Automatisierung von Arbeitsabläufen in (verteilten) Rechnersystemen Charakteristika: - mehrere beteiligte Personen bzw. Server - mehrere Teilaufgaben - vordefinierte Ablaufstrukturen - Koordination und Fehlerbehandlung - Integrierte Datenverwaltung und -transfer Verwandter Ansatz: Business Process Reengineering (BPR): Globale Umstrukturierung von Unternehmensabläufen
Beispiel für Workflows Anwendungsnahe Kommunikation Prüfserver Formulareditoren Spezialprüfung Kundendatenbank Mail- Server Verzeichnisdienst Sicherheitsdienst
Wesentliche Funktionalitätskriterien - Definition und Wiederverwendung von Workflow-Typen - Integration von Anwendungsprogrammen (z.b. Office-Paket über MS OLE) - ODER-verknüpfte Ausführungspfade, Parallelität, Synchronisation - Zeitüberwachung - Modellierung der Aufbauorganisation, Zuordnung von Rollen - Protokollierung der Ausführungsschritte - Integration von Transaktionskonzepten - Verteilte Realisierung (Client/Server-basiert) - Scriptsprache - Grafische Ablaufspezifikation, grafische Animation - Ausnahmebehandlung (z.b. Fehlermeldung, Wiederholung etc.)
Rechentechnische Unterstützung von Geschäftsprozessen: Technische Implikationen Modellierung von Organisationen Modellierung von Geschäftsprozessen Einordnung in Informationssysteme, d.h. i.allg. propietäre Systeme (Problem: Legacy-Applikationen bzw. Legacy- Daten) Unterstützung der Verarbeitung von Geschäftsprozessen (Zuweisungsoptimierung, Terminkontrolle, Stellvertreterfunktionalität, Monitoring,..)
Rechentechnische Unterstützung von Geschäftsprozessen Business Process Design Business Process Optimization Business Process Reengineering WfMS Groupware Organisationsmodell / Organisationsgestaltung
Spezifikation von Workflows Beschreibung der Tasks (Einzelaufgaben), aus denen der Workflow zusammengesetzt ist Beschreibung der Ressourcen, die diese Tasks ausführen (auf unterschiedlichem Niveau: bestimmter Nutzer, Rolle, Planstelle) Beschreibung der Beziehungen zwischen den Einzelaufgaben (Reihenfolge, Bedingungen, Parallelität) benötigte Qualitätsmerkmale der Auftragsvergabe und Weiterleitung benötigte Qualitätsmerkmale der Auftragsabarbeitung (Termine, Sicherheit,..)
Spezifikation von Tasks Ein- und Ausgangsparameter Vor- und Nachbedingungen Semantik der Aufgabe(n) geforderte Eigenschaften der Ressourcen Zeitschranke(n) Kommunikationseigenschaften
Modellierung von Workflows dynamisches Verhalten des Systems modellieren Netzmodelle: erweiterte Petrinetze (z.b. Prädikat/Transitionennetz) ICN (Information Control Nets) Tabellen (z.b. State and Activity Charts) Prozeßmodelle: spezielle Modelle: z.b. CCS-Kalkül (Calculus of Communication Systems) Ablaufgraphen: Aktionen: Knoten, Abarbeitungsreihenfolge: Kanten
Erweiterte Petrinetze: Beispiel Auftrag prüfen bedingt parallel Dummy Spezialprüfung Formular editieren Datenbank Zusätzlich: - Attributierte Marken (realisiert als Software-Objekte) - Bedingte Transitionen - Dynamische Abbildung: Transition => Server - Verteilte Resynchronisation Versand der Dokumente
Beispiele für Workflows (Lebensmittelüberwachung) M 1 Nachkontrolle Fahrtroute zusammenstellen Objektnummer 1 Objekte eingeben Kontrolleur Objektnummer, Stammdaten Kontrolleur 2 Objekt eingegeben Test, ob Objekt in Stammdaten günstigste Fahrtroute wählen 3 Stammdaten (Objektkoordinaten) Kontrolleur Fahrtroute zusammengestellt 4 And Or Objektnummer, Container 5 Objekte in Container Wartezustand ausstehender Aufträge Kontrolleur
Workflow-Notation mit Ereignis Prozeßketten (EPK) (ARIS-Toolset) (1) Objektnummern der zu kontrollierenden Betriebe eingeben (Workflow-Objekte werden instantiiert) (2) Test, ob Objekte in Stammdaten enthalten sind, ggf. aufnehmen (3) Parallel zu (1) und (2) wird eine optimierte Fahrtroute vom System vorgeschlagen (4) Nach Zusammenstellung der Fahrtroute werden die Workflow- Objekte als in Bearbeitung gekennzeichnet und gepuffert (5) Weiterverarbeitung nach Wiederanmeldung des Bearbeiters am System
Beispiele für Workflows: Gerichteter Graph Info Administrator Grundmittelverwaltung Anforderung: Erwerb PC Finanzen prüfen Geldmittel reservieren Spezifikation Angebote einholen Entscheidung Bestellung Kontrolle Rückfrage Fachbereich
Beispiel eines komplexen Workflows (4) Ground pollution analysis Analysis of existing database (3) (1) - Find appropriate measurement or initiate measurement task (2) - Select evaluation server (3) - contact own info bases (4) - Subworkflow: Different trading tasks Environmental analysis inquiry Analysis of suspicious facts Air pollution analysis Measure -ments (1) Detailed evaluation (2) Integration of results Final assessment Mailing & saving of results Water pollution analysis Simulation Detailed evaluation
Komplexes Beispiel: Details (4) Analysis of existing database (3) (2) (1)- Parallelität Environmental analysis inquiry Analysis of suspicious facts Air pollution analysis (1) Simulation Measurements Detailed evaluation Detailed evaluation Integration of results (2)- Synchronisation (3)- Entscheidung abh. von Zusatzkosten (4)- bedingte Ausführung, ggf. parallele Arbeit
Verarbeitung von Workflows (Runtime Support) Workflow Management System (WfMS) zentral durch eine Datenbank (DBS) gesteuert (Transaktionssicherung, Datenhaltung im DBS, Aktivitäten als Daten spezieller Struktur) 1 durch dezentrale Steuerungslogik (Programme / Prozesse, verteilte Programme, verteilte Objekte) 2 Granularität der Komponenten: - Programm - Objekt (feingranular) - Objekt (abstrakte Geschäftsobjekte)
Runtime Support mit zentralem DBS 1 Spezifikation von Ereignissen, Bedingungen Anfragen Änderungen Anwendungsprogramme Daten DBS Daten Aktion(en) Datenbankschema
Runtime Support durch ein verteiltes System (hier Steuersystem CodAlf auf Basis DC++) 2 Ablaufbeschreibung Ablaufgenerator Ablaufplan Eingangsdaten Ablaufinitiator Directory Service (CDS) Ablaufobjekt Laufzeitsystem Managementkomponente Anwendungsserver Trader Ablaufobjekt (modifiziert) zum nächsten Knoten DC++: Workflowobjekte migrieren zu Anwendungsservern, die die Tasks (Einzelaufgaben) realisieren
Organisationsmodellierung - wesentlich für WfMS Organisation - Prozeßorganisation hängt von der Aufbauorganisation ab Integration Rollen Differenzierung Programmierung des Rollenverhaltens Regeln (Rollenverhalten) Grobstruktur einer allgemeinen Aufbauorganisation
Standardisierung WfMC: Workflow Management Coalition Ziel: - Spezifikation zu Workflowmanagement-Technologie - Etablieren einheitlicher Standards, Marktakzeptanz Mitglieder: - Hersteller von Workflow-Produkten und Anwendungssoftware - Anwender, Beratungsfirmen - Forschungseinrichtungen Kooperation mit anderen Gremien (OMG, X/Open etc.)
Architekturmodell der WfMC Process Definition Tools Monitoring & Administration Workflow Engine Interoperability Client Applications Invoked Applications Process Definition: Workflow-Spezifikation Client Applications: Zugriff durch Nutzer Invoked Applications: Anwendungsprogramme für Workflow-Schritte Interoperability: Kopplung unterschiedlicher Workflow-Systeme Monitoring & Administration: Systemmanagement
Systembeispiel: Pavone grafischer Workflow-Modelierungseditor für Ablauf- und Aufbauorganisation PAVONE GroupFlow Modeler liest und schreibt Workflows direkt in ein Repository und Laufzeitsystem in LotusNotes-Struktur Simulator zur Überprüfung der Workflows zur Aufdeckung von Engpässen und Schwachstellen Erstellung von Prognosen zur Arbeitszeitauslastung
Pavone: Überblick über Werkzeug Modeller Beispiel: Verbindung zweier Aufgaben
Pavone: Modeller Intuitive Modellierung für das Workflowmanagement Umfangreiche Aufgabenzuordnung Qualitätssicherung der Vorgangsbearbeitung schnelle Erstellung von Workflows durch Verwendung von Baustein-Bibliotheken Workflow steht nach Modellierung unmittelbar als ablauffähige Struktur zur Verfügung
Pavone: Kommunikation mit Lotus Notes Pavone setzt nahtlos in die in LotusNotes enthaltene Workflowfunktionalität auf Daten über Steuerung, Strukturen, Nachrichtenaustausch sowie Anwendungsdaten werden ausschließlich in LotusNotes-Datenbanken gehalten Dokumentenweitergabe erfolgt über LotusNotes E-mailsystem
WS-BPEL Business Process Execution Language für WebServices XML-basierte, plattformunabhängige Sprache zur Beschreibung von Geschäftsprozessen Vorläufer IBM WSFL (Web Services Flow Language) MS XLANG Standardisierung durch OASIS, W3C, BPMI.org OASIS-Standard WS-BPEL 2.0 Basiert auf WSDL-Dienstmodell Interne Realisierung durch Webservices
WS-BPEL Vorteile Steuerung und Überwachung von Geschäftsprozessen Flexibilität Implementierungsunabhängigkeit Grafische, einfache und durchgängige Modellierung Oberflächengestaltung (Design) Implementierung Einsparung von Programmierarbeit Nutzung fertiger, herstellerunabhängiger Bausteine (Business Content) Breite Unterstützung (IBM, MS, SAP, Oracle)
WS-BPEL Datenmodell nach XML Schema Beschreibung der Services durch WSDL Datentypen Port- und Messagetypen Container für Metadaten Spezielle Typen, z.b Kunde, Hersteller usw. Nutzung der Daten in unterschiedlichen Prozessen Zugriff über Links Workflow-Unterstützung zusätzlich zu WSDL Transaktionsmanagement Ausnahmebehandlung Zeitvorgaben
WS-BPEL Beispiel-Implementierungen SAP SAP XI Exchange Infrastructure MDM Master Data Management IBM Websphere Oracle BPEL Process Manager IDS Scheer Aris-Suite Open Source ActiveBPEL.org
WS-BPEL Tools beinhalten grafische Editoren für Modellierung von Prozessen allgemein verständliche Diagramme Sende-/Empfangsvorgänge Parallelisierung, Zyklen Nachrichtenumwandlung Wertzuweisungen in Informationscontainern Zusammenfassung von Einzelschritten in Blöcke Übersetzer Diagramme in BPEL Integrationsengine verbindet BPEL mit Unternehmensprotokollen, -schnittstellen, -bausteinen (Repository) Debugging Prozessmanagement und monitoring
Kommunikation WS-BPEL - Sprachelemente <receive name= receive1 partnerlink= customer porttype= apns:loanapprovalpt operation= approve variable= request /> <reply name= reply partnerlink= customer porttype= apns:loanapprovalpt operation= approve variable= approvalinfo /> <partnerlink> Definition von Kommunikationspartnern <porttype> Def. von Kommunikationsendpunkten <operation> Anweisung über Kanal
WS-BPEL - Sprachelemente Nutzung anderer WebServices <invoke name= invokeapprover partnerlink= approver porttype= apns:loanapprovalpt operation= approve inputvariable= request outputvariable= approvalinfo />
WS-BPEL - Sprachelemente Variablenzuordnung <assign> <copy> <from expression= approved /> <to part= accept variable= approvalinfo /> </copy> </assign>
WS-BPEL ActiveBPEL Darlehensantrag Grafischer Entwurf Workflow Zitat nach http://www.activebpel.org/