DE10007563A1 - Process for controlling data processing operations - Google Patents

Process for controlling data processing operations

Info

Publication number
DE10007563A1
DE10007563A1 DE2000107563 DE10007563A DE10007563A1 DE 10007563 A1 DE10007563 A1 DE 10007563A1 DE 2000107563 DE2000107563 DE 2000107563 DE 10007563 A DE10007563 A DE 10007563A DE 10007563 A1 DE10007563 A1 DE 10007563A1
Authority
DE
Germany
Prior art keywords
data processing
process flow
modules
module
function
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.)
Withdrawn
Application number
DE2000107563
Other languages
German (de)
Inventor
Ulrike Mueller
Christian Mallwitz
Frank Gessner
Stephan Schambach
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.)
INTERSHOP SOFTWARE ENTWICKLUNG
Original Assignee
INTERSHOP SOFTWARE ENTWICKLUNG
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 INTERSHOP SOFTWARE ENTWICKLUNG filed Critical INTERSHOP SOFTWARE ENTWICKLUNG
Priority to DE2000107563 priority Critical patent/DE10007563A1/en
Priority to PCT/EP2000/011741 priority patent/WO2001061468A2/en
Priority to AU2001220017A priority patent/AU2001220017A1/en
Priority to EP00983162A priority patent/EP1257907A2/en
Publication of DE10007563A1 publication Critical patent/DE10007563A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Abstract

A method of controlling data processing operations in a data processing system, preferably consisting of a plurality of spatially separate system components connected via a data transmission medium, comprises the following steps: reception of a data processing request for the execution of a data processing process, selection of a process flow description which defines the flow of the data processing process by a sequence of function modules and control modules and corresponds to the received data processing request, execution of the data processing process by calling the function modules and control modules in accordance with the process flow description, where a function module in each case is a self-contained, preconfigurable unit for the execution of data processing operations in the data processing system and a control module in each case specifies the linking of the function modules to one another.

Description

Die vorliegende Erfindung betrifft Verfahren, Computersystem und ein Computerprogramm zur Steuerung von Datenverarbeitungsvorgängen auf einem Datenverarbeitungssystem, insbesondere einem System über ein geeignetes Datenübertragungsmedium miteinander verbundener verteilter System­ komponenten.The present invention relates to methods, computer systems and a Computer program for controlling data processing operations on one Data processing system, in particular a system using a suitable one Data transmission medium of interconnected distributed system components.

Die Informations- und Kommunikationstechnologien dringen mehr und mehr in nahezu alle Lebensbereiche vor. Dabei kristallisiert sich ein schneller und sicherer Informationsaustausch als immer bedeutsamerer Wettbewerbsfaktor heraus. Mittlerweile geht es nicht mehr nur um den einfachen Informationsaustausch, sondern es werden zunehmend vollständige Arbeits- bzw. Geschäftsprozesse unter Ausnutzung der Informationstechnologien abgewickelt.The information and communication technologies penetrate more and more more in almost all areas of life. A faster and crystallizes secure exchange of information as an increasingly important competitive factor out. In the meantime, it's no longer just about the simple Exchange of information, but increasingly complete work or Business processes carried out using information technology.

Durch moderne und leistungsfähige Kommunikationsmittel wie das Internet wird die lokale Begrenzung von Datenverarbeitungssystemen mehr und mehr aufgehoben. Bislang herrscht für geschäftliche Anwendungen ein lokales Client-Server-Netzwerk, das vorwiegend auf lokale Ressourcen und Datenspeicher zugreift, vor. Diese Konfiguration hat jedoch den Nachteil, dass die gespeicherten Daten nur mit zum Teil erheblichem Aufwand und je nach Anwendung entsprechend zeitverzögert aktualisiert werden können.Through modern and powerful means of communication like that Internet becomes the local limitation of data processing systems more and more canceled more. So far, there has been a local one for business applications Client-server network, mainly based on local resources and data storage accesses, before. However, this configuration has the disadvantage that the saved Data only with considerable effort and depending on the application can be updated accordingly with a time delay.

Durch leistungsfähigere Datenübertragungsmedien wird jedoch ein direkter Zugriff auf entfernte Datenträger und Anwendungsserver immer einfacher, so dass sich die Möglichkeit erschließt, bestimmte geschäftliche Datenverarbeitungsvorgänge extern durchführen zu lassen. In vielen Fällen erspart dies eine doppelte Datenführung, Datenspeicherung und Datenaktualisierung, wenn zentrale Server-Computer für eine Vielzahl von Datenverarbeitungsanlagen zum Zugriff zur Verfügung stehen und entsprechende Teilbereiche abdecken. Eine Aktualisierung der Daten ist dann nur auf diesem zentralen Server-Computer erforderlich. However, through more powerful data transmission media direct access to remote data carriers and application servers is becoming easier, so that the possibility opens up to certain business To have data processing operations carried out externally. Saved in many cases this is a double data management, data storage and data update, if central server computer for a variety of data processing systems are available for access and cover corresponding sub-areas. A The data is then only updated on this central server computer required.  

Die für geschäftliche Anwendungen durchzuführenden Datenverarbeitungsvorgänge oder -prozesse können sehr unterschiedlich ausgestaltet sein, wodurch Datenverarbeitungssysteme, die derartige Prozesse ausführen, einer individuellen Anpassung bedürfen, die je nach Komplexität des Datenverarbeitungssystems einen hohen Entwicklungs- und Kostenaufwand erfordert. Es besteht daher das Bedürfnis, Geschäftsprozesse in entsprechende Datenverarbeitungsvorgänge abzubilden, die auf räumlich verteilten Rechnern ausgeführt werden können, wobei eine Änderung und Anpassung der Datenverarbeitungsprozesse an geänderte . Geschäftsprozesse (beispielsweise Einbeziehung neuer Kunden oder Lieferanten, Übernahme einer Tochtergesellschaft, Umstellung auf den Euro) möglichst einfach und ohne Betriebsunterbrechung möglich sein soll. Dieses Bedürfnis besteht insbesondere für Anbieter von E-commerce-Lösungen, die für ihre Kunden eine virtuelle Handelsumgebung schaffen. Dabei soll nicht nur der konventionelle Geschäftsprozess abgebildet werden, sondern auch um die Vorzüge einer virtuellen Umgebung (beispielsweise Schnelligkeit) ergänzt werden.The ones to be done for business applications Data processing operations or processes can be very different be designed, which means data processing systems that such processes carry out an individual adjustment, depending on the complexity of the Data processing system a high development and cost required. There is therefore a need to transform business processes into appropriate ones To map data processing operations on spatially distributed computers can be performed, changing and adapting the Data processing processes to changed. Business processes (e.g. Involving new customers or suppliers, taking over one Subsidiary, changeover to the euro) as simple as possible and without Business interruption should be possible. This need exists in particular for providers of e-commerce solutions who want a virtual solution for their customers Create a trading environment. And not just the conventional one Business process, but also to the merits of a virtual environment (for example speed).

Es ist bekannt, die Kommunikation verteilter, über ein Netzwerk verbundener Systemkomponenten zur Datenverarbeitung mittels eines Computerprogrammes fest zu definieren. Dabei besteht jedoch der Nachteil, dass eine Änderung der Kommunikationsstrukturen nur durch eine Änderung der Kommunikationssoftware mit einem Eingriff in den entsprechenden Programmcode möglich ist. Dies ist Zeit- und kostenaufwendig und erfordert ausserdem eine unerwünschte Betriebsunterbrechung.Communication is known to be more distributed over a network connected system components for data processing by means of a Define computer program firmly. However, there is the disadvantage that a change in communication structures only by changing the Communication software with an intervention in the corresponding program code is possible. This is time-consuming and costly and also requires one unwanted business interruption.

Ausserdem ist es bekannt, die einzelnen Funktionalitäten von Datenverarbeitungsprozessen auf einzelne, in sich geschlossene Funktionseinheiten oder Module aufzuteilen, welche einzeln variiert werden können, ohne andere Komponenten des Gesamtsystems zu beinflussen. Die Variabilität ist bei diesem Ansatz jedoch auf eine Veränderung der einzelnen Systemmodule beschränkt. Mittels dieses Verfahrens können nur Prozessabläufe in einer Ausführungsvariante definiert werden. Es gibt dabei nicht die Möglichkeit, Prozessabläufe so zu modellieren, dass der Prozess abhängig von bestimmten Ereignissen innerhalb des Prozesses auf verschiedene Weise bzw. in mehreren Varianten ablaufen kann, wodurch es erheblich erschwert ist, reale Prozessabläufe abzubilden. Diese müssen jeweils erst an das beschränkte System angepasst werden.It is also known that the individual functionalities of Data processing processes on individual, self-contained To divide functional units or modules, which are individually varied can without affecting other components of the overall system. The However, variability in this approach is due to a change in the individual System modules limited. Using this method, only process flows in  an execution variant can be defined. There is no possibility Model process flows so that the process is dependent on certain Events within the process in different ways or in several Variants can run, which makes it considerably more difficult to process real processes map. Each of these must first be adapted to the restricted system become.

