DE10125956A1 - Archivierung in Arbeitsablaufverwaltungssystemen - Google Patents

Archivierung in Arbeitsablaufverwaltungssystemen

Info

Publication number
DE10125956A1
DE10125956A1 DE10125956A DE10125956A DE10125956A1 DE 10125956 A1 DE10125956 A1 DE 10125956A1 DE 10125956 A DE10125956 A DE 10125956A DE 10125956 A DE10125956 A DE 10125956A DE 10125956 A1 DE10125956 A1 DE 10125956A1
Authority
DE
Germany
Prior art keywords
database
wfms
archive
objects
instances
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10125956A
Other languages
English (en)
Inventor
Frank Leymann
Dieter Roller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10125956A1 publication Critical patent/DE10125956A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung bezieht sich auf ein Verfahren zum Optimieren eines Arbeitsablaufverwaltungssystems (Workflow Management System, WFMS), wobei dieses Verfahren von diesem WFMS auf mindestens einem Computersystem ausgeführt werden kann und wobei dieses WFMS auf eine Datenbank zugreift, die aus mindestens einem Ablaufmodell und Instantiierungen dieses Ablaufmodells (Ablaufinstanzen) besteht. Das Verfahren schlägt vor, Objekte der Datenbank in eine Archivdatenbank zu übertragen (Archivfunktion). Diese Übertragung wird vorzugsweise in dem Fall ausgeführt, dass ein zuvor festgelegtes Ereignis eintritt, oder wenn diese Objekte gerade nicht vom WFMS benutzt werden. Vorzugsweise sind die in die Archivdatenbank zu übertragenden Objekte Ablaufinstanzen. Diese Ablaufinstanzen werden vorzugsweise aus allen Instanzen eines bestimmten Ablaufmodells in Abhängigkeit von den Werten bestimmter Eigenschaften dieses Ablaufmodells ausgewählt. Die Objekte der Datenbank, die in die Archivdatenbank übertragen werden, können auch Ablaufmodelle sein. Zusätzlich können auch die Daten, die von den Anwendungsprogrammen verwaltet werden, welche die unterschiedlichen Vorgänge des Ablaufmodells implementieren, übertragen werden, indem man Benutzerprogramme die Daten aus dem gewöhnlichen Anwendungsprogrammspeicher in einen Anwendungsprogramm-Archivspeicher versetzen lässt. Darüber hinaus schlägt das Verfahren vor, die WFMS-Objekte in die WFMS-Datenbank zurück zu übertragen und ebenso die Daten aus dem ...

Description

