DE10125956A1 - Archiving in workflow management systems - Google Patents

Archiving in workflow management systems

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
German (de)
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/en
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 ...The invention relates to a method for optimizing a workflow management system (WFMS), wherein this method can be carried out by this WFMS on at least one computer system and wherein this WFMS accesses a database that consists of at least one process model and instantiations of this process model (Runtime instances) exists. The method proposes to transfer objects from the database to an archive database (archive function). This transmission is preferably carried out in the event that a predefined event occurs or when these objects are not currently being used by the WFMS. The objects to be transferred to the archive database are preferably runtime instances. These runtime instances are preferably selected from all instances of a certain runtime model depending on the values of certain properties of this runtime model. The objects in the database that are transferred to the archive database can also be process models. In addition, the data managed by the application programs that implement the different processes of the process model can also be transferred by having user programs move the data from the usual application program memory into an application program archive memory. In addition, the method suggests transferring the WFMS objects back to the WFMS database and also the data from the ...

Description

Hintergrund der ErfindungBackground of the Invention Gebiet der ErfindungField of the Invention

Die vorliegende Erfindung bezieht sich auf Arbeitsablaufverwaltungssysteme. Genauer bezieht sich die vorliegende Erfindung auf ein Verfahren zur Optimierung von Arbeitsablaufverwaltungssystemen.The present invention relates to Workflow management systems. The more precisely relates present invention on a method for optimizing Workflow management systems.

Beschreibung und Nachteile des Standes der TechnikDescription and disadvantages of the prior art

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.A new area of technology of growing importance is that Area of workflow management systems (workflow management Systems, WFMS). WFMS support modeling and execution of business processes. Executed within a WFMS environment Business processes control which part of the work from a network of Parts of the work carried out by whom and what resources for this work can be used. The individual work parts can be distributed across several different computer systems by a network of some kind are interconnected. A A thorough description of the WFMS technology can be found 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.The product "IBM MQSeries Workflow" represents such a typical, modern, sophisticated and powerful Workflow management system. It supports that Modeling business processes in the form of a process network. This process network, the process model, is in the form of a  directional, cycle-free, weighted, colored graphs created. The nodes of the graph represent the processes that be performed. The edges of the graph, the Control arrows describe the possible execution sequence of operations. The process graph is set using the IBM MQSeries Flow Definition Language (FDL) or through the built-in graphical editor. The runtime component of the Workflow management interprets the flow graph and awards the execution of operations to the right person on right place, e.g. B. by one of the respective person assigned work list tasks are assigned, these Work list in the form of digital data within the workflow or flow management computer system is filed.

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.The WFMS accesses one while the system is in operation Database to where the process models and their instantiations, the process instances are stored. The scope of the WFMS database can get very big. The WFMS database of a typical e- Commerce company, for example, can easily be 100 GB in size to reach.

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.The disadvantage of such a large database is that the Performance when accessing the database less the larger the database becomes.

Aufgabe der ErfindungObject of the invention

Die Erfindung beruht auf der Aufgabe, die Leistungsfähigkeit eines WFMS zu optimieren.The invention is based on the task of performance to optimize a WFMS.

Überblick über die Erfindung und ihre VorteileOverview of the invention and its advantages

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.The objects of the invention are defined by the independent claims reached. Further advantageous arrangements and designs  the invention are set out in the respective subclaims.

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.The invention relates to a method for optimizing a Workflow Management System (WFMS) using this procedure executed by this WFMS on at least one computer system and where this WFMS accesses a database, that consist of at least one process model and instantiations of this Process model (process instances) exists. The procedure fails plans to transfer objects from the database to an archive database (Archive function). This transfer is preferred in the case executed that a predetermined event occurs, or if these objects are not currently being used by the WFMS.

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).The ones to be transferred to the archive database are preferred Objects runtime instances. These runtime instances will preferably from all instances of a certain process model depending on the values of certain properties this Process model selected. The objects of the database that are in the Archive database can also be transferred, process models his. In addition, the data provided by the Application programs are managed which the implement different processes of the process model, be transferred by user programs the data from the ordinary application program memory in one Application program archive storage can be moved. Furthermore proposes the procedure to put the WFMS objects into the WFMS database to transfer back and also the data from the Application program archive storage in the Write application program memory back as soon as that archived WFMS objects are needed again (Recovery function).

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.With the present invention, the scope of the WFMS database as well as the scope of the process implementations managed application program memory can be minimized. The most important advantage of the present invention is that  the ability to access the database all the more gets higher the smaller the repository is.