Der vorliegenden Erfindung liegt demgegenüber die Aufgabe zugrunde, ein Verfahren zur Steuerung von Datenverarbeitungsvorgängen auf einem Datenverarbeitungssystem, insbesondere mit räumlich verteilten, miteinander verbundenen Systemkomponenten vorzuschlagen, das eine schnelle und einfache Anpassung der Datenverarbeitungsvorgänge bei minimaler Betriebsunterbrechungszeit erlaubt. Insbesondere soll es möglich sein, nicht nur einzelne Funktionen zu ändern und zu aktualisieren, sondern auch die Verknüpfungen der Funktionen untereinander zu verändern.The present invention is based on the object a method for controlling data processing operations on a Data processing system, especially with spatially distributed, with each other to propose connected system components, which is quick and easy Adaptation of data processing operations with minimal Downtime allowed. In particular, it should not only be possible to change and update individual functions, but also the To change the links between the functions.

Die Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren zur Steuerung von Datenverarbeitungsvorgängen auf einem Datenverarbeitungssystem, vorzugsweise bestehend aus einer Vielzahl räumlich voneinander entfernter, über ein Datenübertragungsmedium verbundener Systemkomponenten, welches die Schritte aufweist: Empfang einer Datenverarbeitungsanforderung, Auswahl einer der Datenverarbeitungsanforderung entsprechenden Prozessablaufbeschreibung, die den Prozessablauf durch eine Abfolge von Funktions- und Steuermodulen definiert, und Abarbeiten der Datenverarbeitungsanforderung durch aufeinanderfolgenden Aufruf der durch die Prozessablaufbeschreibung bestimmten Funktionsmodule und Steuermodule, wobei die Funktionsmodule Datenverarbeitungsvorgänge auf dem Datenverarbeitungssystem bestimmen und ein Steuermodul die Verknüpfung der Funktionsmodule untereinander festlegt.The object is achieved by a method for Control of data processing operations on one Data processing system, preferably consisting of a plurality of spatial more distant, connected via a data transmission medium System components, which has the steps: receiving a Data processing request, selection of one of the data processing request corresponding process flow description, which the process flow through a Sequence of function and control modules defined, and processing of Data processing request by successively calling the through the Process flow description of certain function modules and control modules, wherein the functional modules data processing operations on the Determine data processing system and a control module linking the Function modules defined among themselves.

Das erfindungsgemäße Verfahren liefert einen Steuermechanismus für Datenverarbeitungsvorgänge, der universell zur Steuerung der auf dem Datenverarbeitungssystem ablaufenden Datenverarbeitungsvorgänge unabhängig von der Zusammensetzung des Datenverarbeitungssystems, d. h. Anzahl und Lokalität der einzelnen Systemkomponenten, und unabhängig von der Komplexität der zu bearbeitenden Prozesse eingesetzt werden kann. Darüberhinaus ist das Verfahren schnell und weitgehend ohne Betriebsunterbrechung umkonfigurierbar und auf andere Datenverarbeitungsgrößenordnungen sowohl hinsichtlich der beteiligten Systemkomponenten als auch der Datenmengen oder der Systemkomplexität skalierbar.The method according to the invention provides a control mechanism for Data processing operations that are universal for controlling the on the  Data processing system independent data processing operations the composition of the data processing system, d. H. Number and Locality of the individual system components, and regardless of the complexity the processes to be processed can be used. Furthermore, that is The process can be reconfigured quickly and largely without interrupting operations and on other computing orders of magnitude both in terms of involved system components as well as the amount of data or the System complexity scalable.

Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen beschrieben.Advantageous developments of the invention are in the subclaims described.

Vorzugsweise empfängt ein Funktionsmodul bei einem Aufruf wenigstens einen Eingangswert und gibt nach Beendigung der Funktion einen Ausgangswert weiter. Dabei sind Eingangs- und Ausgangswerten vorzugsweise bestimmte Namen zugeordnet, wobei der Name des Eingangswertes eines Funktionsmoduls dem Namen des Ausgangswertes eines im Prozessablauf vorangehenden Funktionsmoduls entspricht. Die Eingangs- bzw. Ausgangswerte werden vorzugsweise in einer Hash-Tabelle vorübergehend gespeichert und sind unter dem gegebenen Namen abrufbar. So kann eine sichere und nachprüfbare Parameterübergabe von einem Funktionsmodul zum nächsten Funktionsmodul gewährleistet werden.A function module preferably receives when called at least one input value and gives one after the function has ended Initial value continues. Input and output values are preferred assigned certain names, the name of the input value of a Function module the name of the output value of one in the process flow corresponds to the previous function module. The input or output values are preferably temporarily stored in a hash table and are available under the given name. So can be a safe and verifiable Passing parameters from one function module to the next function module be guaranteed.

Mittels der Steuermodule, die die Abfolge der einzelnen Funktionsmodule in einer Prozessablaufbeschreibung bestimmen, sind eine Vielzahl von Prozessabfolgen, insbesondere auch nichtlineare Prozessabläufe bestimmbar. Vorzugsweise ist ein Start-Modul zur Bestimmung eines Startpunktes eines Prozessablaufes (einer Prozessablaufbeschreibung) vorgesehen, wobei dem Start-Modul ein bestimmter Name zugewiesen wird, mit dem die Prozessablaufbeschreibung, ggf. auch als Unter-Modul aufrufbar ist. Using the control modules, the sequence of each Determine function modules in a process flow description are one Numerous process sequences, especially non-linear process sequences determinable. A start module is preferably used to determine a start point a process flow (a process flow description) provided, the Start module is assigned a specific name with which the Description of the process flow, possibly also as a sub-module.  

Es sind vorzugsweise Steuermodule für weitere Prozessabläufe wie bedingte Verzweigungen, Sprünge (mit und ohne Rücksprung), Zusammenführung zweier Prozessabläufe und Prozessende vorgesehen.There are preferably control modules for further process flows such as conditional branches, jumps (with and without return), merging two process flows and process end provided.

Zur Erstellung eines Prozessablaufes bzw. zur Abbildung eines Geschäftsprozesses als Ablauf von Datenverarbeitungsvorgängen definiert der Benutzer die Abfolge der Funktionsmodule und Steuermodule für den gewünschten Prozessablauf. Dabei sind die Funktionsmodule selbst durch den Benutzer beliebig variierbar, während die Steuermodule eine standardisierte Struktur aufweisen. Die Zusammenstellung einer Prozessablaufbeschreibung aus Funktions- und Steuermodulen erfolgt vorzugsweise mit Hilfe einer graphischen Benutzerschnittstelle. Dabei kann eine Ablaufprüfung einer neuen oder geänderten Prozessablaufbeschreibung durchgeführt werden, wobei die Namen der Ausgangswerte der Funktionsmodule mit den Namen der Eingangswerte der jeweils nachfolgenden Funktionsmodule auf Übereinstimmung überprüft werden.To create a process flow or to map a The business process is defined as the sequence of data processing operations User the sequence of function modules and control modules for the desired Process flow. The function modules themselves are arbitrary by the user variable, while the control modules have a standardized structure. The Compilation of a process flow description from functional and Control modules are preferably made using a graphic User interface. A process check of a new or changed one can be done Process flow description are carried out, with the names of the Output values of the function modules with the names of the input values of the subsequent function modules are checked for agreement.

Das Prozessablaufbeschreibungs-Konzept erlaubt eine Veränderung oder Anpassung von Prozessabläufen ohne Betriebsunterbrechungen. Während die alte Prozessablaufbeschreibung noch im Datenverarbeitungssystem gespeichert ist und zur Benutzung zur Verfügung steht, wird mittels der graphischen Benutzerschnittstelle die neue Prozessablaufbeschreibung erstellt und ggf. überprüft. Ohne Zeitverlust, und zunächst ohne die bisherige Prozessablaufbeschreibung zu entfernen, kann auf die neue Prozessablaufbeschreibung gewechselt werden.The process flow description concept allows a change or adaptation of process flows without business interruptions. While the old process flow description still in the data processing system is stored and available for use, is by means of the graphical user interface created and the new process flow description checked if necessary. Without wasting time, and initially without the previous one Removing process flow description can be done on the new Process flow description can be changed.

Erfindungsgemäß wird ausserdem ein Computerprogramm vorgeschlagen, aufweisend: eine Schnittstelle zum Empfang externer und/oder interner Datenverarbeitungsanforderungen zur Durchführung eines Datenverarbeitungsprozesses, Funktionsmodule zur Ausführung von Datenverarbeitungsvorgängen auf einem Datenverarbeitungssystem, Steuermodule zur Festlegung von Verknüpfungen zwischen den Funktionsmodulen, Prozessablaufbeschreibungen zur Definition eines Prozessablaufes mittels einer Abfolge von Funktions- und Steuermodulen, und eine Prozessoreinheit zum Aufruf von Funktionsmodulen und Steuermodulen entsprechend einem durch eine Prozessablaufbeschreibung definierten Prozessablauf.A computer program is also according to the invention proposed, comprising: an interface for receiving external and / or internal data processing requirements to perform a Data processing process, function modules for executing Data processing operations on a data processing system, control modules for establishing links between the function modules, Process flow descriptions to define a process flow using a  Sequence of function and control modules, and a processor unit for calling of function modules and control modules corresponding to one by one Process flow description defined process flow.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Server-Computer zur Verwendung in einem Computernetzwerk vorgeschlagen, aufweisend: eine Schnittstelle zum Empfang einer Datenverarbeitungsanforderung zur Durchführung eines Datenverarbeitungsprozesses, einen Speicher zur Speicherung von Funktionsmodulen zur Bestimmung vorkonfigurierbarer Datenverarbeitungsvorgänge auf dem Computernetzwerk, einen Speicher zur Speicherung von Steuermodulen zur Bestimmung von Verknüpfungen der Funktionsmodule untereinander, einen Speicher zur Speicherung von Prozessablaufbeschreibungen, die einen Prozessablauf durch eine Abfolge von Funktionsmodulen und Steuermodulen definieren, einen Steuerprozessor zur Auswahl und zum Aufruf einer Prozessablaufbeschreibung entsprechend der empfangenen Datenverarbeitungsanforderung, und zur Durchführung des Datenverarbeitungsprozesses durch Aufruf der durch die Prozessablaufbeschreibung bestimmten Abfolge von Funktionsmodulen und Steuermodulen.According to another aspect of the present invention, a Server computers proposed for use in a computer network, comprising: an interface for receiving a data processing request to carry out a data processing process, a memory for Storage of function modules to determine preconfigurable Data processing operations on the computer network, a memory for Storage of control modules for determining links of the Function modules with each other, a memory for storing Process flow descriptions that show a process flow through a sequence of Function modules and control modules define a control processor for Selection and for calling up a process flow description according to the received data processing request, and to perform the Data processing process by calling the through the Process flow description certain sequence of function modules and Control modules.

Die Erfindung wird im folgenden beispielhaft anhand von bevorzugten Ausführungsbeispielen unter Bezugnahme auf die beiliegenden Zeichnungen im Detail erläutert, in denen:The invention is illustrated below with reference to preferred ones Embodiments with reference to the accompanying drawings in Explained in detail in which:

Fig. 1 eine schematische Illustration zur Erläuterung der Funktionsweise der vorliegenden Erfindung ist; Fig. 1 is a schematic illustration for explaining the operation of the present invention;

Fig. 2 eine schematische Darstellung einer beispielhaften Hardware- Konfiguration ist, auf der die Erfindung anwendbar ist; Fig. 2 is a schematic diagram of an exemplary hardware configuration on which the invention is applicable;

Fig. 3 eine schematische Darstellung von Verfahrensschritten gemäß der vorliegenden Erfindung ist; . 3 is a schematic illustration of method steps of the present invention is according to Fig;

Fig. 4 eine schematische Darstellung der Speicherung von Eingangswerten und Ausgangswerten der Funktionsmodule in der Hash-Tabelle ist; Fig. 4 is a schematic representation of the storage of input values and output values of the function modules in the hash table;

Fig. 5 eine schematische Darstellung eines Beispiels einer Prozessablaufbeschreibung gemäß der Erfindung ist; . 5 is a schematic representation of Fig an example of a process flow description of the invention;

Fig. 6 ein weiteres Beispiel einer Prozessablaufbeschreibungs- Konfiguration gemäß der Erfindung zeigt; und Fig. 6 shows another example of a Prozessablaufbeschreibungs- configuration according to the invention; and

Fig. 7 eine vereinfacht dargestellte Prozessablaufbeschreibungs- Konfiguration zur Ausführung einer Bestellung über das Internet zeigt. Fig. 7 shows a simplified representation of Prozessablaufbeschreibungs- configuration for carrying out an order over the Internet.

Das erfindungsgemäße Verfahren und das erfindungsgemäße Computerprogramm zur Steuerung von Datenverarbeitungsvorgängen auf einem Datenverarbeitungssystem wird im folgenden anhand der beiliegenden Zeichnungen erläutert. Fig. 1 zeigt ein schematisches Blockdiagramm zur Erläuterung der Funktionsweise des erfindungsgemäßen Verfahrens. Ein Prozessor 10 ist mittels einer Eingabe/Ausgabeeinheit 11 über ein geeignetes Netzwerk wie etwa das Internet mit einem Client 12 verbunden. Bei dem Client kann es sich um einen Heim-PC oder auch ein anderes Endgerät wie ein Mobiltelefon mit Internetanschluss oder dgl. handeln. Selbstverständlich ist der Prozessor 10 über das Internet mit einer beliebigen Anzahl von Clients oder auch anderen Server- Computern verbindbar.The method according to the invention and the computer program according to the invention for controlling data processing operations on a data processing system are explained below with reference to the accompanying drawings. Fig. 1 shows a schematic block diagram for explaining the operation of the inventive method. A processor 10 is connected to a client 12 by means of an input / output unit 11 via a suitable network, such as the Internet. The client can be a home PC or another end device such as a mobile phone with an Internet connection or the like. Of course, processor 10 can be connected to any number of clients or other server computers via the Internet.

Der Prozessor 10 stellt die zentrale Steuereinheit zur Steuerung der Datenverarbeitungsvorgänge auf dem Datenverarbeitungssystem dar. Dieses besteht aus physikalischen und logischen Systemkomponenten (Hardware und Software), die über ein zur Datenübertragung geeignetes Medium miteinander verbunden sind. Die Hardware-Konfiguration ist schematisch in Fig. 2 dargestellt. Ein Server 70 ist über ein Datenübertragungsmedium wie das Internet mit einem Client 72 wie auch einem weiteren Server 71, beispielsweise eines Lieferanten verbunden. Ein wesentliches Merkmal der vorliegenden Erfindung ist, dass die Datenverarbeitung nicht an eine bestimmte Hardwarekonfiguration gebunden ist, sondern auf verschiedenen, räumlich voneinander getrennten Systemkomponenten ablaufende Datenverarbeitungsvorgänge zentral mittels des Prozessors 10 gesteuert werden. Der Prozessor 10 ist somit nicht als Hardwarekomponente, sondern als Steuerprogramm zu verstehen, das das Zusammenwirken verschiedener miteinander kommunizierender physikalischer und logischer Systemkomponenten steuert. Der Ablaufplan eines bestimmten Datenverarbeitungsvorgangs ist jeweils in einer Prozessablaufbeschreibung 100 festgelegt. Diese werden in einem Speicher 20 abgelegt. Eine Prozessablaufbeschreibung 100 setzt sich zusammen aus mehreren Funktionsmodulen 101 und Steuermodulen 102. Für die Funktionsmodule ist ein Speicher 30 und für die Steuermodule ein Speicher 40 vorgesehen. Ein Funktionsmodul ist ein in sich abgeschlossenes, maschinenlesbares Programm zur Durchführung einer bestimmten Funktionalität, etwa der Ausführung einer numerischen Berechnung oder der Erzeugung eines Ausdrucks. Welcher Art die Funktionalität eines Funktionsmoduls ist, richtet sich nach dem jeweils gewünschten konkreten Anwendungszweck. Zur Durchführung der Funktionalität benötigen die Funktionsmodule Eingangswerte und erzeugen nach Durchführung der Funktion Ausgangswerte. Diese Werte werden jeweils in einer sogenannten Hash-Tabelle 50 gespeichert, wie später mit Bezugnahme auf Fig. 4 im Detail erläutert werden wird.The processor 10 represents the central control unit for controlling the data processing processes on the data processing system. This consists of physical and logical system components (hardware and software) which are connected to one another via a medium suitable for data transmission. The hardware configuration is shown schematically in FIG. 2. A server 70 is connected to a client 72 and also to a further server 71 , for example a supplier, via a data transmission medium such as the Internet. An essential feature of the present invention is that the data processing is not tied to a specific hardware configuration, but rather that data processing operations which run on different, spatially separate system components are controlled centrally by means of the processor 10 . The processor 10 is therefore not to be understood as a hardware component, but rather as a control program that controls the interaction of various physical and logical system components that communicate with one another. The flow chart of a specific data processing operation is defined in a process flow description 100 . These are stored in a memory 20 . A process flow description 100 is composed of several function modules 101 and control modules 102 . A memory 30 is provided for the functional modules and a memory 40 for the control modules. A function module is a self-contained, machine-readable program for performing a certain functionality, such as performing a numerical calculation or generating a printout. The type of functionality of a function module depends on the specific application you want. To carry out the functionality, the function modules require input values and generate output values after the function has been carried out. These values are each stored in a so-called hash table 50 , as will be explained in detail later with reference to FIG. 4.

Da die Beziehungen der einzelnen Systemkomponenten des Datenverarbeitungssystems nicht direkt, sondern über die Funktionsmodule definiert werden, muss für eine Konfigurationsänderung des Systems nicht jede Systemkomponente in seiner Beziehung zu den anderen angepasst werden. Der Zeitaufwand zur Anpassung von Kommunikationsprotokollen und Schnittstellen kann so erheblich reduziert werden. Dabei spielt es keine Rolle, ob die Systemkomponenten räumlich voneinander getrennt sind. Um die Funktionalität des Datenverarbeitungssystems durch Hinzufügung, Änderung oder Ersetzung von Ausführungsschritten zu modifizieren, können, wie später im Detail erläutert wird, einzelne Funktionsmodule hinzugefügt, ausgetauscht oder ersetzt werden.Since the relationships of the individual system components of the Data processing system not directly, but via the function modules need not be defined for a configuration change of the system System component in its relationship to the others to be adjusted. The Time spent adapting communication protocols and interfaces can be reduced significantly. It does not matter whether the System components are spatially separated from each other. To functionality of the data processing system by adding, changing or replacing Modifying execution steps can, as will be explained in detail later, individual function modules are added, exchanged or replaced.

Um aus den einzelnen durch die Funktionsmodule bestimmten Ausführungsschritten einen komplexen Datenverarbeitungsprozess zu realisieren, müssen die Funktionsmodule miteinander kommunizieren. Dies wird über eine sogenannte Hash-Tabelle ermöglicht. Jedes Funktionsmodul hat sowohl für seine Eingabewerte als auch für seine Ausgabewerte Namen, die in der Hash-Tabelle 50, welche bei Aufruf eines bestimmten Funktionsmoduls angelegt wird, gelistet (siehe Fig. 4) werden. Jedes Funktionsmodul speichert während des Prozessablaufes seine Ausgabewerte unter den entsprechenden Namen wiederum in der Hash- Tabelle 50 ab. Ein innerhalb des Prozessablaufes folgendes Funktionsmodul hat für seine Eingangswerte die gleichen Namen. Es sucht in der Hash-Tabelle 50 nach diesen Namen und übernimmt die darunter vom vorangehenden Funktionsmodul abgespeicherten Werte als seine Eingangswerte und führt seine spezifische Funktionalität durch. Nach Ablauf des gesamten Prozessablaufes am Ende der Prozessablaufbeschreibung wird die Hash-Tabelle gelöscht.In order to implement a complex data processing process from the individual execution steps determined by the function modules, the function modules must communicate with one another. This is made possible by a so-called hash table. Each function module has names for both its input values and for its output values, which are listed in the hash table 50 , which is created when a specific function module is called (see FIG. 4). Each function module stores its output values under the corresponding names in turn in hash table 50 during the process flow. A function module that follows within the process flow has the same name for its input values. It searches for these names in the hash table 50 and accepts the values stored below by the preceding function module as its input values and carries out its specific functionality. The hash table is deleted after the entire process flow at the end of the process flow description.

Eine Prozessablaufbeschreibung weist neben den Funktionsmodulen Steuermodule auf, die die Verknüpfung der Funktionsmodule untereinander festlegt. Während die Funktionsmodule gemäß den Wünschen des Anwenders konfigurierbar sind, haben die Steuermodule eine standardisierte Struktur, die die Ablauffähigkeit einer Prozessablaufbeschreibung sicherstellt. Die Steuermodule stellen im Prinzip die Knotenpunkte dar, mittels derer die Funktionsmodule verknüpft werden können. Sie definieren den Beginn, den Verlauf und das Ende eines Prozessablaufes. Insbesondere ermöglichen sie die Verbindung von Prozessabläufen durch Verknüpfung der dafür geschaffenen Funktionsmodule. Die Steuermodule sind ebenfalls in maschinenlesbarer Form implementiert.A process flow description shows the function modules Control modules that link the functional modules with each other specifies. While the functional modules according to the wishes of the user are configurable, the control modules have a standardized structure that the Ensures the executability of a process flow description. The control modules in principle represent the nodes by means of which the function modules can be linked. They define the beginning, the course and the end a process flow. In particular, they enable the connection of Process flows by linking the function modules created for this. The Control modules are also implemented in machine-readable form.

Im folgenden werden einige wichtige Typen von Steuermodulen definiert. Es sei jedoch darauf hingewiesen, dass die Erfindung keineswegs auf die hier beschriebenen Typen von Steuermodulen beschränkt ist, sondern es im Belieben des Fachmannes liegt, nach seinen Wünschen und Anforderungen geeignete Steuermodule zu definieren.Some important types of control modules are defined below. However, it should be noted that the invention is in no way related to the here described types of control modules is limited, but it is at will the expert is suitable according to his wishes and requirements Define control modules.

Start-ModulStart module

Jede Prozessablaufbeschreibung hat einen Startpunkt, an dem die Ausführung eines Prozessablaufes beginnt. Jeder Startpunkt hat einen Namen, der zum Aufrufen der entsprechenden Prozessablaufbeschreibung verwendet wird, in dem in Fig. 5 gezeigten Beispiel sind die beiden Startpunkte mit den Namen "PAB 1" und "PAB 2" versehen. Bei einer externen Datenverarbeitungsanforderung ruft der Client vorzugsweise eine URL auf, welche den Namen der Prozessablaufbeschreibung enthält, wodurch der entsprechende Prozessablauf gestartet wird. Selbstverständlich kann sich der Ort der Ausführung eines Datenverarbeitungsvorgangs im Laufe der Ausführung einer Prozessablaufbeschreibung wieder ändern. Das Start-Modul kann auch festlegen, welche Parameter für den Aufruf der Prozessablaufbeschreibung erforderlich sind bzw. welche optionalen Parameter vorhanden sind. Eine Prozessablaufbeschreibung kann auch zwei Startpunkte haben, wie in Fig. 6 illustriert ist.Each process flow description has a starting point at which the execution of a process flow begins. Each starting point has a name that is used to call up the corresponding process flow description . In the example shown in FIG. 5, the two starting points are given the names "PAB 1 " and "PAB 2 ". In the case of an external data processing request, the client preferably calls up a URL which contains the name of the process flow description, whereby the corresponding process flow is started. Of course, the location of the execution of a data processing process can change again in the course of the execution of a process flow description. The start module can also determine which parameters are required to call the process flow description or which optional parameters are available. A process flow description can also have two starting points, as illustrated in FIG. 6.

End-ModulEnd module

Jeder Prozessablauf hat ausserdem einen oder mehrere Endpunkte. Ein End-Modul beendet die Ausführung einer Prozessablaufbeschreibung. Ist eine Prozessablaufbeschreibung als Subroutine aufgerufen worden, so kehrt die Ausführung am Endpunkt zu dem Hauptprozess zurück (vgl. Pipeline 2 in Fig. 5).Each process flow also has one or more endpoints. An end module ends the execution of a process flow description. If a process flow description has been called as a subroutine, execution returns to the main process at the end point (cf. Pipeline 2 in FIG. 5).

Entscheidungs-ModulDecision module

Ein Entscheidungs-Modul (decision node) hat die Funktion, abhängig von den Eingangswerten den Prozess unterschiedlich weiterverlaufen zu lassen, also beispielsweise zwischen zwei Systemkomponenten zu wählen, die in die weitere Prozessabwicklung mit einbezogen werden sollen. Die Funktionalität dieses Steuermoduls entspricht einer "if-then-else"-Verzweigung in einem Computerprogramm. Liegt beispielsweise ein übergebener Parameterwert unterhalb eines Schwellenwertes, wird ein erster Prozessverlauf gewählt, liegt der Wert darüber, wird ein zweiter Prozessverlauf gewählt. Schematisch dargestellt ist ein Entscheidungs-Modul 203 in Fig. 5 durch die Raute mit Fragezeichen. A decision module has the function of allowing the process to proceed differently depending on the input values, for example to choose between two system components that are to be included in the further process handling. The functionality of this control module corresponds to an "if-then-else" branch in a computer program. If, for example, a transferred parameter value is below a threshold value, a first process course is selected; if the value is above this, a second process course is selected. A decision module 203 is shown schematically in FIG. 5 by the diamond with question marks.

Zusammenfügungs-ModulAssembly module

Das Zusammenfügungs-Modul ist das Gegenstück zum Verzweigungsmodul und führt zwei Prozessverlaufsäste zu einem zusammen, wie etwa die Äste PAB 1.1 und PAB 1.2. in Fig. 6.The assembly module is the counterpart to the branching module and brings two process flow branches together, such as branches PAB 1.1 and PAB 1.2 . in Fig. 6.

Aufruf-ModulCall module

Das Aufruf-Modul ist ein Steuermodul, das eine andere Prozessablaufbeschreibung als Unterprogramm aufruft und nach Abarbeitung der aufgerufenen Prozessablaufbeschreibung wieder zum ursprünglichen Prozessverlauf zurückkehrt. Die Funktionalität dieses Steuermoduls entspricht dem Programmierbefehl "go sub".The call module is one control module, another one Calls process description as a subroutine and after processing the called process flow description back to the original Process returns. The functionality of this control module corresponds to that Programming command "go sub".

In Fig. 5 ist das Aufruf-Steuermodul 207 illustriert, das die Prozessablaufbeschreibung 2 aufruft. Am Endpunkt der Prozessablaufbeschreibung 2 kehrt die Prozessverarbeitung zum Ursprungspunkt zurück.In FIG. 5, the call control module is illustrated 207 that calls the process flow Description 2. At the end point of process flow description 2 , process processing returns to the point of origin.

Sprung-ModulJump module

Dieses Steuermodul führt einen Sprung zu einem Startpunkt einer anderen Pipeline durch, ohne zum Ausgangspunkt zurückzukehren. Die Funktionalität entspricht somit dem Programmierbefehl "go to". Dies ist beispielhaft in Fig. 6 gezeigt, wo das Sprung-Modul 225 "Sprung P2" einen Prozessablaufsprung zur Prozessablaufbeschreibung 2 veranlasst.This control module jumps to a starting point of another pipeline without returning to the starting point. The functionality thus corresponds to the "go to" programming command. This is shown by way of example in FIG. 6, where the jump module 225 “jump P2” initiates a process flow jump to process flow description 2 .

Interaktions-ModulInteraction module

Das Interaktions-Steuermodul wird benutzt, um innerhalb eines Prozessablaufes die Möglichkeit einzuräumen, eine Interaktion mit einem Benutzer durchzuführen, d. h. die Eingabe von Daten durch Aktivierung einer Eingabeeinheit zu ermöglichen. Für die Visualisierung werden Daten benutzt, die vorher in der Hash-Tabelle abgespeichert wurden. Die eingegebenen Daten werden dann ebenfalls in der Hash-Tabelle abgespeichert.The interaction control module is used to operate within a Process flow to give the opportunity to interact with a user perform, d. H. the input of data by activating an input unit  to enable. For the visualization, data is used that was previously in the Hash table have been saved. The entered data will then also stored in the hash table.

Beispiele möglicher Prozessablaufbeschreibungen werden im folgenden anhand der Fig. 5 bis. 7 erläutert. Fig. 5 zeigt eine Prozessablaufbeschreibung 1 beginnend mit dem Start-Modul 201 mit Namen "PAB 1", auf welches ein Funktionsmodul 202 "Funktionsmodul A" folgt. Nach einem Verzweigungs-Modul 203 geht der Prozess entweder weiter zu dem Funktionsmodul "Funktionsmodul B" oder zum Aufruf-Steuermodul 207 "call PL2", mit welchem die Prozessablaufbeschreibung 2 aufgerufen wird. Diese weist die beiden Funktionsmodule 212 "Funktionsmodul D" und 213 "Funktionsmodul E" auf, nach deren Abarbeitung der Prozess zum Steuer-Modul 207 zurückkehrt und anschließend das Funktionsmodul 208 "Funktionsmodul C" abgearbeitet wird, woraufhin die Verarbeitung mit einem End-Modul 209 endet.Examples of possible process flow descriptions are described below with reference to FIGS. 5 to. 7 explained. FIG. 5 shows a process flow description 1 starting with the start module 201 with the name "PAB 1 ", followed by a function module 202 "function module A". After a branching module 203 , the process either continues to the function module “function module B” or to the call control module 207 “call PL2”, with which the process flow description 2 is called. This has the two function modules 212 "function module D" and 213 "function module E", after their processing the process returns to the control module 207 and then the function module 208 "function module C" is processed, whereupon the processing with an end module 209 ends.

Fig. 6 zeigt eine erste Pipeline mit zwei Startpunkten 220 "PAB 1.1" und 221 "PAB 1.2", die in einem Zusammenfügungs-Modul 224 zusammenlaufen. Anschließend befindet sich in der Prozessablaufbeschreibung ein Sprung-Modul 225 "Sprung P2", das einen Sprung des Prozesses zum Start-Modul 226 der Prozessablaufbeschreibung 2 veranlasst. FIG. 6 shows a first pipeline with two starting points 220 "PAB 1.1 " and 221 "PAB 1.2 ", which converge in an assembly module 224 . Then there is a jump module 225 "jump P2" in the process flow description, which causes the process to jump to the start module 226 of process flow description 2 .

Die Funktionsweise des erfindungsgemäßen Verfahrens wird nun unter Bezugnahme auf Fig. 2 und auf Fig. 7, die das Beispiel einer vereinfachten Bestellungs-Prozessablaufbeschreibung zeigt, erläutert. Zunächst empfängt der Prozessor 10 in einem Schritt S2 (Fig. 3) beispielsweise von einem über Internet angeschlossenen Client-Computer eine Datenverarbeitungsanforderung, eine Bestellung auszuführen. Der Prozessor 10 wählt aus den gespeicherten Prozessablaufbeschreibungen die zugehörige Prozessablaufbeschreibung aus und arbeitet nach der dort gespeicherten Beschreibung die einzelnen Funktionsmodule ab, indem er auf die entsprechenden Speicher der Funktionsmodule und der Steuermodule zugreift. Mit dem Aufruf des Start-Moduls wird gleichzeitig die Hash- Tabelle 50 angelegt, welche die Kommunikation der Funktionsmodule und Steuermodule ermöglicht.The method of operation of the method according to the invention will now be explained with reference to FIG. 2 and to FIG. 7, which shows the example of a simplified order process flow description. First, in a step S2 ( FIG. 3) the processor 10 receives, for example, a data processing request from an internet-connected client computer to execute an order. Processor 10 selects the associated process flow description from the stored process flow description and processes the individual function modules according to the description stored there by accessing the corresponding memories of the function modules and of the control modules. When the start module is called, the hash table 50 is created at the same time, which enables the communication of the function modules and control modules.

Nach dem Start-Modul 240 geht die Verarbeitung weiter zum Entscheidungs-Modul 241, wo geprüft wird, ob der Teilnehmer bereits registriert ist. Ist dies der Fall, geht die Verarbeitung weiter zum Zusammenfügungs-Modul 244. Ist eine Registrierung noch nicht vorhanden, wird mittels des Aufruf-Moduls 242 die Prozessablaufbeschreibung "PL Registrierung" mit Start-Modul 270 aufgerufen. Mittels des Interaktions-Moduls 271 kann der Benutzer die für die Registrierung erforderlichen Eingaben wie Name, Adresse usw. vornehmen. Diese Werte werden in der Hash-Tabelle abgespeichert. Das folgende Funktionsmodul 272 liest die Werte aus der Hash-Tabelle als seine Eingangswerte aus und führt die Registrierung durch. Nach dem End-Modul 273 kehrt die Verarbeitung zurück in die Prozessablaufbeschreibung "Bestellung", woraufhin im Entscheidungs-Modul 243 die Registrierung noch einmal überprüft wird. War die Registrierung nicht erfolgreich, so wird dies dem Benutzer im Funktionsmodul 246 angezeigt und der Prozessablauf mit End-Modul 247 beendet. Andernfalls geht die Verarbeitung über das Zusammenfügungs-Modul 244 weiter zum Bestell-Modul 250, welches einen virtuellen Bestellkatalog oder dgl. anzeigt, aus welchem der Kunde Waren auswählen kann. Den Produkten sind IDs zugeordnet, welche über die Hash- Tabelle von den folgenden Funktionsmodulen weitergeleitet bzw. weiterverarbeitet werden. Die Verarbeitung geht dann weiter zum Funktionsmodul 251, welches eine Verbindung zu einem externen Server (nicht dargestellt) herstellt, der die Preisberechnung durchführt und das Ergebnis wieder zurückliefert. Im folgenden Entscheidungs-Modul 252 wird abgefragt, ob der Benutzer die Bestellung löscht oder nicht. Ist dies der Fall, so werden die durchgeführten Vorgänge mit Ausnahme der Registrierung vom Funktionsmodul 255 gelöscht und die Verarbeitung endet mit dem End-Modul 256. Wird der Auftrag vom Benutzer bestätigt, so wird mittels des Aufruf-Moduls 253 die Auftragsabwicklung, die an externen Servern (vgl. Server 71 in Fig. 2) von verschiedenen Lieferanten durchgeführt werden kann, aufgerufen. Dabei werden die benötigten Daten wiederum mittels der Hash-Tabelle übergeben. Die Prozessablaufbeschreibungen zur Durchführung der Auftragsabwicklung sind in Fig. 7 nicht dargestellt. Nach Abwicklung der Bestellung kehrt die Verarbeitung zurück zur Bestellungs-Prozessablaufbeschreibung und endet mit End-Modul 254.After the start module 240 , processing continues to decision module 241 , where it is checked whether the subscriber is already registered. If so, processing continues to merge module 244 . If registration is not yet available, the process sequence description “PL registration” is called with start module 270 by means of the call module 242 . The interaction module 271 enables the user to make the entries, such as name, address, etc., required for registration. These values are stored in the hash table. The following function module 272 reads the values from the hash table as its input values and carries out the registration. After the end module 273 , the processing returns to the process flow description "order", whereupon the registration module 243 checks the registration again. If the registration was not successful, this is displayed to the user in the function module 246 and the process sequence is ended with the end module 247 . Otherwise, processing continues via the assembly module 244 to the order module 250 , which displays a virtual order catalog or the like, from which the customer can select goods. The products are assigned IDs which are forwarded or processed by the following function modules via the hash table. Processing then continues to function module 251 , which establishes a connection to an external server (not shown), which carries out the price calculation and returns the result. The following decision module 252 asks whether the user deletes the order or not. If this is the case, the operations performed, with the exception of the registration, are deleted by the function module 255 and the processing ends with the end module 256 . If the order is confirmed by the user, the order processing, which can be carried out by different suppliers on external servers (cf. server 71 in FIG. 2), is called up by means of the call module 253 . The required data is then transferred using the hash table. The process flow descriptions for carrying out the order processing are not shown in FIG. 7. After the order has been processed, processing returns to the description of the order process flow and ends with end module 254 .

Vorzugsweise können Prozessabläufe auch im Hintergrund aufgrund von internen Ereignissen gestartet werden. Es ist beispielsweise möglich, dass ein interner Automatismus wie etwa eine Zeitschaltung, ein Zähler o. dgl. in regelmäßigen Abständen bestimmte Prozessabläufe anstösst.Processes can preferably also run in the background due to internal events are started. For example, it is possible that a internal automatism such as a timer, a counter or the like in initiates certain processes at regular intervals.

Vorzugsweise weist das erfindungsgemäße Datenverarbeitungssystem einen Prozessablaufbeschreibung-Editor mit einer Anzeigeeinheit zur graphischen Darstellung der Funktionsmodule und Steuermodule einer Prozessablaufbeschreibung auf. Mittels einer graphischen Benutzeroberfläche ermöglicht der Prozessablaufbeschreibung-Editor ausserdem die Modifikation bestehender Prozessabläufe und die Erzeugung neuer Prozessablaufbeschreibungen. Vorzugsweise weist der Prozessablaufbeschreibung-Editor weiterhin die Möglichkeit einer formalen Prüfung einer neu erzeugten oder geänderten Prozessablaufbeschreibung auf, in dem die Namen der Ausgangswerte der Funktionsmodule mit den Namen der Eingangswerte der in dem Prozessablauf folgenden Funktionsmodule auf Übereinstimmung überprüft werden.The data processing system according to the invention preferably has a process flow description editor with a display unit for graphical Representation of the function modules and control modules of a Process flow description on. Using a graphical user interface The process flow description editor also enables modification existing processes and creating new ones Process flow descriptions. Preferably, the Process flow description editor still the possibility of a formal check a newly created or changed process flow description in which the Names of the output values of the function modules with the names of the Input values of the function modules following in the process flow Be checked.

So ermöglicht es die vorliegende Erfindung, einen Steuermechanismus für komplexe und lokal verteilte Datenverarbeitungsvorgänge mittels vorgefertigter Bausteine, den Funktions- und Steuermodulen zu entwickeln. Eine Anpassung der Datenverarbeitungsvorgänge an neue Gegebenheiten kann auf einfache Weise und ohne Funktionsunterbrechung durch Austausch geeigneter Funktions- und Steuermodule benutzerfreundlich mittels einer graphischen Benutzerschnittstelle erfolgen.Thus, the present invention enables a control mechanism for complex and locally distributed data processing processes using pre-made Building blocks to develop the function and control modules. An adaptation of the Data processing operations to new circumstances can easily and without interrupting the function by exchanging suitable function and Control modules user-friendly by means of a graphical user interface respectively.

Claims (39)

1. Verfahren zur Steuerung von Datenverarbeitungsvorgängen auf einem Datenverarbeitungssystem vorzugsweise bestehend aus mehreren räumlich ge­ trennten, über ein Datenübertragungsmedium kommunizierenden Systemkompo­ nenten, aufweisend die Schritte:
  • - Empfang einer Datenverarbeitungsanforderung zur Durchführung eines Daten­ verarbeitungsprozesses,
  • - Auswahl einer der empfangenen Datenverarbeitungsanforderung entsprechen­ den Prozessablaufbeschreibung, welche den Ablauf des Datenverarbeitungsprozesses durch eine Abfolge von Funktionsmodulen und Steuermodulen definiert,
  • - Ausführung des Datenverarbeitungsprozesses durch Aufruf der Funktionsmo­ dule und Steuermodule entsprechend der Prozessablaufbeschreibung,
wobei ein Funktionsmodul jeweils eine in sich abgeschlossene Einheit zur Ausführung von Datenverarbeitungsvorgängen auf dem Datenverarbeitungssystem ist und ein Steuermodul jeweils die Verknüpfungen der Funktionsmodule untereinander festlegt.
1. A method for controlling data processing operations on a data processing system, preferably consisting of several spatially separated system components communicating via a data transmission medium, comprising the steps:
  • Receiving a data processing request to carry out a data processing process,
  • Selection of one of the received data processing requests corresponds to the process flow description, which defines the flow of the data processing process through a sequence of function modules and control modules,
  • - Execution of the data processing process by calling the function modules and control modules according to the process flow description,
wherein a function module is in each case a self-contained unit for executing data processing operations on the data processing system and a control module defines the links between the function modules.
2. Verfahren nach Anspruch 1, wobei die Funktionsmodule Datenverarbeitungsvorgänge auf mehreren, räumlich getrennten Datenverarbeitungssystemkomponenten steuern.2. The method according to claim 1, wherein the functional modules Data processing operations on several, spatially separated Control data processing system components. 3. Verfahren nach Anspruch 1 oder 2, wobei ein Funktionsmodul bei ei­ nem Aufruf wenigstens einen Eingangswert empfängt und nach Ablauf wenigstens einen Ausgabewert weitergibt.3. The method according to claim 1 or 2, wherein a function module in egg nem call receives at least one input value and at least after expiration passes an output value. 4. Verfahren nach Anspruch 3, wobei den Eingangswerten und den Aus­ gangswerten jeweils bestimmte Namen zugeordnet sind. 4. The method of claim 3, wherein the input values and the off specific values are assigned to each of the initial values.   5. Verfahren nach Anspruch 4, wobei eine Hash-Tabelle zur vorüberge­ henden Speicherung der Eingangswerte und Ausgangswerte unter ihren jeweiligen Namen vorgesehen ist.5. The method of claim 4, wherein a hash table for passing the input values and output values are saved under their respective values Name is provided. 6. Verfahren nach Anspruch 5, wobei der Name des Eingangswertes ei­ nes Funktionsmoduls dem Namen des Ausgangswertes eines in dem jeweiligen Prozessablauf vorangehenden Funktionsmoduls entspricht.6. The method of claim 5, wherein the name of the input value ei nes function module the name of the output value of one in the respective Process flow corresponds to the previous function module. 7. Verfahren nach einem der Ansprüche 5 bis 6, wobei die Hash-Tabelle nach Beendigung des Prozessablaufes gelöscht wird.7. The method according to any one of claims 5 to 6, wherein the hash table is deleted after the end of the process. 8. Verfahren nach einem der Ansprüche 1 bis 7, wobei ein Start-Steuer­ modul zur Bestimmung eines Startpunktes eines Prozessablaufes vorgesehen ist.8. The method according to any one of claims 1 to 7, wherein a start control module for determining a starting point of a process flow is provided. 9. Verfahren nach Anspruch 8, wobei jedem einen Startpunkt definieren­ den Steuermodul ein unterschiedlicher Name zugewiesen wird.9. The method of claim 8, wherein each define a starting point the control module is assigned a different name. 10. Verfahren nach Anspruch 9, wobei der Name der Prozessablaufbeschreibung in einer URL enthalten ist.10. The method of claim 9, wherein the name of the Process flow description is contained in a URL. 11. Verfahren nach Anspruch 8, 9 oder 10, wobei das einen Startpunkt definierende Steuermodul die für den Aufruf des zugehörigen Prozessablaufbe­ schreibungs-Moduls erforderlichen und/oder optionalen Parameter definiert.11. The method of claim 8, 9 or 10, wherein the one starting point defining control module that for calling the associated process flow write module required and / or optional parameters defined. 12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die Steuermo­ dule eine standardisierte Struktur aufweisen.12. The method according to any one of claims 1 to 11, wherein the Steuerermo dule have a standardized structure. 13. Verfahren nach einem der Ansprüche 1 bis 12, wobei Steuermodule vorgesehen sind, die eine von einem Parameterwert abhängige bedingte Verzwei­ gung des Prozessablaufes definieren. 13. The method according to any one of claims 1 to 12, wherein control modules are provided that a conditional branch dependent on a parameter value Define the process flow.   14. Verfahren nach einem der Ansprüche 8 bis 13, wobei Steuermodule zur Veranlassung eines Prozessablaufsprungs zu einem Startmodul mit Rück­ sprung vorgesehen sind.14. The method according to any one of claims 8 to 13, wherein control modules to initiate a process flow jump to a start module with back jump are provided. 15. Verfahren nach einem der Ansprüche 8 bis 13, wobei Steuermodule zur Veranlassung eines Prozessablaufsprungs zu einem Startmodul ohne Rück­ sprung vorgesehen sind.15. The method according to any one of claims 8 to 13, wherein control modules to initiate a process flow jump to a start module without a return jump are provided. 16. Verfahren nach einem der Ansprüche 1 bis 15, wobei Steuermodule zur Veranlassung einer Vereinigung zweier oder mehrerer Prozessabläufe vorge­ sehen sind.16. The method according to any one of claims 1 to 15, wherein control modules to initiate a union of two or more process flows are seen. 17. Verfahren nach einem der Ansprüche 1 bis 16, wobei End-Steuer­ module zur Bestimmung des Endes eines Prozessablaufes vorgesehen sind.17. The method according to any one of claims 1 to 16, wherein end tax modules for determining the end of a process flow are provided. 18. Verfahren nach einem der Ansprüche 1 bis 17, wobei Steuermodule und Funktionsmodule durch den Benutzer zu einer Prozessablaufbeschreibung zusammengefügt und modifiziert werden können.18. The method according to any one of claims 1 to 17, wherein control modules and functional modules by the user for a process flow description can be put together and modified. 19. Verfahren nach Anspruch 18, wobei die Konfiguration und/oder Mo­ difikation einer Prozessablaufbeschreibung mittels einer graphischen Be­ nutzeroberfläche durchführbar ist.19. The method of claim 18, wherein the configuration and / or Mo a process description using a graphical description user interface is feasible. 20. Verfahren nach Anspruch 18 oder 19, wobei eine Ablaufprüfung ei­ ner neu erstellten oder geänderten Prozessablaufbeschreibung durchgeführt wird, wobei die Namen der Ausgangswerte der Funktionsmodule mit den Namen der Eingangswerte der jeweils nachfolgenden Funktionsmodule auf Überstimmung überprüft werden.20. The method according to claim 18 or 19, wherein a process test ei a newly created or changed process flow description is carried out, where the names of the output values of the function modules with the names of the Input values of the subsequent function modules for agreement be checked. 21. Verfahren nach einem der Ansprüche 1 bis 20, wobei Prozessabläufe von internen Ereignissen gestartet werden. 21. The method according to any one of claims 1 to 20, wherein Process flows are started by internal events.   22. Computerprogramm aufweisend:
  • - eine Schnittstelle (11) zum Empfang einer externen und/oder internen Datenverarbeitungsanforderung zur Durchführung eines Datenverarbeitungsprozesses,
  • - Funktionsmodule (101) zur Ausführung von vordefinierbaren Datenverar­ beitungsvorgängen auf einem Datenverarbeitungssystem,
  • - Steuermodule (102) zur Festlegung von Verknüpfungen zwischen den Funktionsmodulen,
  • - wenigstens eine Prozessablaufbeschreibung (100) zur . Definition eines Prozessablaufes mittels einer Abfolge von Funktions- und Steuermodulen, und
  • - eine Prozessoreinheit (10) zum Aufruf von Funktionsmodulen und Steuermodulen entsprechend einem durch die Prozessablaufbeschreibung definierten Prozessablauf.
22. Having a computer program:
  • - an interface ( 11 ) for receiving an external and / or internal data processing request to carry out a data processing process,
  • - Function modules ( 101 ) for executing predefined data processing operations on a data processing system,
  • - control modules ( 102 ) for establishing links between the function modules,
  • - At least one process flow description ( 100 ) for. Definition of a process flow by means of a sequence of function and control modules, and
  • - A processor unit ( 10 ) for calling function modules and control modules according to a process flow defined by the process flow description.
23. Computerprogramm nach Anspruch 22, wobei ein Funktionsmodul bei einem Aufruf wenigstens einen Eingangswert empfängt und nach Ablauf wenigstens einen Ausgabewert weitergibt.23. The computer program according to claim 22, wherein a function module receives at least one input value when called and after expiration passes on at least one output value. 24. Computerprogramm nach Anspruch 23, wobei den Eingangswerten und den Ausgangswerten jeweils bestimmte Namen zugeordnet sind.24. The computer program of claim 23, wherein the input values and certain names are assigned to the output values. 25. Computerprogramm nach Anspruch 24, aufweisend eine Hash-Ta­ belle zur vorübergehenden Speicherung der Eingangswerte und Ausgangswerte unter ihren jeweiligen Namen.25. Computer program according to claim 24, comprising a hash ta belle for the temporary storage of the input and output values under their respective names. 26. Computerprogramm nach Anspruch 25, wobei der Name des Ein­ gangswertes eines Funktionsmoduls dem Namen des Ausgangswertes eines in dem jeweiligen Prozessablauf vorangehenden Funktionsmoduls entspricht. 26. The computer program of claim 25, wherein the name of the one output value of a function module the name of the output value of an in corresponds to the respective process flow preceding function module.   27. Computerprogramm nach einem der Ansprüche 22 bis 26, aufwei­ send ein Start-Steuermodul zur Bestimmung eines Startpunktes eines Prozessab­ laufes.27. Computer program according to one of claims 22 to 26 send a start control module for determining a starting point of a process in progress. 28. Computerprogramm nach Anspruch 27, wobei jedem einen Start­ punkt definierenden Steuermodul ein unterschiedlicher Name zugewiesen wird.28. The computer program of claim 27, wherein each has a start point-defining control module is assigned a different name. 29. Computerprogramm nach Anspruch 28, wobei der Name des Start- Steuermoduls in einer URL zum Auffinden der Prozessablaufbeschreibung enhalten ist.29. The computer program of claim 28, wherein the name of the start Control module in a URL to find the process flow description is included. 30. Computerprogramm nach einem der Ansprüche 22 bis 29, wobei die Steuermodule eine standardisierte Struktur aufweisen.30. Computer program according to one of claims 22 to 29, wherein the Control modules have a standardized structure. 31. Computerprogramm nach einem der Ansprüche 22 bis 30, aufwei­ send Steuermodule, die eine von einem Parameterwert abhängige bedingte Ver­ zweigung des Prozessablaufes definieren.31. Computer program according to one of claims 22 to 30 send control modules that provide a conditional Ver Define branch of the process flow. 32. Computerprogramm nach einem der Ansprüche 27 bis 31, aufwei­ send Steuermodule zur Veranlassung eines Prozessablaufsprungs.32. Computer program according to one of claims 27 to 31, on send control modules to initiate a process flow jump. 33. Computerprogramm nach einem der Ansprüche 22 bis 32, aufweisend einen Prozessablaufbeschreibungs-Editor zum Anordnen und Modifizieren von Steuermodulen und Funktionsmodulen zu einer Prozessablaufbeschreibung.33. Computer program according to one of claims 22 to 32, having a process flow description editor for arranging and Modify control modules and function modules into one Process flow description. 34. Computerprogramm nach Anspruch 33, wobei der Pipeline-Editor eine graphische Benutzeroberfläche zum Anzeigen und zum Modifizieren der Prozessablaufbeschreibung aufweist.34. The computer program of claim 33, wherein the pipeline editor a graphical user interface for displaying and modifying the Has process description. 35. Server-Computer zur Verwendung in einem Computernetzwerk, auf­ weisend: 35. Server computers for use on a computer network pointing:   - eine Schnittstelle (11) zum Empfang einer Datenverarbeitungsanforderung zur Durchführung eines Datenverarbeitungsprozesses,
  • - einen Speicher (30) zur Speicherung von Funktionsmodulen zur Bestimmung von Datenverarbeitungsvorgängen auf dem Computernetzwerk,
  • - einen Speicher (40) zur Speicherung von Steuermodulen zur Bestimmung von Verknüpfungen der Funktionsmodule untereinander,
  • - einen Speicher (20) zur Speicherung von Prozessablaufbeschreibungen, die einen Prozessablauf durch eine Abfolge von Funktionsmodulen und Steuermodulen definieren, .
  • - einen Steuerprozessor (10) zur Auswahl und zum Aufruf einer Prozessablaufbe­ schreibung entsprechend der empfangenen Datenverarbeitungsanforderung, und zur Durchführung des Datenverarbeitungsprozesses durch Aufruf der durch die Prozessablaufbeschreibung bestimmten Abfolge von Funktionsmodulen und Steuermodulen.
- an interface ( 11 ) for receiving a data processing request to carry out a data processing process,
  • - a memory ( 30 ) for storing function modules for determining data processing operations on the computer network,
  • a memory ( 40 ) for storing control modules for determining links between the function modules,
  • - A memory ( 20 ) for storing process flow descriptions that define a process flow through a sequence of function modules and control modules,.
  • - A control processor ( 10 ) for selecting and calling a process description according to the received data processing request, and for carrying out the data processing process by calling the sequence of function modules and control modules determined by the process description.
36. Server-Computer nach Anspruch 35, aufweisend eine Speicherein­ richtung zum temporären Speichern einer Hash-Tabelle (50) mit Eingangswerten und Ausgangswerten der Steuermodule.36. Server computer according to claim 35, comprising a storage device for temporarily storing a hash table ( 50 ) with input values and output values of the control modules. 37. Server-Computer nach Anspruch 35 oder 36, aufweisend eine gra­ phische Benutzerschnittstelle zur Erstellung oder zum Modifizieren von Prozessablaufbeschreibungen.37. Server computer according to claim 35 or 36, comprising a gra Physical user interface for creating or modifying Process flow descriptions. 38. Computerprogramm aufweisend Programmcode zur Ausführung der Verfahrensschritte nach einem der Ansprüche 1 bis 21.38. Computer program comprising program code for executing the Method steps according to one of claims 1 to 21.
DE2000107563 2000-02-18 2000-02-18 Process for controlling data processing operations Withdrawn DE10007563A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE2000107563 DE10007563A1 (en) 2000-02-18 2000-02-18 Process for controlling data processing operations
PCT/EP2000/011741 WO2001061468A2 (en) 2000-02-18 2000-11-24 A method of controlling data processing operations
AU2001220017A AU2001220017A1 (en) 2000-02-18 2000-11-24 A method of controlling data processing operations
EP00983162A EP1257907A2 (en) 2000-02-18 2000-11-24 A method of controlling data processing operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000107563 DE10007563A1 (en) 2000-02-18 2000-02-18 Process for controlling data processing operations

Publications (1)

Publication Number Publication Date
DE10007563A1 true DE10007563A1 (en) 2001-09-06

Family

ID=7631518

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000107563 Withdrawn DE10007563A1 (en) 2000-02-18 2000-02-18 Process for controlling data processing operations

Country Status (4)

Country Link
EP (1) EP1257907A2 (en)
AU (1) AU2001220017A1 (en)
DE (1) DE10007563A1 (en)
WO (1) WO2001061468A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20021023A0 (en) * 2002-05-30 2002-05-30 Comptel Oyj Service Provisioning Method, System, and Computer Software Product
JP4903092B2 (en) 2007-07-05 2012-03-21 株式会社リコー Image processing apparatus, image processing control method, and image processing control program
CN111078770B (en) * 2019-11-28 2023-07-21 曙光信息产业股份有限公司 Data processing system, method and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093794A (en) * 1989-08-22 1992-03-03 United Technologies Corporation Job scheduling system
DE4303062A1 (en) * 1992-02-04 1993-08-05 Digital Equipment Corp
DE19632993A1 (en) * 1996-08-16 1998-02-19 Siemens Ag Data processing system with task-oriented module for supply of energy
EP0831398A1 (en) * 1996-08-01 1998-03-25 International Business Machines Corporation Ensuring atomicity for a collection of transactional workitems in a workflow-management-system
EP0903678A2 (en) * 1997-09-23 1999-03-24 International Computers Limited Workflow management system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175868A (en) * 1993-10-15 1995-07-14 Internatl Business Mach Corp <Ibm> Method and system for output of digital information to medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093794A (en) * 1989-08-22 1992-03-03 United Technologies Corporation Job scheduling system
DE4303062A1 (en) * 1992-02-04 1993-08-05 Digital Equipment Corp
EP0831398A1 (en) * 1996-08-01 1998-03-25 International Business Machines Corporation Ensuring atomicity for a collection of transactional workitems in a workflow-management-system
DE19632993A1 (en) * 1996-08-16 1998-02-19 Siemens Ag Data processing system with task-oriented module for supply of energy
EP0903678A2 (en) * 1997-09-23 1999-03-24 International Computers Limited Workflow management system

Also Published As

Publication number Publication date
AU2001220017A1 (en) 2001-08-27
WO2001061468A3 (en) 2002-05-10
EP1257907A2 (en) 2002-11-20
WO2001061468A2 (en) 2001-08-23

Similar Documents

Publication Publication Date Title
DE69724877T2 (en) Method and device for operating an aggregation of server computers using a dual-purpose proxy server
DE19882235B4 (en) Use of web technology for subscriber management activities
EP1430369B1 (en) Dynamic access to automation resources
DE19607149A1 (en) Method for computer-aided comparison of several file copies of a stored file stored in at least one computer
EP2648094B1 (en) Method and system for creating a source code for a computer program for executing and simulating a process
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
DE112013006481T5 (en) System development tool, system development process and system development program
EP1662381A1 (en) Engineering system with automatic generation of instance templates
DE102008012979A1 (en) Method and program for providing data coherency in networks
EP1508093A2 (en) Transformation of object trees, especially in mes systems
EP1497714A2 (en) System and method for projecting transformations of object trees
EP0990984B1 (en) Method for transmitting process data, and method for generating user-specific data and data generated by this process
DE10007563A1 (en) Process for controlling data processing operations
EP2620868A1 (en) Work flow management system for computer networks
EP3441919A1 (en) Method for exchanging data between engineering tools of an engineering system and engineering system for carrying out the method
DE19930119C2 (en) Priority management procedures
EP3702907A1 (en) Method of providing augmented-reality data, computing device, system and computer program
DE10154289A1 (en) Interactive implementation and status display of operational planning processes
EP3591525A1 (en) Distribution of sub-applications of a particular application to computers on platforms of at least two different levels
DE19843324A1 (en) Management method for network elements in telecommunications network involves node manager exchanging data with network element via data connection using standard protocol
DE19607132B4 (en) Method for the computer-aided adjustment of a plurality of file copies of a stored file stored in at least one computer
EP2093663A1 (en) Engineering system for developing a project and method
DE60213008T2 (en) ARRANGEMENT AND METHOD FOR SUPPORTING THE PROCESS / APPLICATION CONTROL
DE19951756B4 (en) Data management method and computer program and system for executing it
DE10220283B4 (en) Method and system for local operations in a transactional environment

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal