DE10125956A1 - Archivierung in Arbeitsablaufverwaltungssystemen - Google Patents
Archivierung in ArbeitsablaufverwaltungssystemenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating 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
Die vorliegende Erfindung bezieht sich auf
Arbeitsablaufverwaltungssysteme. Genauer bezieht sich die
vorliegende Erfindung auf ein Verfahren zur Optimierung von
Arbeitsablaufverwaltungssystemen.
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.
Die Erfindung beruht auf der Aufgabe, die Leistungsfähigkeit
eines WFMS zu optimieren.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
2001
- 2001-05-10 KR KR1020010025527A patent/KR20010110097A/ko active Search and Examination
- 2001-05-29 DE DE10125956A patent/DE10125956A1/de not_active Ceased
- 2001-05-31 JP JP2001165045A patent/JP2002073929A/ja active Pending
- 2001-06-01 US US09/872,878 patent/US20010049712A1/en not_active Abandoned
Cited By (1)
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 |