Durch das Implementieren der vorliegenden Erfindung wird die Leistungsfähigkeit des WFMS erhöht.By implementing the present invention, the Performance of the WFMS increased.

Kurzbeschreibung der ZeichnungenBrief description of the drawings

Fig. 1 zeigt eine Definition eines WFMS-Systems mit eingeschalteter Archivverarbeitung gemäß einer Ausführungsart der vorliegenden Erfindung, Fig. 1 shows a definition of a WFMS system with switched archive processing according to an embodiment of the present invention,

Fig. 2 zeigt eine Definition eines Ablaufmodells mit eingeschalteter Archivverarbeitung gemäß einer Ausführungsart der vorliegenden Erfindung, Fig. 2 shows a definition of a flow model with activated archive processing according to an embodiment of the present invention,

Fig. 3 zeigt Befehle zum Archivieren und Wiederherstellen von Ablaufinstanzen gemäß einer Ausführungsart der vorliegenden Erfindung, Fig. 3 shows commands for archiving and restoring flow instances according to an embodiment of the present invention,

Fig. 4 zeigt eine Definition des automatischen Archivierens eines Ablaufmodells gemäß einer Ausführungsart der vorliegenden Erfindung, Fig. 4 shows a definition of the automatic archiving of a flow model according to an embodiment of the present invention,

Fig. 5 zeigt Befehle zum Archivieren und Wiederherstellen auf Modellebene gemäß einer Ausführungsart der vorliegenden Erfindung, Fig. 5 shows commands for archiving and restoring at model level according to an embodiment of the present invention,

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. 6 shows a definition of a program to backup / restore associated data and a definition of a flow model with archiving / Restore associated data according to an embodiment of the present invention,

Fig. 7 zeigt eine Definition eines Ablaufs mit detailliertem Archivieren/Wiederherstellen zugehöriger Daten gemäß einer weiteren Ausführungsart der vorliegenden Erfindung. Fig. 7 shows a definition of a sequence with a detailed archive / Restore associated data according to another embodiment of the present invention.

Beschreibung der bevorzugten AusführungsartDescription of the preferred embodiment

Die vorliegende Erfindung wird veranschaulicht auf der Grundlage von IBMs Arbeitsablaufverwaltungssystem MQSeries Workflow.The present invention is illustrated based on from IBM's workflow management system 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.Of course, any other WFMS could be used instead become. In addition, the present statements also apply for any other type of system that has WFMS functionality not in the form of an independent WFMS but within another type of system.

Einleitungintroduction

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:The following is a brief outline of the basic concepts a workflow management system based on IBMs WFMS MQSeries workflow as far as it is for the present invention the following is important:

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.From an entrepreneurial point of view, the management of Business Processes of Increasing Importance: Business Processes or briefly regulate processes, which part of the work by whom is carried out and which resources are used for this work become, d. H. a business process describes how a company will achieve its business goals. A WENS can do both the modeling of business processes as well as their execution support. Modeling a business process as syntactic unit to one directly from a software system supported way is extremely desirable. Furthermore, can the software system also work as an interpreter who Such a model essentially receives as input data: The Then called a model, process model or workflow model instantiated and the individual sequence of work steps  can depend on the context of the instantiation of the model be determined. Such a model of a business process leaves itself as a template for a class of similar processes understand that are carried out within a company; it is a scheme that includes all possible variations of an describes certain types of business processes. An instance of a such a model and its interpretation represents one represents individual process, d. H. a concrete, contextual Execution of a variant, such as that of the model is prescribed. A WFMS makes it easier to manage Business processes. It provides a means of describing Models of business processes (design time), and it controls Business processes based on an associated model (term). The metamodel of IBM's WFMS MQSeries workflow, i. H. the for Description of business process models provided Syntax elements as well as the meaning and interpretation of them Syntax elements will be shown next.

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:
A process model is a complete representation of a process, consisting of a process diagram and the settings that determine the logic behind the components of the diagram. Important components of an MQSeries workflow process model are:

  • - Abläufe (Processes)- Processes
  • - Vorgänge (Activities)- Activities
  • - Blöcke (Blocks)- blocks
  • - Steuerungsflüsse (Control flows)- Control flows
  • - Pfeile (Connectors)- arrows (connectors)
  • - Datencontainer (Data containers)- Data containers
  • - Datenstrukturen (Data structures)- Data structures
  • - Programme (Programs)- Programs
  • - Personal (Staff)- Personnel (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.Not all of these elements are described below. Processes are the basic elements of the metamodel. An operation represents a business act that results from a particular Perspective is an independent semantic quantity.

Ein MQSeries Workflow-Ablaufmodell besteht aus den folgenden Arten von Vorgängen:An MQSeries workflow flow model consists of the following Types of operations:

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.Program activity: The process is a program assigned to be executed. The program will called as soon as the process is started. In one Fully automated workflow, the program guides the process without human intervention. Otherwise, the user must use the Start the process by running it at runtime Select work list.

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.Process activity: The process is a Assigned (sub) process to be carried out. The The process is called as soon as the process is started. On Sequence process is one possibility, one of processes, the different processes are common, existing quantity to reuse.

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.The control flow, i.e. H. the flow of control through one ongoing process, determines the sequence in which operations be carried out. The MQSeries workflow workflow manager determines a path through the process.

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. Generally, through work, through an operation is represented, produces results; these become one Output container (output container) placed of each operation assigned. Because an operation is generally accessing Output container of other operations is required, each operation additionally an input container assigned.  

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.Arrows link processes in a process model. You define the sequence of operations and the data transfer between Operations using arrows. Because processes don't are allowed to be executed arbitrarily, they are over Control arrows connected. A control arrow can be viewed as grasp the directed edge between two processes; the process at the end point of the arrow cannot begin before the process on Starting point of the arrow (successfully) has ended. Control arrows thus model the possible control flow within a business process model. Data arrows place the Data flow in a workflow model. A data arrow goes from an operation or from a block and has an operation or a block as a target. One can specify that output data should flow to one or more destinations. A goal can have more than one incoming data arrow.

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).The definition of a process includes the modeling of Operations, control arrows between operations, Input / output container and data arrows. A process is in shape of a directed, circular graph, where Operations the nodes and control / data arrows the edges of the graph. The graph is built over a graphic editor edited. The data containers are getting closer determined as named data structures. These data structures are in turn via the function "DataStructureDefinition" determined in more detail. Program operations are through programs implemented. The programs are activated via the "Program Definition "registered. Blocks contain the same constructs such as processes, i.e. processes, control arrows, etc. process processes are implemented as processes. These sub-processes will be separated as regular, named processes with all usual Properties defined. Expiration operations offer a great deal Flexibility in the definition of processes. You do not allow just constructing a process by constantly refining Processes in program and sequence processes (top-down), but  also building a process from a set of existing ones Processes (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.All programs that implement program operations are about defines the "Program Registration" function. For every program the name of the program, its location and the Character string registered for the program call. The string for the program call consists of the name of the program and the command string passed to the program.

Vorbereiten der ArchivierungPrepare for archiving

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.The present invention uses an archive database to archiving data. The archive database has the same Structure like the usual database. The archive database is preferably on a different device than the ordinary database. This ensures higher performance when Access to both databases. It will typically automatically created by the WFMS as soon as archiving for the WFMS is turned on. Other options delay the creation, until the archiving is actually carried out.

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.In a preferred embodiment of the invention, the activation of the archive / restore function of the WFMS is carried out by using a definition like that shown in FIG. 1. For this purpose, a new keyword ARCHIVE_SUPPORT 100 is added to the specification of the WFMS system. This keyword 100 is used to determine whether archiving is switched on for WFMS system 1 (ARCHIVE_SUPPORT YES) or not (ARCHIVE_SUPPORT NO). It should be noted that the Flow Definition Language (FDL) of MQSeries Workflow is used as an example in all figures of this description.

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.Archiving and restoring business processes requires additional processing steps on the part of the WFMS. These additional processing steps are e.g. This includes, for example, keeping information in the WFMS database that would otherwise not be provided for, or checking whether an archived version is available for a business process. For this reason, it must be ensured that archiving and restoring are valid operations for a specific process instance. Fig. 2 shows how archiving for a process model, e.g. B. a loan process carried out in a bank is turned on. Preferably, the same keyword 100 as illustrated in FIG. 1 is used.

Archivieren von AblaufinstanzenArchive runtime instances

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.If a process model is defined as archivable, a specific process instance can be archived and restored. New commands are added to the specification of the process model for archiving and restoring a process instance. Figure 3 shows some of the typical instructions of a preferred embodiment. The ARCHIVE 300 command archives a runtime instance with a given runtime instance ID 301 , while the RESTORE 302 command restores a runtime instance.

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. Archiving means moving the complete information via a specific process instance from the WFMS database into the Archive database. This offset information can also Contain information about the process model that is required to run this particular flow instance is used. Restore means moving the complete information about a certain process instance from the archive database into the WFMS Database. This offset information can also be the information included about the process model required to run this certain process instance is used.  

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.The archiving / restoring is preferably done by one own, specially designed archiving / Recovery component performed that is part of the WFMS. Alternatively, the archiving / restoration component as an external component (e.g. a "plug-in" component) be implemented.

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.Quite often, parts of a process model are automatically, i.e. H. without user intervention. Then performing Archive and restore only one for commands occasional use may be an option because of this Approach requiring action from the end user or administrator the z. B. via a suitable programming interface be made.

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.Alternatively, archiving can be defined as a time-dependent process in a specific process model. Fig. 4 shows the corresponding definition for this approach. For this purpose, the new keyword ARCHIVE 400 is added to the specification of the WFMS system. The keyword ARCHIVE 400 makes it possible to determine when the automatic archiving should take place. In the example described, it determines that a specific process instance of the process model 'LoanProcess' is archived as soon as the process instance is idle for more than four days. The specification of the ARCHIVE keyword is not limited to the ability to set a specific time; any Boolean expression of any composition could be evaluated. In this case, archiving is carried out if the Boolean expression assumes the value "true" when evaluated.

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.While archiving according to the above embodiment restore should be done automatically usually not done automatically. In most In cases, it will be enough to restore over one  perform an explicit function call, e.g. B. the command of a User or the occurrence of a specified event. For example, the restore is done when the WFMS requests the archived material for use, d. H. this material is transferred back to the WFMS database, when it's needed again.

Kontextbasiertes ArchivierenContext-based archiving

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.While archiving / restoring has been described in FIG. 3 with regard to the level of the runtime instances, the method of archiving / restoring can also be applied to a collection of runtime instances, ie at the level of the runtime model.

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.In this embodiment, all process instances become one archived certain process model, the certain properties own, e.g. B. All process instances with a loan $ 10,000. For this purpose, the appropriate Instances of a process model can be selected.

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. Fig. 5 shows a preferred embodiment of the corresponding archive and restore commands. <Name of the process model < 500 designates the process model. The selection is made using an expression 501 of the form <property operator value <, which specifies the values which are to apply to runtime instances of the specified runtime model.

"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."Property" stands for any of the users in the Process model as defined automatically for each of the WMFS managed properties. Custom properties are as data fields in the input or output container of the Process model or in the input and output container of a Operation defined. Assume that the drain input container of the Process model LOAN_PROCESS contains a data field LOAN_AMOUNT that  contains the associated loan amount, then the specification (ProcessInputContainer.LOAN_AMOUNT <50000) all process instances of the process model LOAN_PROCESS select the loan amount Exceeds $ 50,000. A typical managed by the system The property is the date on which the runtime instance started has been. So one entry (START DATE <4/10/99) would be all Select expiration instances that started before April 10, 1999 were.

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.The <property operator value <expression 501 can contain any complex Boolean expression. Depending on the truth value of this Boolean predicate, the WFMS archives / restores the runtime instances of the runtime model that is specified by <name of the runtime model < 500 .

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.In a further embodiment of the invention not only the process instances, but the process models themselves archived / restored. This can be seen particularly in the Apply case that all: process instances of a particular Process model are already archived.

Archivieren zugehöriger DatenArchive related data

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.Archiving of runtime instances as described above but may not be enough. Workflow based Application programs consist of a process model and the associated process implementations. This Operation implementations also manage data. For a complete archive must also be from one Operation implementation managed data are archived. If e.g. B. manages a transaction implementation of customer records, should also be the one managed for a specific workflow instance Customer record can be archived. Those are preferred Archived data managed by the programs which  implement the processes of the process model from which Process instances are transferred to the archive database.

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.The data managed by the process implementation is stored in maintained an application program memory, which is can trade any data store. Because the WFMS usually have no knowledge of the Operation implementation of managed data, e.g. B. theirs Storage location owns, specially designed resources, e.g. B. Programs used to extract the data from the ordinary Application program memory into an application program Transfer archive storage and vice versa. Preferably located the application program archive store on another Device as the application program memory.

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. Fig. 6 shows a preferred embodiment of the invention will be archived in the data belonging to a drain. The key word USING PROGRAM 600 denotes the programs 601 , 602 which are called up when a business process is archived or restored. The called programs 601 , 602 are supplied with the associated data, such as container contents, via application programming interfaces, so that the programs can carry out the associated actions.

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.In the embodiment, the archiving / restoration program pair 601 , 602 is used to archive / restore all processes of the process model, LoanProcess'. This means that these programs 601 , 602 must know the complete structure of the process that is to be archived / restored. That is why these programs are relatively complex.

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.A still further improved approach will be described next. FIG. 7 shows such a preferred embodiment in which detailed archiving of associated data is carried out. Each program 701 (Pgm1, Pgm2, Pgm3) of an operation 700 (Activity1, Activity2, Activity3) is assigned an archiving program 702 (Pgm1A, Pgm2A, Pgm3A) and a recovery program 703 (Pgm1R, Pgm2R, Pgm3R).

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.During the normal execution of the loan process the operations Activity1, Activity2 and Activity3, i.e. H. the Programs Pgm1, Pgm2, Pgm3 executed. When the process is archived then the WFMS inverts the executed graph and leads this new graph by plotting the corresponding one over the Keyword ARCHIVE specified programs can be called. If e.g. For example, the process after Activity2 is archived then the WFMS calls the programs Pgm2A and Pgm1A during of archiving. Similarly, the programs Pgm1R and Pgm2R called once the business flow is restored.

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.In a further embodiment of the invention, the Program versions of the programs Pgm1, Pgm2 and Pgm3 in addition to related data archived. By archiving the Program versions will ensure that after the Restore the process using the same Program versions that are running until the time of Archiving were used.

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.The present invention can be implemented in hardware, software, or a Combination of hardware and software can be realized. A WFMS according to the present invention can in a centralized manner and Way in a single computer system or distributed and Be realized in such a way, with different elements over several interconnected computer systems are distributed. Any kind from computer system - or other equipment used to run the method described here is adapted - is for suitable. A typical combination of hardware and software  could be a general purpose computer system with a computer program be that, when loaded and running, the computer system such that it controls the methods described herein executes. The present invention can also be Computer program product that has all the features embedded which includes the implementation of those described herein Enable procedures, and that - if in a computer system loaded - is able to perform these procedures.

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.Designate computer program means or computer program in present context any expression from a group of Instructions in any language, coding or notation with the Intent to cause a system ability to To lend information processing so that there is a certain Function, either directly or after or both of the following: a) conversion to another Language, coding or notation; b) Reproduction in one other material 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.1. A method for optimizing a workflow management system (WFMS), this method being able to be carried out by this WFMS on at least one computer system and wherein this WFMS accesses a database which consists of at least one process model and instantiations of this process model (process instances) and this method is characterized in that it comprises the step of transferring objects from this database into an archive database. 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.2. The method according to claim 1, characterized in that the Step of transferring objects from the database into the Archive database in the event that a previously run specified event occurs. 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.3. The method according to claim 1, characterized in that the Step of transferring objects from the database into the Archive database is executed when these objects are just not used by the WFMS. 4. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass die Objekte, die in die Archivdatenbank übertragen werden sollen, Ablaufinstanzen sind.4. The method according to claim 1, characterized in that the Objects to be transferred to the archive database Expiration instances are. 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.5. The method according to claim 4, characterized in that the Process instances that are transferred to the archive database should, depending on the values of certain Properties of this process model from the instances of a certain process models can be selected. 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.6. The method according to claim 4 or 5, characterized in that that the method has the further step of transferring such data from an application program memory into a  Application program archive storage includes which of the Programs are managed, which the processes of one Implement process model from the process instances in the Archive database are transferred. 7. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass die Objekte, die in die Archivdatenbank übertragen werden sollen, Ablaufmodelle sind.7. The method according to claim 1, characterized in that the Objects to be transferred to the archive database Process models are. 8. Verfahren nach Anspruch 1, gekennzeichnet dadurch, dass das Verfahren den weiteren Schritt des Übertragens dieser Objekte zurück in die Datenbank umfasst.8. The method according to claim 1, characterized in that the Procedure the further step of transferring these objects includes back to the database. 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.9. The method according to claim 6, characterized in that the Procedure the further step of transmitting this data from the application program archive memory back to the Application program memory includes. 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.10. The method according to claim 8 or 9, characterized in that that these objects are transferred back to the database, as soon as they are needed again. 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.11. System that includes means that are adapted to them the steps of the method according to any of the execute preceding claims 1 to 10, wherein the system includes an archive database. 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.12. Data processing program, the software code components comprises, for performing the method according to each any of the preceding claims 1 to 10 are once the program is in a data processing system is performed. 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.13. Computer program product, the machine-readable program medium comprises a computer for performing the method  according to any one of the preceding claims 1 to 10 cause once the program in a computer is performed.
DE10125956A 2000-06-03 2001-05-29 Archiving in workflow management systems Ceased DE10125956A1 (en)

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=8168893

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10125956A Ceased DE10125956A1 (en) 2000-06-03 2001-05-29 Archiving in workflow management systems

Country Status (4)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007042094A1 (en) * 2007-09-05 2009-03-12 Unycom Information Technology Services Gmbh Computer-implemented system and method for the structured storage of data of at least one predefined sequence

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 (en) * 2007-04-26 2013-07-10 日本電信電話株式会社 Process model creation apparatus, method and program thereof
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 (en) * 2015-11-12 2016-03-30 东软集团股份有限公司 Workflow variable storing method, workflow variable storing device, workflow variable reading method and workflow variable reading device
CN113781007A (en) * 2021-09-22 2021-12-10 广联达数字科技(深圳)有限公司 Data verification system and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033203T2 (en) * 1989-09-01 1999-11-04 Amdahl Corp Programmable computer with automatic translation between source and target code with version monitoring
EP0686282A4 (en) * 1993-02-08 1997-07-02 Action Tech 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 (en) * 2007-09-05 2009-03-12 Unycom Information Technology Services Gmbh Computer-implemented system and method for the structured storage of data of at least one predefined sequence

Also Published As

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

Similar Documents

Publication Publication Date Title
DE3855475T2 (en) Software management structure
DE10003015A1 (en) Computer-aided method for automatically transforming a process model
EP1061422B1 (en) Computer system for the definition, optimisation and control of processes
DE19955004A1 (en) Workload management method for computerized workflow management system, automatically generating workload management enclave when control flow enters enclave graph
DE60306663T2 (en) Methods, apparatus and programs for controlling access to data objects using locks
DE19712946A1 (en) Computerised method of automatically expanding specifications of process model in workflow process environment
DE19705955A1 (en) Workflow processing model implementation method
DE19948028A1 (en) Request dispatch optimization method for computerized workflow management system has overall optimization function effected by local work management system for reconfiguration of remote work management systems
EP1589416A2 (en) Method and system for generating a source code for a computer program
DE19960048A1 (en) Start condition processing method for computer workflow management system evaluates correctness of control links for each process activity and verifies time interval conditions
DE112010004264B4 (en) Selective write protection for debugging recovery after a crash
EP2648094B1 (en) Method and system for creating a source code for a computer program for executing and simulating a process
DE10125956A1 (en) Archiving in workflow management systems
EP1674954A1 (en) System and method for reusing of design related data
DE602004006630T2 (en) Method for carrying out a software service in a system landscape
EP3364257A1 (en) Method for operating an engineering system for an industrial process automation system and control program
CH701481B1 (en) Process management.
DE10110039A1 (en) Provision of access to resources e.g. XML file by producing hierarchical control information by reading resource-specific information
DE69634953T2 (en) CUSTOMIZABLE USER INTERFACE
EP4008166A1 (en) Method for controlling a cloud-based agricultural database system
DE102008048862A1 (en) Test module and method for testing an O / R imaging middleware
DE19831651C1 (en) Method for generating a controllable and adaptable network of models of behavior patterns, including software systems
DE10339112B4 (en) Method for generating at least one project reference model, method for generating structured configuration information by means of such a project reference model and device for carrying out, managing and organizing such methods
DE60213008T2 (en) ARRANGEMENT AND METHOD FOR SUPPORTING THE PROCESS / APPLICATION CONTROL
WO2010026151A1 (en) Method for granting authorization to access a computer-based object in an automation system, computer program, and automation system

Legal Events

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