Hintergrund der Erfindung Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf Arbeitsablaufverwaltungssysteme. Genauer bezieht sich die vorliegende Erfindung auf ein Verfahren zur Optimierung von Arbeitsablaufverwaltungssystemen.
Beschreibung und Nachteile des Standes der Technik
Ein neues Gebiet der Technik von wachsender Bedeutung ist der Bereich der Arbeitsablaufverwaltungssysteme (Workflow Management Systems, WFMS). WFMS unterstützen das Modellieren und Ausführen von Geschäftsabläufen. Innerhalb einer WFMS-Umgebung ausgeführte Geschäftsabläufe steuern, welcher Arbeitsteil aus einem Netz von Arbeitsteilen von wem durchgeführt wird und welche Ressourcen für diese Arbeit genutzt werden. Die einzelnen Arbeitsteile können auf mehrere verschiedene Computersysteme verteilt sein, die durch ein Netz irgendeiner Art miteinander verbunden sind. Eine gründliche Darstellung der WFMS-Technik findet sich in Frank Leymann, Dieter Roller, Production Workflow: Concepts and Techniques, Prentice-Hall, Upper Saddle River, New Jersey, 1999.
Das Produkt "IBM MQSeries Workflow" stellt solch ein typisches, modernes, hochentwickeltes und mächtiges Arbeitsablaufverwaltungssystem dar. Es unterstützt das Modellieren von Geschäftsabläufen in Form eines Vorgangsnetzes. Dieses Vorgangsnetz, das Ablaufmodell, wird in Form eines gerichteten, zyklenfreien, gewichteten, gefärbten Graphen erstellt. Die Knoten des Graphen stellen die Vorgänge dar, die durchgeführt werden. Die Kanten des Graphen, die Steuerungspfeile, beschreiben die mögliche Ausführungsreihenfolge der Vorgänge. Das Festlegen des Ablaufgraphen geschieht über die IBM MQSeries Flow Definition Language (FDL) oder über den eingebauten grafischen Editor. Die Laufzeitkomponente der Arbeitsablaufverwaltung interpretiert den Ablaufgraphen und vergibt die Ausführung von Vorgängen an die richtige Person am richtigen Platz, z. B. indem einer der jeweiligen Person zugeordneten Arbeitsliste Aufgaben zugewiesen werden, wobei diese Arbeitsliste in Form digitaler Daten innerhalb des Arbeitsablauf- oder Ablaufverwaltungs-Computersystems abgelegt ist.
Während das System betrieben wird, greift das WFMS auf eine Datenbank zu, wo die Ablaufmodelle und deren Instantiierungen, die Ablaufinstanzen, abgelegt sind. Der Umfang der WFMS-Datenbank kann sehr groß werden. Die Datenbank des WFMS einer typischen E- Commerce-Firma beispielsweise kann leicht einen Umfang von 100 GB erreichen.
Der Nachteil einer so großen Datenbank ist, dass die Leistungsfähigkeit beim Zugreifen auf die Datenbank geringer wird, je größer die Datenbank wird.
Aufgabe der Erfindung
Die Erfindung beruht auf der Aufgabe, die Leistungsfähigkeit eines WFMS zu optimieren.
Überblick über die Erfindung und ihre Vorteile
Die Ziele der Erfindung werden durch die unabhängigen Ansprüche erreicht. Weitere vorteilhafte Anordnungen und Ausführungsarten der Erfindung werden in den jeweiligen Unteransprüchen dargestellt.
Die Erfindung bezieht sich auf ein Verfahren zum Optimieren eines Arbeitsablaufverwaltungssystems (WFMS), wobei dieses Verfahren von diesem WFMS auf mindestens einem Computersystem ausgeführt werden kann und wobei dieses WFMS auf eine Datenbank zugreift, die aus mindestens einem Ablaufmodell und Instantiierungen dieses Ablaufmodells (Ablaufinstanzen) besteht. Das Verfahren schlägt vor, Objekte der Datenbank in eine Archivdatenbank zu übertragen (Archivfunktion). Diese Übertragung wird vorzugsweise in dem Fall ausgeführt, dass ein zuvor festgelegtes Ereignis eintritt, oder wenn diese Objekte gerade nicht vom WFMS benutzt werden.
Vorzugsweise sind die in die Archivdatenbank zu übertragenden Objekte Ablaufinstanzen. Diese Ablaufinstanzen werden vorzugsweise aus allen Instanzen eines bestimmten Ablaufmodells in Abhängigkeit von den Werten bestimmter Eigenschaften dieses Ablaufmodells ausgewählt. Die Objekte der Datenbank, die in die Archivdatenbank übertragen werden, können auch Ablaufmodelle sein. Zusätzlich können auch die Daten, die von den Anwendungsprogrammen verwaltet werden, welche die unterschiedlichen Vorgänge des Ablaufmodells implementieren, übertragen werden, indem man Benutzerprogramme die Daten aus dem gewöhnlichen Anwendungsprogrammspeicher in einen Anwendungsprogramm-Archivspeicher versetzen lässt. Darüber hinaus schlägt das Verfahren vor, die WFMS-Objekte in die WFMS-Datenbank zurück zu übertragen und ebenso die Daten aus dem Anwendungsprogramm-Archivspeicher in den Anwendungsprogrammspeicher zurück zu schreiben, sobald die archivierten WFMS-Objekte wieder benötigt werden (Wiederherstellungsfunktion).
Mit der vorliegenden Erfindung kann der Umfang der WFMS-Datenbank ebenso wie der Umfang der von den Vorgangsimplementationen verwalteten Anwendungsprogrammspeicher minimiert werden. Der wichtigste Vorteil der vorliegenden Erfindung besteht darin, dass die Leistungsfähigkeit beim Zugreifen auf die Datenbank umso höher wird, je kleiner das Repository ist.
Durch das Implementieren der vorliegenden Erfindung wird die Leistungsfähigkeit des WFMS erhöht.
Kurzbeschreibung der Zeichnungen
Fig. 1 zeigt eine Definition eines WFMS-Systems mit eingeschalteter Archivverarbeitung gemäß einer Ausführungsart der vorliegenden Erfindung,
Fig. 2 zeigt eine Definition eines Ablaufmodells mit eingeschalteter Archivverarbeitung gemäß einer Ausführungsart der vorliegenden Erfindung,
Fig. 3 zeigt Befehle zum Archivieren und Wiederherstellen von Ablaufinstanzen gemäß einer Ausführungsart der vorliegenden Erfindung,
Fig. 4 zeigt eine Definition des automatischen Archivierens eines Ablaufmodells gemäß einer Ausführungsart der vorliegenden Erfindung,
Fig. 5 zeigt Befehle zum Archivieren und Wiederherstellen auf Modellebene gemäß einer Ausführungsart der vorliegenden Erfindung,
Fig. 6 zeigt eine Definition eines Programms zum Archivieren/Wiederherstellen zugehöriger Daten und eine Definition eines Ablaufmodells mit Archivieren/Wiederherstellen zugehöriger Daten gemäß einer Ausführungsart der vorliegenden Erfindung,
Fig. 7 zeigt eine Definition eines Ablaufs mit detailliertem Archivieren/Wiederherstellen zugehöriger Daten gemäß einer weiteren Ausführungsart der vorliegenden Erfindung.
Beschreibung der bevorzugten Ausführungsart
Die vorliegende Erfindung wird veranschaulicht auf der Grundlage von IBMs Arbeitsablaufverwaltungssystem MQSeries Workflow.
Selbstverständlich könnte stattdessen jedes andere WFMS benutzt werden. Darüber hinaus gelten die vorliegenden Ausführungen auch für jede beliebige andere Art von System, das WFMS-Funktionalität nicht in Form eines eigenständigen WFMS bietet sondern innerhalb einer anderen Art von System.
Einleitung
Das Folgende ist ein kurzer Abriss der grundlegenden Konzepte eines Arbeitsablaufverwaltungssystems auf der Grundlage von IBMs WFMS MQSeries Workflow, soweit es für die vorliegende Erfindung von Bedeutung ist:
Aus unternehmerischer Sicht ist die Verwaltung von Geschäftsabläufen von zunehmender Bedeutung: Geschäftsabläufe oder kurz Abläufe regeln, welcher Arbeitsteil von wem durchgeführt wird und welche Ressourcen für diese Arbeit genutzt werden, d. h. ein Geschäftsablauf beschreibt, wie ein Unternehmen seine geschäftlichen Ziele erreichen wird. Ein WENS kann sowohl das Modellieren von Geschäftsabläufen als auch deren Ausführung unterstützen. Das Modellieren eines Geschäftsablaufs als syntaktische Einheit auf eine direkt von einem Softwaresystem unterstützte Weise ist äußerst wünschenswert. Darüber hinaus kann das Softwaresystem auch als Interpreter arbeiten, der im Wesentlichen ein solches Modell als Eingangsdaten erhält: Das Modell, Ablaufmodell oder Arbeitsablaufmodell genannt, kann dann instantiiert und die individuelle Abfolge von Arbeitsschritten kann in Abhängigkeit vom Kontext der Instantiierung des Modells bestimmt werden. Solch ein Modell eines Geschäftsablaufs lässt sich als Template für eine Klasse von ähnlichen Abläufen verstehen, die innerhalb eines Unternehmens durchgeführt werden; es ist ein Schema, das alle möglichen Ausführungsvarianten einer bestimmten Art von Geschäftsabläufen beschreibt. Eine Instanz eines solchen Modells und seine Interpretation stellt einen individuellen Ablauf dar, d. h. eine konkrete, kontextabhängige Ausführung einer Variante, wie sie durch das Modell vorgeschrieben ist. Ein WFMS erleichtert die Verwaltung von Geschäftsabläufen. Es stellt ein Mittel zur Beschreibung von Modellen von Geschäftsabläufen dar (Entwurfszeit), und es steuert Geschäftsabläufe aufgrund eines zugehörigen Modells (Laufzeit). Das Metamodell von IBMs WFMS MQSeries Workflow, d. h. die zur Beschreibung von Geschäftsablaufmodellen bereitgestellten Syntaxelemente sowie die Bedeutung und Interpretation dieser Syntaxelemente, wird als Nächstes dargestellt.
Ein Ablaufmodell ist eine vollständige Repräsentation eines Ablaufs, bestehend aus einem Ablaufdiagramm und den Einstellungen, die die Logik hinter den Komponenten des Diagramms festlegen. Wichtige Komponenten eines MQSeries Workflow- Ablaufmodells sind:
  • - Abläufe (Processes)
  • - Vorgänge (Activities)
  • - Blöcke (Blocks)
  • - Steuerungsflüsse (Control flows)
  • - Pfeile (Connectors)
  • - Datencontainer (Data containers)
  • - Datenstrukturen (Data structures)
  • - Programme (Programs)
  • - Personal (Staff)
Nicht alle dieser Elemente werden im Weiteren beschrieben. Vorgänge sind die Grundelemente des Metamodells. Ein Vorgang repräsentiert eine Geschäftshandlung, die aus einer bestimmten Perspektive eine eigenständige semantische Größe ist.
Ein MQSeries Workflow-Ablaufmodell besteht aus den folgenden Arten von Vorgängen:
Programm-Vorgang (program activity): Dem Vorgang ist ein Programm zugeordnet, das ausgeführt werden soll. Das Programm wird aufgerufen, sobald der Vorgang begonnen wird. In einem vollautomatisierten Arbeitsablauf führt das Programm den Vorgang ohne menschlichen Eingriff aus. Andernfalls muss der Benutzer den Vorgang beginnen, indem er ihn zur Laufzeit über eine Arbeitsliste anwählt.
Ablauf-Vorgang (process activity): Dem Vorgang ist ein (Unter-)Ablauf zugeordnet, der durchgeführt werden soll. Der Ablauf wird aufgerufen, sobald der Vorgang begonnen wird. Ein Ablauf-Vorgang stellt eine Möglichkeit dar, eine aus Vorgängen, die verschiedenen Abläufen gemein sind, bestehende Menge wiederzuverwenden.
Der Steuerungsfluss, d. h. der Fluss der Steuerung durch einen laufenden Ablauf, bestimmt die Abfolge, in der Vorgänge ausgeführt werden. Der MQSeries Workflow-Arbeitsablaufverwalter ermittelt einen Weg durch den Ablauf.
Im Allgemeinen werden durch die Arbeit, die durch einen Vorgang repräsentiert ist, Ergebnisse erzeugt; diese werden in einen Ausgabecontainer (output container) gelegt, der jedem Vorgang zugeordnet ist. Weil ein Vorgang im Allgemeinen den Zugriff auf Ausgabecontainer anderer Vorgänge erfordert, ist jedem Vorgang zusätzlich auch ein Eingabecontainer (input container) zugeordnet.
Pfeile verknüpfen Vorgänge in einem Ablaufmodell. Man definiert die Abfolge von Vorgängen und die Datenübergabe zwischen Vorgängen, indem man Pfeile benutzt. Weil Vorgänge nicht willkürlich ausgeführt werden dürfen, werden sie über Steuerungspfeile verbunden. Ein Steuerungspfeil lässt sich als gerichtete Kante zwischen zwei Vorgängen auffassen; der Vorgang am Endpunkt des Pfeils kann nicht beginnen, bevor der Vorgang am Ausgangspunkt der Pfeils (erfolgreich) beendet ist. Steuerungspfeile modellieren so den möglichen Steuerungsfluss innerhalb eines Geschäftsablaufmodells. Datenpfeile legen den Datenfluss in einem Arbeitsablaufmodell fest. Ein Datenpfeil geht von einem Vorgang oder von einem Block aus und hat einen Vorgang oder einen Block als Ziel. Man kann festlegen, dass Ausgangsdaten zu einem oder zu mehreren Zielen fließen sollen. Ein Ziel kann über mehr als einen einlaufenden Datenpfeil verfügen.
Zur Definition eines Ablaufs gehören das Modellieren von Vorgängen, Steuerungspfeile zwischen den Vorgängen, Eingabe-/Ausgabecontainer und Datenpfeile. Ein Ablauf ist in Form eines gerichteten, kreisfreien Graphen repräsentiert, wobei Vorgänge die Knoten und die Steuerungs-/Datenpfeile die Kanten des Graphen bilden. Der Graph wird über einen eingebauten grafischen Editor bearbeitet. Die Datencontainer werden näher bestimmt als benannte Datenstrukturen. Diese Datenstrukturen werden ihrerseits über die Funktion "DataStructureDefinition" näher bestimmt. Programm-Vorgänge werden durch Programme implementiert. Die Programme werden über die Funktion "Program Definition" registriert. Blöcke enthalten die selben Konstrukte wie Abläufe, also Vorgänge, Steuerungspfeile usw. Ablauf-Vorgänge werden als Abläufe implementiert. Diese Teilabläufe werden getrennt als reguläre, benannte Abläufe mit allen üblichen Eigenschaften definiert. Ablauf-Vorgänge bieten eine große Flexibilität bei der Definition von Abläufen. Sie erlauben nicht nur das Konstruieren eines Ablaufs durch ständiges Verfeinern von Vorgängen in Programm- und Ablauf-Vorgängen (Top-Down), sondern auch das Aufbauen eines Ablaufs aus einer Menge von vorhandenen Abläufen (Bottom-Up).
Alle Programme, die Programm-Vorgänge implementieren, werden über die Funktion "Program Registration" definiert. Für jedes Programm werden der Name des Programms, sein Speicherort und die Zeichenkette für den Programmaufruf registriert. Die Zeichenkette für den Programmaufruf besteht aus dem Namen des Programms und der an das Programm übergebenen Befehlszeichenfolge.
Vorbereiten der Archivierung
Die vorliegende Erfindung benutzt eine Archivdatenbank, um zu archivierende Daten abzulegen. Die Archivdatenbank hat die selbe Struktur wie die gewöhnliche Datenbank. Die Archivdatenbank befindet sich vorzugsweise auf einem anderen Gerät als die gewöhnliche Datenbank. Dies sorgt für eine höhere Leistung beim Zugriff auf beide Datenbanken. Sie wird typischerweise automatisch vom WFMS angelegt, sobald das Archivieren für das WFMS eingeschaltet wird. Andere Optionen verzögern das Anlegen, bis das Archivieren tatsächlich durchgeführt wird.
In einer bevorzugten Ausführungsart der Erfindung wird das Aktivieren der Archiv-/wiederherstellungsfunktion des WFMS vorgenommen, indem eine Definition wie die in Fig. 1 gezeigte benutzt wird. Zu diesem Zweck wird ein neues Schlüsselwort ARCHIVE_SUPPORT 100 der Spezifikation des WFMS-Systems hinzugefügt. Dieses Schlüsselwort 100 wird benutzt, um festzulegen, ob das Archivieren für das WFMS System 1 eingeschaltet ist (ARCHIVE_SUPPORT YES) oder nicht (ARCHIVE_SUPPORT NO). Es ist anzumerken, dass in allen Figuren dieser Beschreibung beispielhaft die Flow Definition Language (FDL) von MQSeries Workflow benutzt wird.
Archivieren und Wiederherstellen von Geschäftsabläufen erfordert zusätzliche Verarbeitungsschritte von Seiten des WFMS. Diese zusätzlichen Verarbeitungsschritte bestehen z. B. darin, in der Datenbank des WFMS Informationen vorzuhalten, für deren Erhalt sonst nicht vorgesorgt würde, oder in der Überprüfung, ob für einen Geschäftsablauf eine archivierte Version vorhanden ist. Aus diesem Grund muss sichergestellt sein, dass Archivieren und Wiederherstellen gültige Operationen für eine bestimmte Ablaufinstanz sind. Fig. 2 zeigt, wie das Archivieren für ein Ablaufmodell, z. B. einen in einer Bank durchgeführten Darlehensablauf, eingeschaltet wird. Vorzugsweise wird dabei das selbe Schlüsselwort 100, wie es in Fig. 1 veranschaulicht ist, benutzt.
Archivieren von Ablaufinstanzen
Wenn ein Ablaufmodell als archivierbar definiert ist, kann eine bestimmte Ablaufinstanz archiviert und wiederhergestellt werden. Für das Archivieren und Wiederherstellen einer Ablaufinstanz werden der Spezifikation des Ablaufmodells neue Befehle hinzugefügt. Fig. 3 zeigt einige der typischen Befehle einer bevorzugten Ausführungsart. Dabei archiviert der Befehl ARCHIVE 300 eine Ablaufinstanz mit einer gegebenen Ablaufinstanz-ID 301, der Befehl RESTORE 302 stellt hingegen eine Ablaufinstanz wieder her.
Archivieren bedeutet das Versetzen der vollständigen Information über eine bestimmte Ablaufinstanz aus der WFMS-Datenbank in die Archivdatenbank. Diese versetzte Information kann auch die Information über das Ablaufmodell enthalten, das zum Ausführen dieser bestimmten Ablaufinstanz benutzt wird. Wiederherstellen bedeutet das Versetzen der vollständigen Information über eine bestimmte Ablaufinstanz aus der Archivdatenbank in die WFMS- Datenbank. Diese versetzte Information kann auch die Information über das Ablaufmodell enthalten, das zum Ausführen dieser bestimmten Ablaufinstanz benutzt wird.
Das Archivieren/Wiederherstellen wird vorzugsweise von einer eigenen, dafür entworfenen Archivierungs- /Wiederherstellungskomponente durchgeführt, die Teil des WFMS ist. Alternativ kann die Archivierungs-/Wiederherstellungskomponente als externe Komponente (z. B. eine "Plug-In"-Komponente) implementiert werden.
Recht oft werden Teile eines Ablaufmodells automatisch, d. h. ohne Benutzereingriff, ausgeführt. Dann kann das Durchführen von Archivieren und Wiederherstellen über Befehle nur eine für gelegentlichen Gebrauch vorgesehene Option sein, weil dieser Ansatz Handlungen vom Endbenutzer oder Administrator erfordert, die z. B. über eine geeignete Programmierschnittstelle vorgenommen werden.
Alternativ kann das Archivieren in einem bestimmten Ablaufmodell als zeitabhängiger Vorgang definiert werden. Fig. 4 zeigt die entsprechende Definition für diesen Ansatz. Zu diesem Zweck wird der Spezifikation des WFMS-Systems das neue Schlüsselwort ARCHIVE 400 hinzugefügt. Das Schlüsselwort ARCHIVE 400 ermöglicht es, festzulegen, wann das automatische Archivieren erfolgen soll. Im beschriebenen Beispiel bestimmt es, dass eine bestimmte Ablaufinstanz des Ablaufmodells ,LoanProcess' archiviert wird, sobald die Ablaufinstanz mehr als vier Tage lang ruht. Die Spezifikation des Schlüsselworts ARCHIVE ist nicht auf die Möglichkeit zum Festlegen einer bestimmten Zeit beschränkt; es könnte jeder beliebig zusammengesetzte Boolesche Ausdruck ausgewertet werden. In diesem Fall wird das Archivieren durchgeführt, wenn der Boolesche Ausdruck bei Auswertung den Wert "wahr" annimmt.
Während das Archivieren gemäß der obigen Ausführungsart automatisch durchgeführt werden kann, soll das Wiederherstellen gewöhnlich nicht automatisch durchgeführt werden. In den meisten Fällen wird es ausreichen, das Wiederherstellen über einen expliziten Funktionsaufruf durchzuführen, z. B. den Befehl eines Benutzers oder das Eintreten eines festgelegten Ereignisses. Beispielsweise wird das Wiederherstellen durchgeführt, wenn das WFMS das archivierte Material zur Benutzung anfordert, d. h. dieses Material wird in die WFMS-Datenbank zurück übertragen, wenn es wieder benötigt wird.
Kontextbasiertes Archivieren
Während in Fig. 3 das Archivieren/Wiederherstellen im Hinblick auf die Ebene der Ablaufinstanzen beschrieben worden ist, kann das Verfahren des Archivierens/Wiederherstellens ebenfalls auf eine Ansammlung von Ablaufinstanzen, d. h. auf der Ebene des Ablaufmodells, angewendet werden.
In dieser Ausführungsart werden alle Ablaufinstanzen eines bestimmten Ablaufmodells archiviert, die bestimmte Eigenschaften besitzen, z. B. alle Ablaufinstanzen mit einem Darlehen über 10.000 Dollar. Zu diesem Zweck müssen die entsprechenden Instanzen eines Ablaufmodells ausgewählt werden.
Fig. 5 zeigt eine bevorzugte Ausführungsart der entsprechenden Archivierungs- und Wiederherstellungsbefehle. Dabei bezeichnet <Name des Ablaufmodells< 500 das Ablaufmodell. Die Auswahl wird unter Benutzung eines Ausdrucks 501 der Form <Eigenschaft Operator Wert< getroffen, der die Werte angibt, die für Ablaufinstanzen des angegebenen Ablaufmodells gelten sollen.
"Eigenschaft" steht für jede beliebige vom Benutzer im Ablaufmodell definierte wie auch für jede der automatisch vom WMFS verwalteten Eigenschaften. Benutzerdefinierte Eigenschaften sind als Datenfelder im Eingabe- oder Ausgabecontainer des Ablaufmodells oder im Eingabe- und Ausgabecontainer eines Vorgangs definiert. Angenommen, der Ablaufeingabecontainer des Ablaufmodells LOAN_PROCESS enthält ein Datenfeld LOAN_AMOUNT, das die zugehörige Darlehenshöhe enthält, dann würde die Angabe (ProcessInputContainer.LOAN_AMOUNT < 50000) alle Ablaufinstanzen des Ablaufmodells LOAN_PROCESS auswählen, deren Darlehenshöhe 50.000 Dollar übersteigt. Eine typische vom System verwaltete Eigenschaft ist das Datum, an dem die Ablaufinstanz gestartet wurde. Somit würde eine Angabe (START DATE < 4/10/99) alle Ablaufinstanzen auswählen, die vor dem 10. April 1999 gestartet wurden.
Der <Eigenschaft Operator Wert<-Ausdruck 501 kann einen beliebig komplexen Booleschen Ausdruck enthalten. Abhängig vom Wahrheitswert dieses Booleschen Prädikats führt das WFMS das Archivieren/Wiederherstellen der Ablaufinstanzen desjenigen Ablaufmodells durch, das durch <Name des Ablaufmodells< 500 festgelegt ist.
In einer weiteren Ausführungsart der Erfindung werden nicht nur die Ablaufinstanzen, sondern die Ablaufmodelle selbst archiviert/wiederhergestellt. Dies lässt sich insbesondere in dem Fall anwenden, dass alle: Ablaufinstanzen eines bestimmten Ablaufmodells bereits archiviert sind.
Archivieren zugehöriger Daten
Das Archivieren von Ablaufinstanzen, wie es oben beschrieben wurde, mag jedoch nicht ausreichen. Arbeitsablaufbasierte Anwendungsprogramme bestehen aus einem Ablaufmodell und den zugehörigen Vorgangsimplementationen. Diese Vorgangsimplementationen verwalten ebenfalls Daten. Für ein vollständiges Archiv müssen auch die von einer Vorgangsimplementation verwalteten Daten archiviert werden. Wenn z. B. eine Vorgangsimplementation Kundendatensätze verwaltet, sollte auch der für eine bestimmte Ablaufinstanz verwaltete Kundendatensatz archiviert werden. Dabei werden vorzugsweise jene Daten archiviert, die von den Programmen verwaltet werden, welche die Vorgänge desjenigen Ablaufmodells implementieren, aus dem Ablaufinstanzen in die Archivdatenbank übertragen werden.
Die von der Vorgangsimplementation verwalteten Daten werden in einem Anwendungsprogrammspeicher gepflegt, bei dem es sich um einen beliebigen Datenspeicher handeln kann. Weil das WFMS gewöhnlich keine Kenntnisse über die von der Vorgangsimplementation verwalteten Daten, z. B. ihren Speicherort, besitzt, werden speziell ausgelegte Mittel, z. B. Programme, benutzt, um die Daten aus dem gewöhnlichen Anwendungsprogrammspeicher in einen Anwendungsprogramm- Archivspeicher zu übertragen und umgekehrt. Vorzugsweise befindet sich der Anwendungsprogramm-Archivspeicher auf einem anderen Gerät als der Anwendungsprogrammspeicher.
Fig. 6 zeigt eine bevorzugte Ausführungsart der Erfindung, in der zu einem Ablauf gehörende Daten archiviert werden. Dabei bezeichnet das Schlüsselwort USING PROGRAM 600 die Programme 601, 602, die aufgerufen werden, wenn ein Geschäftsablauf archiviert oder wiederhergestellt wird. Über Anwendungsprogrammierschnittstellen werden die aufgerufenen Programme 601, 602 mit den zugehörigen Daten wie etwa Containerinhalten versorgt, so dass die Programme die zugehörigen Handlungen ausführen können.
In der Ausführungsart wird das Archivierungs- /Wiederherstellungsprogrammpaar 601, 602 benutzt, um alle Vorgänge des Ablaufmodells ,LoanProcess' zu archivieren/wiederherzustellen. Das bedeutet, dass diese Programme 601, 602 die vollständige Struktur des Ablaufs kennen müssen, der archiviert/ wiederhergestellt werden soll. Darum sind diese Programme verhältnismäßig komplex.
Ein noch weiter verbesserter Ansatz wird als Nächstes beschrieben. Fig. 7 zeigt solch eine bevorzugte Ausführungsart, in der detailliertes Archivieren zugehöriger Daten durchgeführt wird. Dabei ist jedem Programm 701 (Pgm1, Pgm2, Pgm3) eines Vorgangs 700 (Activity1, Activity2, Activity3) ein Archivierungsprogramm 702 (Pgm1A, Pgm2A, Pgm3A) und ein Wiederherstellungsprogramm 703 (Pgm1R, Pgm2R, Pgm3R) zugeordnet.
Während der gewöhnlichen Ausführung des Darlehensablaufs werden die Vorgänge Activity1, Activity2 und Activity3, d. h. die Programme Pgm1, Pgm2, Pgm3 ausgeführt. Wenn der Ablauf archiviert wird, dann invertiert das WFMS den ausgeführten Graphen und führt diesen neuen Graphen aus, indem die entsprechenden über das Schlüsselwort ARCHIVE festgelegten Programme aufgerufen werden. Wenn z. B. der Ablauf nach dem Ausführen von Activity2 archiviert wird, dann ruft das WFMS die Programme Pgm2A und Pgm1A während des Archivierens auf. In ähnlicher Weise werden die Programme Pgm1R und Pgm2R aufgerufen, sobald der Geschäftsablauf wiederhergestellt wird.
In einer weiteren Ausführungsart der Erfindung werden die Programmversionen der Programme Pgm1, Pgm2 und Pgm3 zusätzlich zu den zugehörigen Daten archiviert. Durch das Archivieren der Programmversionen wird sichergestellt, dass nach dem Wiederherstellen der Ablauf unter Benutzung der selben Programmversionen ausgeführt wird, die bis zum Zeitpunkt des Archivierens benutzt wurden.
Die vorliegende Erfindung kann in Hardware, Software oder einer Kombination aus Hardware und Software realisiert werden. Ein WFMS gemäß der vorliegenden Erfindung kann in zentralisierter Art und Weise in einem einzigen Computersystem oder in verteilter Art und Weise realisiert werden, wobei verschiedene Elemente über mehrere miteinander verbundene Computersysteme verteilt sind. Jede Art von Computersystem - oder anderer Gerätschaft, die zum Ausführen der hierin beschriebenen Verfahren angepasst ist - ist dafür geeignet. Eine typische Kombination aus Hardware und Software könnte ein Allzweckcomputersystem mit einem Computerprogramm sein, das, wenn geladen und ausgeführt, das Computersystem solcherart steuert, dass es die hierin beschriebenen Verfahren ausführt. Die vorliegende Erfindung kann auch in ein Computerprogrammprodukt eingebettet sein, das alle Merkmale umfasst, welche die Implementierung der hierin beschriebenen Verfahren ermöglichen, und das - wenn in ein Computersystem geladen - in der Lage ist, diese Verfahren auszuführen.
Computerprogrammmittel oder Computerprogramm bezeichnen im vorliegenden Kontext jeden Ausdruck aus einer Gruppe von Anweisungen in jeder Sprache, Kodierung oder Notation mit der Absicht, ursächlich einem System eine Fähigkeit zur Informationsverarbeitung zu verleihen, so dass es eine bestimmte Funktion ausüben kann, entweder direkt oder nach einem oder beiden der folgenden Vorgänge: a) Umwandlung in eine andere Sprache, Kodierung oder Notation; b) Reproduktion in einer anderen materiellen Form.

Claims (13)

1. Verfahren zum Optimieren eines Arbeitsablaufverwaltungssystems (Workflow Management System, WFMS), wobei dieses Verfahren von diesem WFMS auf mindestens einem Computersystem ausgeführt werden kann und wobei dieses WFMS auf eine Datenbank zugreift, die aus mindestens einem Ablaufmodell und Instantiierungen dieses Ablaufmodells (Ablaufinstanzen) besteht und dieses Verfahren dadurch gekennzeichnet ist, dass es den Schritt des Übertragens von Objekten dieser Datenbank in eine Archivdatenbank umfasst.
2. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass der Schritt des Übertragens von Objekten der Datenbank in die Archivdatenbank in dem Fall ausgeführt wird, dass ein zuvor festgelegtes Ereignis eintritt.
3. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass der Schritt des Übertragens von Objekten der Datenbank in die Archivdatenbank ausgeführt wird, wenn diese Objekte gerade nicht vom WFMS benutzt werden.
4. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass die Objekte, die in die Archivdatenbank übertragen werden sollen, Ablaufinstanzen sind.
5. Verfahren nach Anspruch 4, gekennzeichnet dadurch, dass die Ablaufinstanzen, die in die Archivdatenbank übertragen werden sollen, in Abhängigkeit von den Werten bestimmter Eigenschaften dieses Ablaufmodells aus den Instanzen eines bestimmten Ablaufmodells ausgewählt werden.
6. Verfahren nach Anspruch 4 oder 5, gekennzeichnet dadurch, dass das Verfahren den weiteren Schritt des Übertragens von solchen Daten aus einem Anwendungsprogrammspeicher in einen Anwendungsprogramm-Archivspeicher umfasst, welche von den Programmen verwaltet werden, welche die Vorgänge desjenigen Ablaufmodells implementieren, aus dem Ablaufinstanzen in die Archivdatenbank übertragen werden.
7. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass die Objekte, die in die Archivdatenbank übertragen werden sollen, Ablaufmodelle sind.
8. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass das Verfahren den weiteren Schritt des Übertragens dieser Objekte zurück in die Datenbank umfasst.
9. Verfahren nach Anspruch 6, gekennzeichnet dadurch, dass das Verfahren den weiteren Schritt des Übertragens dieser Daten aus dem Anwendungsprogramm-Archivspeicher zurück in den Anwendungsprogrammspeicher umfasst.
10. Verfahren nach Anspruch 8 oder 9, gekennzeichnet dadurch, dass diese Objekte in die Datenbank zurück übertragen werden, sobald sie wieder benötigt werden.
11. System, das Mittel umfasst, die so angepasst sind, dass sie die Schritte des Verfahrens gemäß jedem beliebigen der vorangehenden Ansprüche 1 bis 10 ausführen, wobei das System eine Archivdatenbank umfasst.
12. Datenverarbeitendes Programm, das Softwarecodebestandteile umfasst, die zum Durchführen des Verfahrens gemäß jedem beliebigen der vorangehenden Ansprüche 1 bis 10 geeignet sind, sobald das Programm in einem Datenverarbeitungssystem ausgeführt wird.
13. Computerprogrammprodukt, das maschinenlesbare Programmmittel umfasst, die einen Computer zum Durchführen des Verfahrens gemäß jedem beliebigen der vorangehenden Ansprüche 1 bis 10 veranlassen, sobald das Programm in einem Computer ausgeführt wird.
DE10125956A 2000-06-03 2001-05-29 Archivierung in Arbeitsablaufverwaltungssystemen Ceased DE10125956A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00111784 2000-06-03

Publications (1)

Publication Number Publication Date
DE10125956A1 true DE10125956A1 (de) 2001-12-13

Family

ID=8168893

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10125956A Ceased DE10125956A1 (de) 2000-06-03 2001-05-29 Archivierung in Arbeitsablaufverwaltungssystemen

Country Status (4)

Country Link
US (1) US20010049712A1 (de)
JP (1) JP2002073929A (de)
KR (1) KR20010110097A (de)
DE (1) DE10125956A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007042094A1 (de) * 2007-09-05 2009-03-12 Unycom Information Technology Services Gmbh Computerimplementiertes System und Verfahren zum strukturierten Speichern von Daten mindestens eines vordefinierten Ablaufs

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7100005B2 (en) * 2003-06-17 2006-08-29 Agilent Technologies, Inc. Record storage and retrieval solution
US7421696B2 (en) * 2003-12-22 2008-09-02 Jp Morgan Chase Bank Methods and systems for managing successful completion of a network of processes
JP5234720B2 (ja) * 2007-04-26 2013-07-10 日本電信電話株式会社 プロセスモデル作成装置、方法及びそのプログラム
US8392373B1 (en) * 2009-03-26 2013-03-05 Symantec Corporation Systems and methods for retaining an executable environment during a data archive process
US10078674B2 (en) * 2010-06-04 2018-09-18 Mcl Systems Limited Integrated workflow and database transactions
US9424544B2 (en) * 2013-06-05 2016-08-23 International Business Machines Corporation Archival management of business processes in a cloud environment
CN105447626A (zh) * 2015-11-12 2016-03-30 东软集团股份有限公司 一种工作流变量存储方法及装置、读取方法及装置
CN113781007A (zh) * 2021-09-22 2021-12-10 广联达数字科技(深圳)有限公司 一种数据核验系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033121T2 (de) * 1989-09-01 1999-10-28 Amdahl Corp Betriebssystem und Datenbank mit einer Regelsprache zum bedingungsgesteuerten Rechnerbetrieb
AU6133594A (en) * 1993-02-08 1994-08-29 Action Technologies, Inc. Method and apparatus for managing business processes
US5682532A (en) * 1994-05-02 1997-10-28 Microsoft Corporation System and method having programmable containers with functionality for managing objects
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007042094A1 (de) * 2007-09-05 2009-03-12 Unycom Information Technology Services Gmbh Computerimplementiertes System und Verfahren zum strukturierten Speichern von Daten mindestens eines vordefinierten Ablaufs

Also Published As

Publication number Publication date
JP2002073929A (ja) 2002-03-12
US20010049712A1 (en) 2001-12-06
KR20010110097A (ko) 2001-12-12

Similar Documents

Publication Publication Date Title
DE10003015A1 (de) Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
DE69736748T2 (de) Editierumgebung für objektmodelle und verfahren zu deren anwendung
EP1061422B1 (de) Informationstechnisches System zur Definition, Optimierung und Steuerung von Prozessen
DE19955004A1 (de) Ableitung und Ausführung von Workload-Manager-Enklaven aus Workflows
DE60306663T2 (de) Verfahren, Vorrichtungen und Programme zur Regelung des Zugriffs auf Datenobjekte unter Verwendung von Sperren
DE19712946A1 (de) Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells
DE19705955A1 (de) Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
DE19948028A1 (de) Verfahren und System zum Optimieren des Anforderungsschickens in Workflow Management Systemen
EP1589416A2 (de) Verfahren und System zum Erzeugen eines Quellcodes für ein Computerprogramm
DE19960048A1 (de) Zeitgesteuerte Startbedingungen für Aktivitäten in Workflow-Management-Systemen
DE112010004264B4 (de) Selektiver Schreibschutz für das Austesten der Wiederherstellung nach einem Absturz
DE10125956A1 (de) Archivierung in Arbeitsablaufverwaltungssystemen
EP1674954A1 (de) System und Verfahren zur Wiederverwendung von Projektierungsdaten
DE602004006630T2 (de) Verfahren zur Durchführung eines Softwaredienstes in einer Systemlandschaft
EP3364257A1 (de) Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm
CH701481B1 (de) Prozessmanagement.
DE10110039A1 (de) Ein Verfahren zur generischen Beschreibung und Manipulation beliebiger Datenstrukturen
DE69634953T2 (de) Anpassbare anwenderschnittstelle
DE102008048862A1 (de) Testmodul und Verfahren zum Testen einer O/R-Abbildungs-Middleware
DE19831651C1 (de) Verfahren zum Erzeugen eines regel- und anpassbaren Netzwerkes von Modellen von Verhaltensmustern einschließlich Software-Systemen
DE60213008T2 (de) Anordnung und verfahren zum unterstützen der prozess-/anwendungssteuerung
WO2010026151A1 (de) Verfahren zur einräumung einer zugriffsberechtigung auf ein rechnerbasiertes objekt in einem automatisierungssystem, computerprogramm und automatisierungssystem
EP1674953B1 (de) System und Verfahren zur Wiederverwendung von Projektierungsdaten
DE10339112A1 (de) Verfahren zum Erzeugen mindestens eines Projekt-Referenzmodells, Verfahren zur Generierung einer strukturierten Konfigurationsinformation mittels eines solchen Projekt-Referenzmodells sowie Vorrichtung zur Durchführung, Verwaltung und Organisation solcher Verfahren
EP4231186A1 (de) Zeit- und/oder anwesenheitserfassungseinrichtung; system; verfahren zum betreiben einer zeit- und/oder anwesenheitserfassungseinrichtung; computerprogrammprodukt

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection