DE10247529A1 - Anpassbare Zustandsmaschine und Zustandsaggregationstechnik zur Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten - Google Patents

Anpassbare Zustandsmaschine und Zustandsaggregationstechnik zur Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten

Info

Publication number
DE10247529A1
DE10247529A1 DE10247529A DE10247529A DE10247529A1 DE 10247529 A1 DE10247529 A1 DE 10247529A1 DE 10247529 A DE10247529 A DE 10247529A DE 10247529 A DE10247529 A DE 10247529A DE 10247529 A1 DE10247529 A1 DE 10247529A1
Authority
DE
Germany
Prior art keywords
state
information
business
business object
collaboration
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
DE10247529A
Other languages
English (en)
Inventor
Chethan Gorur
Ramkartik Mulukutla
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.)
I2 Technologies Inc
Original Assignee
I2 Technologies Inc
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 I2 Technologies Inc filed Critical I2 Technologies Inc
Publication of DE10247529A1 publication Critical patent/DE10247529A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • 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
    • 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
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • 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
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Es wird eine computerimplementierte Zustandsmaschine zum Verarbeiten von Geschäftsobjekten, die Zusamamenarbeiten zwischen Geschäftsentitäten darstellen, zur Verfügung gestellt. Wenigstens ein Geschäftsobjekt stellt eine Zusammenarbeit zwischen Geschäftsentitäten dar. Eine Anzahl von Grafen, die in computerlesbaren Medien dargestellt sind, entsprechen jeweils einer besonderen Zusammenarbeitsgeschäftsentität. Die Grafen werden unter Verwendung von Textdateien erzeugt, wobei wenigstens eine erste Textdatei Zustandsinformation für das Geschäftsobjekt aufweist, wenigstens eine zweite Textdatei Aktionsinformation für das Geschäftsobjekt aufweist und wenigstens eine dritte Textdatei Übergangsinformation für das Geschäftsobjekt aufweist. Es wird ein computerimplementiertes Verfahren zum Aggregieren von Zustandsinformation, die einem Verbundgeschäftsobjekt zugeordnet ist, das wenigstens eine Zusammenarbeit zwischen Geschäftsentitäten darstellt, zur Verfügung gestellt. Das Verfahren weist das Auslesen der Zustandsinformationen für das Verbundgeschäftsobjekt aus einem computerlesbaren Medium und das Bestimmen eines Zustands für das Verbundgeschäftsobjekt anhand einer zugewiesenen Prioritätsebene für einen Zustand in einer Hierarchievon Zuständen, die dem Verbundgeschäftsobjekt zugeordnet sind, wobei jeder Zustand in der Hierarchie von Zuständen eine entsprechende zugewiesene Prioritätsebene besitzt, auf.

Description

  • Die vorliegende Erfindung bezieht sich allgemein auf Zustandsmaschinen und auf den Entwurf von Zustandsmaschinen und insbesondere auf eine anpassbare Zustandsmaschine und auf eine Zustandsaggregationstechnik zur Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten.
  • Die Verwendung objektorientierter Programmiersprachen wie etwa C++, Smalltalk, JAVA und Object-Pascal ermöglicht Systemkonstrukteuren und Programmierern, die Flexibilität des Entwurfs und die Leistung von Geschäftsanwendungen in elektronischen Handelsumgebungen wesentlich zu erhöhen. Objektorientierte Programmiersprachen ermöglichen, dass Programmierer den Datentyp einer Datenstruktur und die Typen von Operationen, die auf die Datenstruktur angewendet werden, definieren. Im Ergebnis wird die Datenstruktur zu einem "Objekt", d. h. zu einer selbständigen Entität, die sowohl Daten als auch die Prozeduren (z. B. Code) zum Manipulieren der Daten aufweist. Außerdem können Programmierer Beziehungen zwischen Objekten erzeugen. Beispielsweise kann ein Objekt erzeugt werden, das bestimmte Eigenschaften anderer Objekte erben kann. Somit besteht ein Hauptvorteil der objektorientierten Programmierung gegenüber vorausgehenden Programmiertechniken darin, dass Programmierer Software-Komponenten erzeugen können, die nicht geändert zu werden brauchen, wenn ein neuer Objekttyp eingeführt wird. Ein Programmierer kann ein neues Objekt erzeugen, das einige seiner Eigenschaften von den vorhandenen Objekten erbt. Da die objektorientierte Software verhältnismäßig leicht abzuändern ist, ist sie hinsichtlich des Entwurfs typischerweise wesentlich flexibler als Software, die gemäß vorausgehenden Programmiertechniken entwickelt worden ist. Außerdem können unter Verwendung objektorientierter Software Objektdatenbanken verwendet werden, die Objekte direkt speichern. Ein in einer Objektdatenbank gespeichertes Objekt kann ohne Verwendung von Verknüpfungsfeldern (wie etwa bei relationalen Datenbanken) auf ein anderes Objekt Bezug nehmen. Im Ergebnis sind Objektdatenbanken bei der Behandlung komplexer Objektbeziehungen mit komplexen Datentypen typischerweise wesentlich leistungsfähiger als relationale Datenbanken. Um objektorientierte Programmiertechniken zu nutzen, sind Hersteller relationaler Datenbanken im Begriff, relationale und Objekttechnologien zu kombinieren. Außerdem können unter Verwendung von Funktionsaufrufen, die durch objektorientierte Mechanismen angesteuert werden, Objekte in nicht objektorientierten Sprachen verwendet werden.
  • Ein Geschäftsobjekt ist ein Objekt, das von einem Geschäftskonzept modelliert wird, wie etwa beispielsweise eine Geschäftsperson, ein Geschäftssitz, ein Geschäftsvorfall oder ein Geschäftsvorgang. Somit können Geschäftsobjekte, die tatsächliche Geschäftsentitäten darstellen, wie etwa Produkte, Aufträge, Rechnungen, Zahlungen, Kunden, Lieferanten, Angestellte usw., erzeugt werden. Geschäftsobjekte sind skalierbar und können in verschiedenen Konfigurationen und auf mehreren Ebenen eingesetzt werden. Durch Nutzung objektorientierter Technologien können Geschäftsobjekte zur Entwicklung und Anpassung von Geschäftsanwendungen verwendet werden.
  • Auf einem elektronischen Marktplatz müssen Unternehmen (z. B. Geschäftsorganisationen) geregelt zusammenarbeiten, um ihre Operationen auszuführen. Beispielsweise können Unternehmen in Bezug auf die Beschaffung, den Entwurf, die Produktion und irgendwelche anderen geeigneten Aktivitäten zusammenarbeiten. Allerdings neigen bestimmte Geschäftsobjekte in einer Zusammenarbeitsanwendung dazu, sehr reaktionsfähig zu sein. Mit anderen Worten, ihre Semantik (die Bedeutung ihrer Anweisungen) kann sich anhand von Aktionen, die verschiedene Entitäten in dem Zusammenarbeitsanwendungsraum durchführen, von Grund auf ändern. Diesbezüglich ist es wesentlich, dass die Konstrukteure diese Geschäftsobjekte und ihr potenzielles Verhalten anhand von durchgeführten Aktionen genau modellieren. Die Entitäten (z. B. Geschäftsunternehmen) können an diesen Geschäftsobjekten in einem Zusammenarbeitsanwendungsraum eine Menge wohldefinierter Aktionen ausführen, die auf dem Verarbeitungsstadium des Objektes beruhen. Diese Geschäftsobjekte tragen eine Logik, die sich genau auf die besonderen betroffenen Geschäftsimplementierungen bezieht. Folglich muss eine solche Zusammenarbeitsanwendung, wenn sie eingesetzt wird, über ausreichende Flexibilität verfügen, um die Arbeitsabläufe und Semantiken für die betroffenen Geschäftsobjekte richtig zu definieren.
  • Zustandsmaschinen können geeignete Mittel zur Verarbeitung von Geschäftsobjekten und der verschiedenen während der Lebensdauern der Objekte angetroffen Zustände sein. Allerdings können vorhandene Zugänge zum Entwurf von Zustandsmaschinen keine komplexen Arbeitsabläufe und Probleme, die in einer Zusammenarbeitsumgebung angetroffen werden, wirksam berücksichtigen. Im Ergebnis gibt es einen dringenden Bedarf an einem Entwurfszugang, der den Zustandsmaschinenentwurf für eine Zusammenarbeitsgeschäftsumgebung hinsichtlich Flexibilität, Anpassung und Einsatz vereinfachen und außerdem einen hohen Leistungspegel für die betroffenen Geschäftsanwendungen realisieren kann.
  • Gemäß der vorliegenden Erfindung können die Probleme und Nachteile im Zusammenhang mit Zustandsmaschinen und Zustandsmaschinen-Entwurfstechniken des Standes der Technik verringert oder beseitigt werden.
  • In Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung wird eine computerimplementierte Zustandsmaschine zur Verarbeitung von Geschäftsobjekten geschaffen, die Zusammenarbeiten zwischen Geschäftsentitäten darstellen. Wenigstens ein Geschäftsobjekt stellt eine Zusammenarbeit zwischen Geschäftsentitäten dar. Eine Anzahl von Grafen, die in computerlesbaren Medien dargestellt sind, entsprechen jeweils einer besonderen Zusammenarbeitsgeschäftsentität. Die Grafen werden unter Verwendung von Textdateien erzeugt, wobei wenigstens eine erste Textdatei Zustandsinformationen für das Geschäftsobjekt, wenigstens eine zweite Textdatei Aktionsinformationen für das Geschäftsobjekt und wenigstens eine dritte Textdatei Übergangsinformationen für das Geschäftsobjekt aufweist.
  • In Übereinstimmung mit einer weiteren beispielhaften Ausführungsform der vorliegenden Erfindung wird ein computerimplementiertes Verfahren zur Aggregation von Zustandsinformationen im Zusammenhang mit einem Verbundgeschäftsobjekt geschaffen, das wenigstens eine Zusammenarbeit zwischen Geschäftsobjekten darstellt. Das Verfahren aufweist das Auslesen der Zustandsinformationen für das Verbundgeschäftsobjekt aus einem computerlesbaren Medium und das Bestimmen eines Zustands für das Verbundgeschäftsobjekt anhand einer zugewiesenen Prioritätsebene für einen Zustand in einer Hierarchie von mit dem Verbundgeschäftsobjekt verknüpften Zuständen, wobei jeder Zustand in der Hierarchie der Zustände eine entsprechende zugewiesene Prioritätsebene besitzt.
  • In Zusammenarbeitsanwendungen müssen möglicherweise bestimmte hierarchische und Verbundgeschäftsobjekte Zustandsinformationen tragen. Außerdem müssen möglicherweise die Komponenten und Kinder dieser Geschäftsobjekte Zustandsinformationen tragen. In vielen Fällen kann ein Verbundgeschäftsobjekt einen abgeleiteten Zustand erfordern, der auf den Einzelzuständen der Komponenten des Verbundgeschäftsobjekts beruht. Somit wird in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung ein Zustandsaggregationsverfahren geschaffen, wobei ein Verbundgeschäftsobjekt einen abgeleiteten Zustand aufweist kann, der aus den Einzelzuständen der Komponenten des Geschäftsobjekts berechnet wird. Im Ergebnis kann das Zustandsaggregationsverfahren einen Mechanismus für die Ausbreitung von Zustandsinformationen in einem hierarchischen (z. B. mehrstufigen) Geschäftsobjekt schaffen.
  • Bestimmte Ausführungsformen der vorliegenden Erfindung können einen oder mehrere technische Vorteile schaffen. Beispielsweise können besondere Ausführungsformen eine leistungsfähige anpassbare Zustandsmaschine zur Behandlung von Zusammenarbeits- und Transaktionsgeschäftsobjekten in einer elektronischen Marktplatzumgebung schaffen. Bestimmte Ausführungsformen können eine anpassbare Zustandsmaschine zur Verwendung bei der Behandlung von Zusammenarbeits- und Transaktionsgeschäftsobjekten schaffen, die für die betroffenen Geschäftsobjekte als Richtlinienmechanismus dienen kann. Eine Zulässigkeitssicherheitskomponente der Zusammenarbeitszustandsmaschine kann ermöglichen, dass verschiedene Entitäten in einem Unternehmen verschiedene Ansichten über die gleiche Zustandsmaschine haben. Außerdem schafft die Zusammenarbeitszustandsmaschine eine Fähigkeit, verschiedene Entitäten in verschiedenen Unternehmen in gewissem Umfang zu beschränken, so dass die verschiedenen Entitäten ähnliche oder verwandte Funktionen ausführen können. Besondere Ausführungsformen können eine ausreichende Flexibilität schaffen, damit Implementierer der Zusammenarbeitsanwendung die Arbeitsabläufe und Semantiken für die betroffenen Geschäftsobjekte richtig definieren können. Besondere Ausführungsformen können auch komplexe Arbeitsabläufe und Probleme, die in einer Zusammenarbeitsumgebung angetroffen werden, richtig berücksichtigen, und etwa beispielsweise Mitarbeitersysteme mit Drittunternehmens- Betriebsmittelplanungssystemen (Dritt-ERP-Systemen, engl. Enterprise Resource Planning) oder anderen Registriersystemen (SORs, engl. System of Records) richtig integrieren, die Gleichzeitigkeit optimieren, anwenderdefinierte Semantiken für Zustände und Übergänge schaffen, eine geeignete Sicherheit auf der Zustands- und auf der Aktionsebene schaffen, eine Fähigkeit zum leichten Ändern der Zustandsmaschine schaffen, so dass sie den Anforderungen spezifischer Entitäten genügt, und im Zusammenhang mit Zustandsänderungen Benachrichtigungsmeldungen senden. Besondere Ausführungsformen können einen hinsichtlich Flexibilität, Anpassung und Einsatz vereinfachten Zustandsmaschinenentwurf für eine Zusammenarbeitsgeschäftsumgebung erzeugen, der außerdem einen hohen Leistungspegel für die betroffenen Geschäftsanwendungen realisieren kann. Außerdem können besondere Ausführungsformen eine Zustandsaggregation als einen leistungsfähigen Mechanismus zur Ausbreitung von Zustandsinformationen in hierarchischen oder mehrstufigen Geschäftsobjekten schaffen.
  • Systeme und Verfahren, die einen oder mehrere dieser oder anderer technischer Vorteile aufweist, können für moderne elektronische Handelsumgebungen gut geeignet sein. Einer oder mehrere weitere technische Vorteile der vorliegenden Erfindung können für einen Fachmann auf dem Gebiet aus den Figuren, der Beschreibung und den aufgeführten Ansprüchen leicht hervorgehen.
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgende Beschreibung Bezug genommen, die in Verbindung mit der beigefügten Zeichnung zu nehmen ist, in der:
  • Fig. 1 ein beispielhaftes System zeigt, das in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung zur Implementierung einer anpassbaren Zustandsmaschine für die Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten in einer elektronischen Marktplatzumgebung verwendet werden kann;
  • Fig. 2 ein Diagramm ist, das bestimmte Wechselwirkungen zeigt, die in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung zwischen Entitäten in einer Zusammenarbeitsanwendung auftreten können, und das zeigt, wie die Zusammenarbeitszustandsmaschine eine verteilte Synchronisation von Zusammenarbeitsgeschäftsobjekten ermöglichen kann; und
  • Fig. 3 ein Diagramm ist, das Programm-Pseudocode in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung zur Verwendung eines beispielhaften Zustandsaggregierers zeigt.
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung und ihre Vorteile werden am besten verständlich anhand der Fig. 1-3 der Zeichnung, wobei für gleiche und einander entsprechende Teile der verschiedenen Figuren gleiche Bezugszeichen verwendet werden.
  • Fig. 1 zeigt ein beispielhaftes System 10, das in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung zur Implementierung einer anpassbaren Zustandsmaschine für die Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten in einer elektronischen Marktplatzumgebung verwendet werden kann. Das System 10 kann Käufer 12, Lieferanten 14 und einen Geschäfts- Geschäfts- (B2B-, engl. Business-to-Business), einen Geschäfts-Verbraucher- (B2C-, engl. Business-to-Customer) oder einen anderen elektronischen Marktplatz 16 aufweist, der Käufer 12 mit Lieferanten n 14 verknüpfen kann. Dem elektronischen Marktplatz 16 können eine oder mehrere Websites zugeordnet sein, auf die die Käufer 12 und die Lieferanten 14 zugreifen können. Im Allgemeinen können die Lieferanten 14 Produkte oder andere Gegenstände herstellen, die für die Käufer 12 verfügbar sind, wobei sie mit den Käufern 12 auf die eine oder andere Art zusammenarbeiten können, um geeignete Käufer-Lieferanten-Beziehungen herzustellen und zu unterhalten. Je nach dem Wesen des elektronischen Marktplatzes 16 und dem Markt, den er unterstützt, können die Lieferanten 14 Hersteller, Vertriebshändler, Großhändler, Einzelhändler oder irgendwelche anderen Entitäten aufweisen, die unter Verwendung des elektronischen Marktplatzes 16 Gegenstände an die Käufer 12 liefern und mit ihnen zusammenarbeiten können. Vorzugsweise kann eine dem elektronischen Marktplatz 16 zugeordnete (nicht gezeigte) Datenbank Zusammenarbeitsdaten speichern, die durch die Käufer 12 und durch die Lieferanten 14 anhand ihrer Zusammenarbeiten, Ausführungen und irgendwelcher weiteren geeigneten Wechselwirkungen zwischen den Käufern 12 und den Lieferanten n 14 über den elektronischen Marktplatz 16 an den elektronischen Marktplatz 16 geliefert werden.
  • Die Käufer 12, die Lieferanten 14 und der elektronische Marktplatz 16 können jeweils auf einem oder auf mehreren Computersystemen an einem oder an mehreren Orten arbeiten und die Datenspeicherung, die Kommunikation oder andere Betriebsmittel gemäß besonderen Anforderungen gemeinsam nutzen. Diese Computersysteme können geeignete Eingabevorrichtungen, Ausgabevorrichtungen, Massenspeichermedien, Prozessoren, Speicher oder andere Komponenten aufweist, um in Übereinstimmung mit dem Betrieb des Systems 10 Informationen zu empfangen, zu verarbeiten, zu speichern und zu übermitteln. Die hier erwähnten Computersysteme können jeweils einen oder mehrere Einzelcomputer an einem oder an mehreren geeigneten Orten aufweist. Die Käufer 12 und die Lieferanten 14 können selbstständig oder in Übereinstimmung mit einer Eingabe von einem oder von mehreren Anwendern mit dem elektronischen Marktplatz 16 in Wechselwirkung treten. Die Käufer 12 und die Lieferanten 14 können mit einem oder mit mehreren lokalen Netzen (LANs, engl. Local Area Networks), innerstädtischen Netzen (MANs, engl. Metropolitan Area Networks), Weitverkehrsnetzen (WANs, engl. Wide Area Networks), einem globalen Computernetz wie etwa dem Internet oder irgendeiner anderen geeigneten Draht-, optischen, drahtlosen oder anderen Verbindung mit dem elektronischen Marktplatz 16 verbunden sein. Die Käufer 12, die Lieferanten 14 und der elektronische Marktplatz 16 können gemäß einer Speichenarchitektur, einer Peer-to-Peer-Architektur oder einer anderen geeigneten Architektur miteinander kommunizieren. Beispielsweise kann das System 10 unter Verwendung einer Speichenarchitektur implementiert sein, in der die Speichen geeignet mit den Unternehmenssystemen der Käufer 12 und der Lieferanten 14 integriert sind, um zwischen diesen Unternehmenssystemen und dem elektronischen Marktplatz 16 eine plangestützte Datenübertragung zu ermöglichen. In einer besonderen Ausführungsform können die Käufer 12 und die Lieferanten 14 mit dem elektronischen Marktplatz 16wenigstens teilweise in Form der Hypertext Markup Language (HTML), der Extensible Markup Language (XML) oder anderer Dateien, die in Nachrichten gemäß dem Hypertext Transfer Protocol (HTTP) aufweist sind, kommunizieren.
  • In Übereinstimmung mit der vorliegenden Erfindung wird im Wesentlichen eine (im Folgenden als "Zusammenarbeitszustandsmaschine" bezeichnete) anpassbare Zustandsmaschine zur Verwendung bei der Behandlung oder Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten geschaffen, die als Richtlinienmechanismus für die betroffenen Geschäftsobjekte dienen kann. Eine Zulässigkeits/Sicherheits-Komponente der Zusammenarbeitszustandsmaschine kann ermöglichen, dass verschiedene Entitäten in einem Unternehmen verschiedene Ansichten der gleichen Zustandsmaschine haben. Außerdem kann die Zusammenarbeitszustandsmaschine eine Fähigkeit schaffen, verschiedene Entitäten in verschiedenen Unternehmen in gewissem Umfang zu beschränken, so dass die verschiedenen Entitäten ähnliche oder verwandte Funktionen ausführen können. Falls eine Entität beispielsweise gerade eine Auftragsmanagementfunktion ausführt, können einige Anwender dieser Entität Änderungsbestellungen verarbeiten, während andere Anwender Bestellungsstornierungen verarbeiten können.
  • Möglicherweise müssen bestimmte hierarchische und Verbundgeschäftsobjekte in Zusammenarbeitsanwendungen auch Zustandsinformationen tragen. Möglicherweise müssen auch die Komponenten und Kinder (unmittelbaren Nachkommen) solcher Geschäftsobjekte Zustandsinformationen tragen. In vielen Fällen kann ein Verbundgeschäftsobjekt einen abgeleiteten Zustand erfordern, der auf den Einzelzuständen der Komponenten des Verbundgeschäftsobjekts beruht. Somit wird in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung eine Zustandsaggregationstechnik geschaffen, durch die ein Verbundgeschäftsobjekt einen abgeleiteten Zustand aufweist kann, der aus den Einzelzuständen der Komponenten des Geschäftsobjekts berechnet wird. Im Ergebnis kann das Zustandsaggregationsverfahren einen Mechanismus schaffen, mit dem sich Zustandsinformationen in einem hierarchischen (z. B. mehrstufigen) Geschäftsobjekt ausbreiten können.
  • In Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung wird eine Zusammenarbeitszustandsmaschine geschaffen, die erfolgreich reaktionsfähige Geschäftsobjekte verarbeiten und ihre Modellierungsanforderungen behandeln kann. Im Ergebnis können die Geschäftsobjekte in ihren jeweiligen Lebensdauern eine Menge von Zuständen durchlaufen, wobei jedes der Geschäftsobjekte eine besondere Semantik für die betroffenen Entitäten aufrechterhalten kann. Beispielsweise kann die Zusammenarbeitszustandsmaschine unter der Annahme, dass eine Menge von Zuständen und Richtlinien den Anforderungen jeder Kombination von Entitäten, die an einer Zusammenarbeitsanwendung beteiligt sind, nicht genügen kann, ermöglichen, dass jede Gruppe von Zusammenarbeitsentitäten ihre eigenen Richtlinien für die Zusammenarbeitslebensdauer der betroffenen Geschäftsobjekte festlegt. Somit ist die Zusammenarbeitszustandsmaschine hochgradig konfigurierbar und einsetzbar.
  • In Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung kann die Zusammenarbeitszustandsmaschine durch eine Menge von Adjazenzgrafen dargestellt werden, wobei es für jede Entität in dem Zusammenarbeitsanwendungsraum einen solchen Grafen gibt. Wo dies geeignet ist, kann ein Adjazenzgraf als Zustandsübergangsgraf bezeichnet werden. Die Knoten in einem solchen Grafen können Zustände darstellen, während die Verknüpfungen in einem solchen Grafen Aktionen darstellen können. Vorzugsweise kann eine Menge von Zuständen für sämtliche betroffenen Grafen konstant sein. Wie unten ausführlich beschrieben wird, kann die Zusammenarbeitszustandsmaschine Probleme, die mit verschiedenen Techniken auftreten, richtig behandeln, wie etwa Mitarbeitersysteme richtig mit Dritt-ERP-Systemen oder anderen SORs integrieren, die Gleichzeitigkeit optimieren, eine anwenderdefinierte Semantik für Zustände und Übergänge schaffen, eine geeignete Sicherheit auf der Zustands- und auf der Aktionsebene schaffen, eine Fähigkeit schaffen, die Zustandsmaschine leicht zu ändern, so dass sie den Anforderungen spezifischer Entitäten genügt, und Benachrichtigungsmeldungen im Zusammenhang mit Zustandsübergängen senden. Benachrichtigungsmeldungen, die ausgesendet werden, wenn bestimmte Zustandsübergänge auftreten, können in verschiedenen Formen wie etwa unter Verwendung von E-Mails, Faxen oder Ereignisprotokollen transportiert werden. Außerdem kann die Zusammenarbeitszustandsmaschine als Richtlinienmechanismus dienen, der die Lebensdauer und Nebenwirkungen für das betroffene Geschäftsobjekt oder für die betroffenen Geschäftsobjekte vorschreibt.
  • Genauer kann die Zusammenarbeitszustandsmaschine die Lebensdauern der betroffenen Geschäftsobjekte steuern und ausführen. Somit kann ein dem elektronischen Marktplatz 16 zugeordneter (nicht gezeigter) Prozessor die Zusammenarbeitszustandsmaschine für den Betrieb in den Speicher laden, wenn eine Geschäftsanwendung (z. B. eine Software- Anwendung) begonnen wird. Außerdem kann der Prozessor wie unten beschrieben dazu verwendet werden, die Zusammenarbeitszustandsmaschine zu implementieren, die prozessstrangsicher und hochgradig skalierbar ist. Somit kann die Zusammenarbeitszustandsmaschine Datenstrukturen aufweist, die Informationen über Zustände, Aktionen, Übergänge und Aktualisierungsrichtlinien aufweist. Außerdem kann die Zusammenarbeitszustandsmaschine leichte "Wrapper" aufweist, die über den Datenstrukturen liegen und Sicherheitsprüfungen und Hochleistungsschnittstellen für das Zugreifen auf Informationen in den Datenstrukturen schaffen. Außerdem kann die Zusammenarbeitszustandsmaschine Zustandsbehandler aufweist, die Aktualisierungsrichtlinien behandeln und Richtlinienmechanismen implementieren und außerdem geeignete Schnittstellen mit anderen Komponenten in irgendeinem betroffenen System schaffen.
  • Wie zuvor erwähnt wurde, kann die Zusammenarbeitszustandsmaschine eine Menge von Grafen aufweist, die im Speicher gespeichert oder auf andere Weise dargestellt sein können, wobei jeder Graf einer besonderen Zusammenarbeitsgeschäftsentität entspricht. Beispielsweise kann ein Graf als Zusammenstellung von Punkten definiert sein, wobei einige Paare von Punkten durch Linien verbunden sind. Die Punkte können als Knoten bezeichnet werden, und die Linien können als Kanten bezeichnet werden. Somit ist eine Adjazenzmatrix eine geeignete Speicherstruktur, die zum Speichern solcher Grafen verwendet werden kann. Beispielsweise kann eine Adjazenzmatrix als eine quadratische Matrix von Nullen und Einsen definiert sein, deren Zeilen und Spalten durch die Knoten indiziert sind. Eine "1" an der Stelle ij der Matrix kann bedeuten, dass es eine Kante vom Knoten i zum Knoten j gibt. Eine "0" an der Stelle ij der Matrix kann angeben, dass es keine solche Kante gibt. Wo dies geeignet ist, kann eine Adjazenzmatrix als Zustandsübergangsmatrix bezeichnet werden.
  • Für eine beispielhafte Ausführungsform der vorliegenden Erfindung kann eine Zusammenarbeitszustandsmaschine eine Anzahl von Grafen aufweist, die jeweils einer besonderen Zusammenarbeitsgeschäftsentität entsprechen. Die Grafen können in einer dreidimensionalen Adjazenzmatrix für die Zustandsmaschine gespeichert sein. Beispielsweise kann für eine Zusammenarbeitsanwendung eine Dimension der Matrix einen Zustandsidentifizierer (einen Zustands-ID), eine zweite Dimension der Matrix einen Aktions-ID und eine dritte Dimension der Matrix einen Entitäts-ID darstellen. Unter Verwendung geeigneter Adjazenzmatrix-Berechnungstechniken können in der dreidimensionalen Adjazenzmatrix für die Zustandsmaschine gespeicherte Informationen die resultierenden Zustandswerte darstellen.
  • Beispielsweise können Zustandsinformationen in Tabellen oder anderen Textdateien gespeichert sein, die sich im Speicher an Plätzen befinden, welche durch die Anwendernamen und IDs der Zustände indiziert (z. B. adressiert) werden. Ähnlich können Aktionsinformationen in Tabellen oder anderen Textdateien gespeichert sein, die sich im Speicher an Plätzen befinden, die durch die Anwendernamen und IDs der Aktionen indiziert werden. Im Ergebnis können die Clients oder Anwender fordern, dass die Zusammenarbeitszustandsmaschine aktuelle Informationen in Bezug auf Zustände, Aktionen und irgendeinen aus einer Matrixberechnung (z. B. aus einer Adjazenzmatrixberechnung) abgeleiteten resultierenden Zustand liefert, die in einer oder in mehreren dieser Tabellen gespeichert sind. Außerdem kann die Zusammenarbeitszustandsmaschine eine Berechtigungs- oder Sicherheitsprüfung ausführen, wodurch die Zusammenarbeitszustandsmaschine den Berechtigungs- oder Sicherheitsebenenkontext für einen Anwender bestimmen und die Authentizitäts- und Berechtigungsmasken (z. B. Informationen, die ebenfalls in dem dem elektronischen Marktplatz 16 zugeordneten Speicher gespeichert sind) in Bezug auf die vom Anwender angeforderten Zustands- und Aktionsinformationen verifizieren kann. Außerdem können sämtliche Aktionsbeschreibungen (z. B. Richtlinien, die darauf beruhen, welche Aktualisierungen bei Übergängen stattfinden) als Teil eines Aktionsobjekts im Speicher gespeichert sein. Vorteilhaft unterstützt die obenbeschriebene verhältnismäßig "leichte" Speicherstruktur in Bezug auf die vorliegende Erfindung einen verhältnismäßig hohen Grad an Skalierbarkeit.
  • Für eine beispielhafte Ausführungsform der vorliegenden Erfindung kann jeder Zustand einen oder mehrere Unterzustände (z. B. vorzugsweise mit einer Verschachtelungsebene) besitzen. Die Unterzustände können die Übergänge ihrer jeweiligen Überzustände erben. Ähnlich wie die Zustände können auch die Unterzustände aus der Perspektive einer Geschäftslogik modelliert werden. Beispielsweise kann eine Bestellung für ein Produkt "in der Warteschleife" angeordnet werden. Von einem Standpunkt der Geschäftslogik aus bedeutet, dass eine Bestellung "in der Warteschleife" angeordnet wird, nicht notwendig, dass sich der Bestellungszustand vollständig geändert hat. Die Bestellung kann vorübergehend "in einer Warteschleife" angeordnet werden, bis eine Aktion unternommen wird, in der die "Warteschleife" freigegeben wird. In diesem Fall kann die "Warteschleife" als Unterzustand modelliert werden.
  • In Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung kann eine Zusammenarbeitszustandsmaschine als Richtlinienmechanismus für die Semantik des Geschäftsobjekts über ihre jeweiligen Lebensdauern modelliert werden. Beispielsweise kann die Zusammenarbeitszustandsmaschine (im Speicher) für jede für das betroffene System definierte Aktion eine Aktionsbeschreibung unterhalten.
  • Diesbezüglich kann eine Aktionsbeschreibung als Objekt, d. h. als Richtlinien-Container, modelliert sein. Die Zusammenarbeitszustandsmaschine kann so konstruiert werden, dass sie eine feste Richtlinienmenge "versteht". Somit kann ein Systemkonstrukteur, Programmierer oder anderer Implementierer die Aktionsaktualisierungsrichtlinien als Untermenge der festen Richtlinienmenge konfigurieren. Beispielsweise kann eine Aktion "CUSTOMER_CANCEL", die von einem Entitätstyp "CUSTOMER" unternommen wird, mit den folgenden Aktionsaktualisierungsrichtlinien verknüpft sein: "UPDATE_STATE|SUPPLIER_SYNC_DOWN|DEBIT_CREDIT_CARD". Für dieses Kreditkartenbeispiel bedeuten die obenbeschriebenen Richtlinien, dass das System, wenn ein Kunde eine Aktion "CUSTOMER_CANCEL" ausführt, um eine Kreditkartenbelastung zu stornieren, den Ausgangszustand der Transaktion auf den neuen Zustand aktualisieren ("UPDATE_STATE") und einen zugeordneten Merker "SUPPLIER_SYNC" tief setzen kann. Daraufhin wird die Kreditkartenbelastung erstattet.
  • Aktionsbeschreibungen können für die Zusammenarbeitszustandsmaschine als "Befehle" zum Ausführen einer besonderen Operation oder einer Menge von Operationen verwendet werden. Beispielsweise können solche Operationen die Aktualisierung von Datenbankinformationen für bestimmte Geschäftsobjekte, das Einsetzen oder Löschen bestimmter Geschäftsobjekte und/oder das Aufrufen anderer Modelle (z. B. eines Modells zum Ausführen einer Blankoauftrags-Netzanwendung) aufweisen.
  • Zustandsbehandler sind Klassen (ein Objekt ist über seine Klassen definiert), die aus einem gegebenen Zustand die Logik für alle Übergänge liefern können. Zustandsbehandler können steuern, "was getan werden muss", wenn sich der Zustand eines Geschäftsobjekts ändert. Die Zusammenarbeitszustandsmaschine ermöglicht, dass Implementierer ihre eigenen Zustandsbehandler schreiben, die in die Zusammenarbeitszustandsmaschine eingeschoben werden können. Diesbezüglich kann ein Standardzustandsbehandler aufweist sein, der sämtliche Aktualisierungsrichtlinien (z. B. die zuvor beschriebenen) behandelt. Allerdings können einzelne Zustandsbehandler geschrieben werden, die den Anforderungen spezifischer Anwendungen genügen, falls das Standardverhalten solcher Anwendungen ungeeignet ist und der Standardzustandsbehandler überschrieben werden soll.
  • In Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung kann die Zusammenarbeitszustandsmaschine den verschiedenen Zustandsübergängen, die in einer Geschäftsanwendung auftreten können, verschiedene Typen von Benachrichtigungen zuordnen. Diese Benachrichtigungsfunktion ermöglicht, dass sich Anwender für spezifische Zustandsübergänge, die in einem System auftreten können, anmelden. Der Inhalt einer Benachrichtigungsmeldung kann auf der Zustandsübergangsebene konfiguriert werden. Für jeden auftretenden Zustandsübergang kann der Inhalt einer zugeordneten auszusendenden Benachrichtigungsmeldung konfiguriert werden, wobei irgendwelche in einem Geschäftsobjekt aufweisenden Informationen in den Inhalt der Nachricht aufgenommen werden können.
  • Benachrichtigungsmeldungen können außerdem für Zustandsänderungen ausgesendet werden, die wie etwa im Fall hierarchischer Objekte (z. B. in Verbindung mit den wie unten beschriebenen Zustandsaggregierern) auf höheren Ebenen auftreten. Dieses Benachrichtigungssystem schafft eine hohe Ebene der Anpassung, indem es die Anwender befähigt, sich wahlweise für verschiedene Ereignisse anzumelden, die in Bezug auf ein gegebenes Geschäftsobjekt auftreten können. Im Ergebnis können die Anwender bestimmte externe Entitäten aufrufen lassen, falls ein bestimmter Zustandsübergang auftritt.
  • Im Betrieb kann ein (z. B. dem elektronischen Marktplatz 16 zugeordneter) Prozessor die Zusammenarbeitszustandsmaschinen-Informationen aus einem Dateisystem lesen und in den Arbeitsspeicher laden. Alternativ kann die Zusammenarbeitszustandsmaschine auf der Basis von Konstruktionsvorzügen in einer Datenbank gespeichert sein. Für eine beispielhafte Ausführungsform kann der Prozessor die Zusammenarbeitszustandsmaschine unter Verwendung von Tabellen oder anderen Textdateien konstruieren, die im Speicher oder in einer Datenbank gespeichert sind, so dass sie eine Anzahl von Grafen aufweist, die in einer dreidimensionalen oder anderen geeigneten Adjazenzmatrix für die Zustandsmaschine gespeichert sind, wobei jeder Graf einer besonderen Zusammenarbeitsentität entspricht. Ein Anwender kann diese Tabellen zur Implementierungszeit konfigurieren, so dass sie sich für das besondere Geschäftsszenarium eignen. Die Anpassung der Zusammenarbeitszustandsmaschine kann das Ändern der Anwendernamen der Zustände, das Ändern der Aktionsbeschreibungen und das Hinzufügen neuer Zustände und Aktionen und ihrer zugeordneten Übergänge aufweisen.
  • Ein (z. B. dem elektronischen Marktplatz 16 zugeordneter) Anwendungs-Server kann für sämtliche Bezugnahmen auf Zustände und Aktionen intern Systemnamen als Primärschlüssel verwenden. Für eine beispielhafte Ausführungsform kann die Zusammenarbeitszustandsmaschine eine Abbildung zwischen Systemnamen und Anwendernamen ausführen, so dass die Anwendernamen zu irgendeinem Zeitpunkt geändert werden können, falls die betroffene Geschäftslogik dies fordert. Die Zustände und Aktionen können einen zugeordneten Anwendernamen besitzen, der angepasst werden kann, so dass er spezifischen Geschäftsanforderungen genügt.
  • Wie oben erwähnt wurde, können zur Darstellung der Zusammenarbeitszustandsmaschine beispielsweise drei Tabellen (z. B. Textdateien) verwendet werden. Eine beispielhafte Struktur und ein beispielhafter Inhalt für eine solche Datei (z. B. "State.txt" oder die Zustandsdatei), die zur Darstellung der Zusammenarbeitszustandsmaschine verwendet werden kann, ist unten in Tabelle 1 gezeigt: Tabelle 1

  • Beispielsweise kann die (obige) Datei "State.txt" Informationen für die vorhandenen Zustände in dem System, die Art, in der die Zustände zu behandeln oder zu verarbeitet sind, ihre SOR-Synchronisationsanforderungen und ihre Überzustandsbeziehungen aufweist. Jeder Zustand kann durch einen eindeutigen Anwendernamen sowie durch einen eindeutigen Systemnamen gekennzeichnet werden. Der Systemname kann im Speicher (oder in einer Datenbank) gespeichert werden, während der Anwendername für einen Anwender sichtbar ist. Im Ergebnis können den Zuständen kontextspezifische Namen zugewiesen werden. Für eine Zusammenarbeitsanwendung kann ein Zustandsobjekt zwei Felder aufweist: Customer Sync und Supplier Sync. Diese Felder können dazu verwendet werden, das spezifische Geschäftsobjekt zur SOR- Synchronisation (z. B. CSOR und SSOR für das Kunden-SOR bzw. für das Lieferanten- SOR) "zu verriegeln". Ein SOR-Freigabemerker an einem Zustand gibt an, dass der Zustand Synchronisierungsprüfungen erfordert. Falls die SOR-Merker beispielsweise tief sind (der Zustand die SOR-Synchronisation erfordert) und der Rollentyp (z. B. Kunde oder Lieferanten) angibt, dass das SOR freigegeben ist, wird dieser Datensatz für sämtliche nichtsynchronen Aktionen verriegelt. Sämtliche Übergänge werden von einem Überzustand zu einem Unterzustand (falls es solche Unterzustände gibt) gerichtet. Das Behandlerklassenfeld definiert die Behandlerklasse für die Übergänge. Beispielsweise kann die Behandlerklasse, wie in Tabelle 1 gezeigt ist, standardmäßig auf einen allgemeinen Behandler eingestellt sein.
  • Eine beispielhafte Struktur und ein beispielhafter Inhalt für eine zweite solche Datei (z. B. "Action.txt" oder die Aktionsdatei), die zur Darstellung der Zusammenarbeitszustandsmaschine verwendet werden kann, ist unten in Tabelle 2 gezeigt: Tabelle 2

  • Beispielsweise kann die Datei "Action.txt" Informationen für die zulässigen Aktionen in dem System zusammen mit ihren Aktualisierungsrichtlinien aufweist. Das Aktionsbeschreibungsfeld bildet eine Menge von Richtlinien, die anzuwenden sind, wenn die Aktion stattfindet. Dieses Feld (das z. B. wahlweise sein kann) schafft eine konfigurierbare Möglichkeit zur Beschreibung der Semantik der Aktionen. Falls in diesem Feld eine Aktionsbeschreibung vorhanden ist, beschreibt sie, was geschieht, wenn die Aktion auf einen Zustand angewendet wird. Die Einträge in dieser Spalte können vordefinierte Zeichenfolgen sein, die mit einem bitweisen "ODER"-Operator "|" begrenzt sind. Beispielsweise teilt die in Tabelle 2 gezeigte Aktionsbeschreibung von "UPDATE_STATE|UPDATE_DATA" dem Server mit, dass, wenn diese Aktion angetroffen wird, zunächst der Zustand aktualisiert wird und daraufhin die Daten aktualisiert werden.
  • Eine beispielhafte Struktur und ein beispielhafter Inhalt für eine dritte solche Datei (z. B. "Trans.txt" oder Übergangsdatei), die zur Darstellung der Zusammenarbeitszustandsmaschine verwendet werden kann, ist unten in Tabelle 3 gezeigt: Tabelle 3

  • Beispielsweise kann die Datei "Trans.txt" Übergänge aufweist, wie sie durch einen Zusammenarbeitsentitätstyp bezeichnet werden. Beispiele für solche Zusammenarbeitsentitätstypen können sein: KUNDE, LIEFERANTEN, TRANSPORTLIEFERANT usw. Somit können die Namen in der Datei "Trans.txt" die Anwendernamen der betroffenen Zustände und Aktionen sein. Diese Datei teilt dem Server den resultierenden Zustand bei einer Aktion für die Rolle (Zusammenarbeitsentitätstyp) mit.
  • In Übereinstimmung mit der vorliegenden Erfindung ist die Zusammenarbeitszustandsmaschine vorteilhaft so konstruiert, dass sie ermöglicht, dass Aktionen für verschiedene Zustände wiederverwendet werden, was dazu dient, die Struktur und den Betrieb der Zusammenarbeitszustandsmaschine verhältnismäßig "schlank" zu halten. Typischerweise können bestimmte Arten von Aktionen für viele Zustände wiederholt werden. Beispielsweise kann für die meisten Zustände eine "Stornierungs"-Aktion unternommen werden. Folglich ermöglicht die Zusammenarbeitszustandsmaschine vorteilhaft, dass die gleiche Semantik für verschiedene Zustände wiederverwendet wird.
  • Wenn die Zusammenarbeitszustandsmaschine erfolgreich in den Speicher (oder in eine Datenbank) geladen worden ist, können die Aktualisierungen und Zustandsänderungen im Zusammenhang mit den durch die Zusammenarbeitszustandsmaschine gebundenen Geschäftsobjekten durch die Zusammenarbeitszustandsmaschine gesteuert werden. Somit werden die Aktualisierungs- und Leseroutinen geschrieben, die mit der Zusammenarbeitszustandsmaschine in Wechselwirkung treten. Bei der Implementierung kann mehr als eine Zusammenarbeitszustandsmaschine verwendet werden.
  • Beispielsweise kann für jeden Geschäftsobjekttyp, der Zustandsinformationen transportiert, eine andere Zusammenarbeitszustandsmaschine verwendet werden. Somit können zur Steuerung der Behandlung verschiedener Aufträge verschiedene Zusammenarbeitszustandsmaschinen verwendet werden. Ein Auftrag kann sich über in dem Auftrag vorhandene Gruppierungskriterien selbst der spezifischen Zustandsmaschine zuordnen. Als ein weiteres Beispiel können ähnlich verschiedene Zusammenarbeitszustandsmaschinen zur Steuerung der Behandlung verschiedener Benachrichtigungen über beschleunigten Versand verwendet werden, da ihre Richtlinien und Zustände verschieden sein können.
  • Zur Kommunikation mit der Zusammenarbeitszustandsmaschine kann eine Anwenderschnittstelle (UI, engl. User Interface) verwendet werden, die alle möglichen Zustände abruft, die ein angemeldeter Anwender (beispielsweise auf einem Computermonitor) möglicherweise betrachten möchte, und die außerdem Aktionen abruft, die der Anwender für die gerade angezeigten Geschäftsobjekte durchführen möchte. Alternativ kann die Zusammenarbeitszustandsmaschine durch die UI auch das Rendern eines zu betrachtenden Objekts ansteuern.
  • Für eine beispielhafte Ausführungsform können Stapelprozesse verwendet werden, die bestimmte Aktionen für die betroffenen Geschäftsobjekte einstellen und fördern, dass die Aktualisierungsaktionen stattfinden. Diesbezüglich können Aktualisierungs- und Einsetzungsprogrammierschnittstellen (APIs, engl. Application Process Interfaces) verwendet werden, die mit der Zusammenarbeitszustandsmaschine kommunizieren, um anhand des bestehenden Zustands des betroffenen Geschäftsobjekts Aktionen zu überprüfen und außerdem den resultierenden Zustand sowie die zu aktualisierenden oder einzusetzenden Daten zu bestimmen. Die meisten Stapelleseoperationen können auf Zustandsereignissen als den Hauptbeschränkungen (z. B. dem Abrufen aller Aufträge, die in einem "Neu"-Zustand sind) beruhen. Um sicherzustellen, dass ein besonderer Stapelprozess die Sicherheitsanforderungen für den angeforderten Zustand übergeben kann, kann in diesem Fall eine Lese-API mit der Zusammenarbeitszustandsmaschine kommunizieren.
  • Wie oben erwähnt wurde, wird die Lebensdauer eines Geschäftsobjekts (z. B. eines Auftrags) vorzugsweise mit der Zusammenarbeitszustandsmaschine gesteuert. Im Ergebnis kann die Zusammenarbeitszustandsmaschine zulassen, dass verschiedene "Client"-Mechanismen (z. B. XML, flache Dateien, eine Web-gestützte Schnittstelle usw.) das gleiche Geschäftsobjekt bearbeiten und es unabhängig von dem Mechanismus, der den Zustand des Geschäftsobjekts ändert, während seiner Lebensdauer "führen".
  • Fig. 2 ist ein Diagramm, das bestimmte Wechselwirkungen zeigt, die zwischen Entitäten in einer Zusammenarbeitsanwendung auftreten können, und das zeigt, wie die Zusammenarbeitszustandsmaschine in Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung eine verteilte Synchronisation der Zusammenarbeitsgeschäftsobjekte ermöglichen kann. Typischerweise (102) kann ein Geschäftsobjekt (z. B. ein Auftrag, engl. Purchase Order PO) in einem SOR erzeugt und (z. B. über das Internet) zu einem Zusammenarbeitsanwendungs-Server (z. B. zu einem von 12 Technologies US, INC., entwickelten Anwendungs-Server TRADEMATRIX) transportiert werden. Ein weiterer Beteiligter in dem Zusammenarbeitsraum kann das Objekt (z. B. den Auftrag) aus dem Anwendungs-Server auslesen, es zu seinem SOR zurücktransportieren und verarbeiten (104). Nachdem die Verarbeitung des Objekts abgeschlossen ist (106) kann dieser Beteiligte das Geschäftsobjekt (z. B. als Zusage in Reaktion auf den Auftrag) zu dem Zusammenarbeitsanwendungs-Server zurücktransportieren (108), so dass weitere Beteiligte das Objekt verarbeiten können. Beispielsweise kann der Beteiligte, der den Auftrag erzeugt hat, das Objekt (einschließlich der Zusage) von dem Anwendungs-Server auslesen (110), es erforderlichenfalls verarbeiten und das Objekt (das z. B. eine Annahme oder Ablehnung der Zusage darstellt) zu dem Anwendungs-Server transportieren (112).
  • Wie zuvor erwähnt wurde, stellt die Zusammenarbeitszustandsmaschine in Übereinstimmung mit der vorliegenden Erfindung sicher, dass während der Verarbeitungsphase die Datenkonsistenz erhalten wird. Außerdem stellt die Zusammenarbeitszustandsmaschine sicher, dass die Datenkonsistenz leicht konfigurierbar ist. Somit kann die Zusammenarbeitszustandsmaschine eine Doppelbetriebsart (z. B. mit oder ohne SOR-Synchronisation) liefern. Beispielsweise kann ein Beteiligter in einigen Geschäftszusammenarbeitsszenarien ein SOR besitzen oder nicht. Beispielsweise kann eine verhältnismäßig große Geschäftsorganisation ein SOR besitzen, während sich einige ihrer kleineren Lieferanten möglicherweise kein SOR leisten können. In diesem Fall kann die Zusammenarbeitszustandsmaschine bestimmen, dass keine "Verriegelung" (z. B. synchrone Verriegelung beider miteinander) zwischen Entitäten erzwungen werden sollte. Die Entität ohne ein SOR kann über die UI (oder über eine andere solche Schnittstelle) des Anwendungs-Servers mit dem Anwendungs-Server der anderen Entität (z. B. einer, die ein SOR besitzt) in Wechselwirkung treten. Somit können z. B. jeder Entität in einem System ihrem im Profil dieser Entität gespeicherten Synchronisationsbedarf entsprechende Informationen zugeordnet sein. Beispielsweise kann eine Entität ohne SOR Profilinformationen besitzen, die angeben, dass keine Synchronisation erforderlich ist.
  • Außerdem stellt die Zusammenarbeitszustandsmaschine dadurch, dass sie in Übereinstimmung mit dem besonderen betroffenen Zustand und/oder der besonderen betroffenen Entität eine Verriegelungsfunktion steuert, Synchronisationsoptionen auf Zustands- und Entitätsbasis bereit. Wie oben erwähnt wurde, ist die Synchronisationsverriegelung für eine bestimmte Entität möglicherweise nicht erforderlich, so dass sie für diese nicht erzwungen zu werden braucht. Beispielsweise braucht ein Kunde für eine Entitätssynchronisation für eine Bestellung in einem Zustand "versandt" nicht verriegelt zu werden, da die einzigen Aktualisierungen, die für diesen Zustand zulässig sind, die Lieferanten betreffen. Im Ergebnis dessen, dass die Zusammenarbeitszustandsmaschine Synchronisationsoptionen zulässt, schafft sie mehr Flexibilität für Anwendungsimplementierer als vorausgehende Techniken, was ermöglicht, das die Implementierer Kundenanwendungen leicht anpassen und dadurch ihre Leistung erhöhen.
  • Als weiteres Beispiel könnte eine Verriegelung für das folgende Zusammenarbeitsgeschäftsszenarium erforderlich sein. Am 10. Juni 2001 fordert ein Kunde in Dallas, Texas, einhundert Computer von einem Lieferanten an. Als Reaktion kann der Lieferanten diese Informationen von der Zusammenarbeitsanwendung auslesen, über das Lieferanten spezifische SOR verarbeiten und am 10. Juni 2001 in Dallas, Texas, mit einer Zusage von neunzig Computern an den Kunden zurückgeben. Vorzugsweise ändert der Kunde die Bestellung nicht, bis der Lieferanten eine Antwort zurückgibt. Folglich kann ein Verriegelungsmechanismus verwendet werden, der sicherstellt, dass die Bestellung nicht geändert wird, bis eine Antwort zurückgegeben worden ist.
  • Außerdem stellt die Zusammenarbeitszustandsmaschine vorteilhaft sicher, dass die Integration mit externen SORs leicht erreicht wird. Es ist wichtig, dass die Zusammenarbeitszustandsmaschine diese Integration auf der Zustandsebene konfigurierbar machen kann. Beispielsweise kann die Zusammenarbeitszustandsmaschine eine solche Integration erreichen, indem sie einem Zustand als Teil seiner (wie oben beschriebenen) Metainformationen zusammen mit ausführlichen Profilinformationen über die beteiligten Entitäten einen oder mehrere SOR- Merker anfügt. Jede Instanz eines Zustands kann mehrere Merker besitzen, die den Synchronisationsstatus der Zusammenarbeitsentitäten bestimmen. Falls eine Entität beispielsweise ein SOR besitzt und ein entsprechender SOR-Merker für ein Objekt tief ist kann die Zusammenarbeitszustandsmaschine sicherstellen, dass eine Aktualisierung für dieses Objekt nicht durchgeht, und außerdem einen Merker einstellen, dass ein Aktualisierungsfehler aufgetreten ist.
  • Die Zusammenarbeitszustandsmaschine kann ermöglichen, dass eine UI anhand von Zustandsereignissen entscheidet, wie Objekte wiederzugeben (engl. render) sind. Die Aktionsaktualisierungsrichtlinien können an die UI Informationen über alle möglichen Aktualisierungen für ein besonderes Objekt (das z. B. einem Anwender angezeigt wird) liefern. Außerdem kann die Zusammenarbeitszustandsmaschine als Teil der allgemeinen Aktualisierungsrichtlinien für Objektrenderzwecke bestimmte UI-spezifische Aktualisierungsrichtlinien aufweist. Ferner kann die Zusammenarbeitszustandsmaschine in bestimmten Fällen den Arbeitsablauf für ein Objekt ansteuern. Beispielsweise kann eine UI mit der Zusammenarbeitszustandsmaschine Kontakt aufnehmen, um die Aktualisierungstypen zu bestimmen, die für eine gegebene Aktion möglich sind, und für Objekte, die diese Aktion durchführen, einen besonderen Arbeitsablauf verwenden.
  • Wie zuvor beschrieben wurde, informiert die Aktionsbeschreibung für eine Aktion eine Anwendung darüber "was zu tun ist, wenn diese Aktion durchgeführt wird". Eine UI kann diesen Informationstyp auch verwenden, um zu bestimmen, "was ein Anwender tun können darf, falls eine Geschäftsentität in diesem Zustand ist". Im Ergebnis kann die UI entscheiden, was einem Anwender anzuzeigen ist, wenn ein Geschäftsobjekt (z. B. ein Auftrag) in einem besonderen Zustand gezeigt wird. Außerdem kann die UI entziffern, welche Tabellen-"Spalten" in einem besonderen Zustand editiert werden können. Auf diese Weise ermöglicht die Zusammenarbeitszustandsmaschine, dass UIs hochgradig konfigurierbar sind, was sich für eine hochgradig anpassbare Zusammenarbeitszustandsmaschine anbietet.
  • Für hierarchische Objekte kann ein "Zustand" auf höheren Ebenen in einer Hierarchie eine Berechnung sein, die auf den Zuständen der vorangehenden unteren Ebenen beruhen. In Übereinstimmung mit einer beispielhaften Ausführungsform der vorliegenden Erfindung wird ein Zustandsaggregationssystem geschaffen, das eine Zusammenarbeitszustandsmaschine erweitert, um solche hierarchischen Objekte wirksam zu behandeln. Somit können Zustandsaggregierer einen anderen Typ einer Zusammenarbeitszustandsmaschine auf den höheren Ebenen der hierarchischen Geschäftsobjekte ermöglichen. Dieser etwas andere Zusammenarbeitszustandsmaschinentyp kann als "berechnete Zustandsmaschine" bezeichnet werden. Die Zustandsaggregierer, die konfigurierbar sind, können eine konfigurierbare Geschäftslogik bilden, die die berechnete Zustandsmaschine auf der aggregierten Ebene ansteuert. In einigen Implementierungen kann das Objekt der untersten Ebene einen gesamten Zustandsübergang durchlaufen, wobei die Objekte der höheren Ebene lediglich Informations-Container (d. h. keine Übergänge) zu sein brauchen. Somit bearbeiten die Entitäten in der Zusammenarbeit das Objekt auf der höheren Ebene nicht direkt. Folglich kann der Zustand des Objekts auf der höheren Ebene in Übereinstimmung mit der vorliegenden Erfindung als Aggregation berechnet werden.
  • Beispielsweise kann ein Zustandsaggregierer eine Matrix von Zuständen für zusammengesetzte Objekte nehmen und entscheiden, was der Zustand auf der höheren Ebene sein soll. Beispielsweise kann ein Zustandsaggregierer auf der Auftragsebene die Zustände der Gegenstände einer zusammengesetzten Zeile des Auftrags durchsehen und entscheiden, welchen Zustand der Auftrag haben soll. Somit können in Übereinstimmung mit der vorliegenden Erfindung für sämtliche zusammengesetzten Gegenstände, die aus Objekten mit Zustandseigenschaften zusammengesetzt sind, Aggregierer definiert werden. Ein solcher Zustandsverdichter kann die folgenden Anforderungen besitzen. Zunächst ist die Zustandsaggregiererdatei zur Implementierungszeit in den Speicher zu laden. Somit kann ein Implementierer auf Wunsch seinen eigenen Zustandsaggregierer schreiben. Ein Zeiger auf eine Speicheradresse für diesen Zustandsaggregierer kann in einer Eigenschaftsdatei angeordnet werden. Zweitens ist anhand der Zustandsprioritäten eine Standardimplementierung für die Zustandsaggregierer bereitzustellen. Ein Implementierer kann die Standardimplementierung auswählen und eine oder mehrere der Zustandsprioritäten für das spezifische betroffene Geschäftsmodell anpassen. Drittens hat ein Zustandsaggregierer Transaktionssemantik- und Konkurrenzfragen geeignet zu behandeln.
  • Fig. 3 ist ein Diagramm, das Programm-Pseudocode zur Verwendung eines beispielhaften Zustandsaggregierers in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung zeigt. Anhand von Fig. 3 kann eine Zustandsaggregation in den meisten Fällen im Wesentlichen dadurch ausgeführt werden, dass den Zuständen Prioritäten zugewiesen werden, wobei der Zustand mit der höchsten Priorität als der resultierende Zustand ausgewählt wird. Ein Prioritätsaggregierer kann diese Funktion dadurch ausführen, dass er die Prioritäten von Zuständen liest und die Prioritätsinformationen in den Prioritätsaggregierertabellen unterhält. Beispielsweise kann eine Datei für einen Prioritätsaggregierer als Datei "Aggregator_priorities.txt" bezeichnet werden, wobei sie aus einem Dateisystem gelesen werden kann, wenn der Anwendungs-Server für den Betrieb geladen wird. Eine beispielhafte Struktur für die Informationen, die in einer Datei Aggregator_priorities.txt unterhalten werden können, ist unten in Tabelle 4 gezeigt: Tabelle 4

  • Beim Implementieren einer Datei Aggregator_priorities.txt kann eine Voraussetzung gemacht werden, dass die kleineren "Prioritäts"-Nummern in der Datei höhere Prioritäten als die größeren Nummern darstellen. Vorzugsweise werden keine negativen Prioritätsnummern verwendet, während keine zwei Zustände in der Datei die gleiche Priorität besitzen dürfen.
  • Obgleich bevorzugte Ausführungsformen der vorliegenden Erfindung in der beigefügten Zeichnung gezeigt und in der vorstehenden Beschreibung erläutert wurden, ist die Erfindung selbstverständlich nicht auf die offenbarten Ausführungsformen beschränkt, wobei zahlreiche Änderungen, Abwandlungen und Ersetzungen vorgenommen werden können, ohne von dem durch die folgenden Ansprüche dargestellten und definierten Erfindungsgedanken abzuweichen.

Claims (40)

1. Computerimplementierte Zustandsmaschine zum Verarbeiten von Geschäftsobjekten, die Zusammenarbeiten zwischen Geschäftsentitäten darstellen, aufweisend:
wenigstens einem Geschäftsobjekt, das eine Zusammenarbeit zwischen mehreren Geschäfisentitäten darstellt; und
mehreren Grafen, die in computerlesbaren Medien dargestellt sind, wobei jeder Graf einer bestimmten Zusammenarbeitsgeschäftsentität entspricht, wobei die mehreren Grafen unter Verwendung mehrerer Textdateien erzeugt werden, wobei wenigstens eine erste der Textdateien Zustandsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind, wenigstens eine zweite der Textdateien Aktionsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind, und wenigstens eine dritte der Textdateien Übergangsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind.
2. Zustandsmaschine nach Anspruch 1, bei der die Grafen in einer Zustandsübergangsmatrix für die Zustandsmaschine gespeichert sind.
3. Zustandsmaschine nach Anspruch 2, bei der die Grafen Adjazenzgrafen sind und die Zustandsübergangsmatrix eine mehrdimensionale Adjazenzmatrix ist.
4. Zustandsmaschine nach Anspruch 2, bei der die Zustandsübergangsmatrix drei Dimensionen aufweist.
5. Zustandsmaschine nach Anspruch 2, bei der eine erste Dimension der Zustandsübergangsmatrix einen Zustandsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine zweite Dimension der Zustandsübergangsmatrix einen Aktionsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine dritte Dimension der Zustandsübergangsmatrix einen Entitätsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, und die in der Zustandsübergangsmatrix gespeicherten Informationen Zustandswerte aufweisen, die sich aus einer Berechnung ergeben, die von der Zustandsmaschine ausgeführten wird.
6. Zustandsmaschine nach Anspruch 1, bei der die Zusammenarbeitsgeschäftsentitäten wenigstens einen Kunden und einen Lieferanten aufweisen.
7. Zustandsmaschine nach Anspruch 1, bei der die Zustandsinformation wenigstens eine aus Zustandsidentifizierer-Information, Zustandsbehandlerklassen-Information, Synchronisationsanforderungs- Information und Überzustandsbeziehungs-Information aufweist.
8. Zustandsmaschine nach Anspruch 1, bei der die Aktionsinformation zumindest eine aus zulässigen Aktionsinformation und Aktualisierungsrichtlinien-Information aufweist.
9. Zustandsmaschine nach Anspruch 1, bei der die Übergangsinformation zumindest eine aus Entitätstypinformation, Startzustandsinformation, Information über eine durchgeführte Aktion und Information über den resultierenden Zustand aufweist.
10. Zustandsmaschine nach Anspruch 1, bei der die Zustandsmaschine eine von mehreren Zustandsmaschinen in einem computerimplementierten System zur Zusammenarbeit zwischen Geschäfisentitäten ist, wobei jede Zustandsmaschine eine Zustandsübergangsmatrix aufweist, die Informationen enthält, die mehrere Grafen für die Zustandsmaschine darstellen, und die unter Verwendung mehrerer Textdateien für die Zustandsmaschine erzeugt worden ist, wobei jeder Graf einem bestimmten Zusammenarbeitsgeschäftsentität entspricht.
11. Computerimplementiertes Verfahren, das die Verarbeitung von Geschäftsobjekten, die Zusammenarbeiten zwischen Geschäftsentitäten darstellen, durch eine Zustandsmaschine erleichtert, aufweisend:
Zugreifen auf wenigstens ein Geschäftsobjekt, das eine Zusammenarbeit zwischen mehreren Geschäftsentitäten darstellt; und
Erzeugen mehrerer Grafen, die in computerlesbaren Medien dargestellt sind, wobei jeder Graf einer besonderen Zusammenarbeitsgeschäftsentität entspricht, wobei die mehreren Grafen unter Verwendung mehrerer Textdateien erzeugt werden, wobei wenigstens eine erste der Textdateien Zustandsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind, wenigstens eine zweite der Textdateien Aktionsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind, und wenigstens eine dritte der Textdateien Übergangsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind.
12. Verfahren nach Anspruch 11, ferner aufweisend Speichern der Grafen in einer Zustandsübergangsmatrix für die Zustandsmaschine.
13. Verfahren nach Anspruch 12, bei dem die Grafen Adjazenzgrafen sind und die Zustandsübergangsmatrix eine mehrdimensionale Adjazenzmatrix ist.
14. Verfahren nach Anspruch 12, bei dem die Zustandsübergangsmatrix drei Dimensionen aufweist.
15. Verfahren nach Anspruch 12, bei dem eine erste Dimension der Zustandsübergangsmatrix einen Zustandsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine zweite Dimension der Zustandsübergangsmatrix einen Aktionsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine dritte Dimension der Zustandsübergangsmatrix einen Entitätsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, wobei die in der Zustandsübergangsmatrix gespeicherten Informationen Zustandswerte aufweisen, die sich aus einer Berechnung ergeben, die von der Zustandsmaschine ausgeführt wird.
16. Verfahren nach Anspruch 11, bei dem die Zusammenarbeitsgeschäftsentitäten wenigstens einen Kunden und einen Lieferanten aufweisen.
17. Verfahren nach Anspruch 11, bei dem die Zustandsinformation zumindest eine aus einer Zustandsidentifizierer-Information, einer Zustandsbehandlerklassen-Information, einer Synchronisationsanforderungsinformation und einer Überzustandsbeziehungs- Informationen aufweist.
18. Verfahren nach Anspruch 11, bei dem die Aktionsinformation zumindest eine aus einer zulässige Aktionsinformation und einer Aktualisierungsrichtlinien- Information aufweist.
19. Verfahren nach Anspruch 11, bei dem die Übergangsinformation zumindest eine aus einer Entitätstypinformation, einer Startzustandsinformation, einer Information über eine durchgeführte Aktion und Information über den resultierenden Zustand aufweist.
20. Verfahren nach Anspruch 11, bei dem das Geschäftsobjekt in einem computerimplementierten System zur Zusammenarbeit zwischen Geschäftsentitäten unter Verwendung einer von mehreren Zustandsmaschinen verarbeitet wird, wobei jede Zustandsmaschine eine Zustandsübergangsmatrix aufweist, die Informationen enthält, die mehrere Grafen für die Zustandsmaschine darstellen, und die unter Verwendung mehrerer Textdateien für die Zustandsmaschine erzeugt worden ist, wobei jeder Graf einer bestimmten Zusammenarbeitsgeschäftsentität entspricht.
21. Software für die Erleichterung der Verarbeitung durch eine Zustandsmaschine von Geschäftsobjekten, die Zusammenarbeiten zwischen Geschäftsentitäten darstellen, wobei die Software auf computerlesbaren Medien verkörpert ist und, wenn sie ausgeführt wird, in der Lage ist, um:
auf wenigstens ein Geschäftsobjekt zuzugreifen, das eine Zusammenarbeit zwischen mehreren Geschäftsentitäten darstellt; und
mehrerer Grafen zu erzeugen, die in computerlesbaren Medien dargestellt sind, wobei jeder Graf einer besonderen Zusammenarbeitsgeschäftsentität entspricht, wobei die mehreren Grafen unter Verwendung mehrerer Textdateien erzeugt werden, wobei wenigstens eine erste der Textdateien Zustandsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind, wenigstens eine zweite der Textdateien Aktionsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind, und wenigstens eine dritte der Textdateien Übergangsinformationen aufweist, die dem Geschäftsobjekt zugeordnet sind.
22. Software nach Anspruch 21, die ferner in der Lage ist um die Grafen in einer Zustandsübergangsmatrix für die Zustandsmaschine zu speichern.
23. Software nach Anspruch 22, bei der die Grafen Adjazenzgrafen sind und die Zustandsübergangsmatrix eine mehrdimensionale Adjazenzmatrix ist.
24. Software nach Anspruch 22, bei der die Zustandsübergangsmatrix drei Dimensionen aufweist.
25. Software nach Anspruch 22, bei der eine erste Dimension der Zustandsübergangsmatrix einen Zustandsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine zweite Dimension der Zustandsübergangsmatrix einen Aktionsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine dritte Dimension der Zustandsübergangsmatrix einen Entitätsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, wobei die in der Zustandsübergangsmatrix gespeicherten Informationen Zustandswerte aufweisen, die sich aus einer Berechnung ergeben, die von der Zustandsmaschine ausgeführt wird.
26. Software nach Anspruch 21, bei der die Zusammenarbeitsgeschäftsentitäten wenigstens einen Kunden und einen Lieferanten aufweisen.
27. Software nach Anspruch 21, bei der die Zustandsinformation zumindest eine aus einer Zustandsidentifizierer-Information, einer Zustandsbehandlerklassen- Information, einer Synchronisationsanforderungsinformation und einer Überzustandsbeziehungs-Information aufweist.
28. Software nach Anspruch 21, bei der die Aktionsinformation zumindest eine aus einer zulässige Aktionsinformation und einer Aktualisierungsrichtlinieninformation aufweist.
29. Software nach Anspruch 21, bei der die Übergangsinformation zumindest eine aus einer Entitätstypinformation, einer Startzustandsinformation, einer Informationen über eine durchgeführte Aktion und einer Information über den resultierenden Zustand aufweist.
30. Software nach Anspruch 21, bei der der Software eine von mehreren Zustandsmaschinen in einem computerimplementierten System zur Zusammenarbeit zwischen Geschäftsentitäten zugeordnet ist, wobei jede Zustandsmaschine eine Zustandsübergangsmatrix aufweist, die Informationen enthält, die mehrere Grafen für die Zustandsmaschine darstellen, und die unter Verwendung mehrerer Textdateien für die Zustandsmaschine erzeugt worden ist, wobei jeder Graf einer besonderen Zusammenarbeitsgeschäftsentität entspricht.
31. Computerimplementierte Zustandsmaschine zur Verarbeitung von Geschäftsobjekten, die Zusammenarbeiten zwischen Geschäftsentitäten darstellen, aufweisend:
wenigstens einem Geschäftsobjekt, das eine Zusammenarbeit zwischen mehreren Geschäftsentitäten darstellt; und
mehreren Grafen, die in einem computerlesbaren Medium dargestellt sind, wobei jeder Graf einer bestimmten Zusammenarbeitsgeschäftsentität entspricht, wobei die mehreren Grafen unter Verwendung mehrerer Textdateien erzeugt werden:
wenigstens eine erste der Textdateien Zustandsinformation aufweist, die dem Geschäftsobjekt zugeordnet sind, wobei die Zustandsinformation zumindest eine aus einer Zustandsidentifizierer- Informationen, einer Zustandsbehandlerklassen-Informationen, einer Synchronisationsanforderungsinformation und einer Überzustandsbeziehungs-Information aufweist;
wenigstens eine zweite der Textdateien Aktionsinformation aufweist, die dem Geschäftsobjekt zugeordnet sind, wobei die Aktionsinformation zumindest eine aus einer Information über zulässige Aktionen und einer Aktualisierungsrichtlinieninformation aufweist; und
wenigstens eine dritte der Textdateien dem Geschäftsobjekt zugeordnete Übergangsinformation aufweist, wobei die Übergangsinformation zumindest eine aus einer Entitätstypinformation, einer Startzustandsinformationen, einer Informationen über eine durchgeführte Aktion und einer Information über den resultierenden Zustand aufweist;
die Grafen in einer dreidimensionalen Zustandsübergangsmatrix für die Zustandsmaschine gespeichert sind, wobei eine erste Dimension der Zustandsübergangsmatrix einen Zustandsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine zweite Dimension der Zustandsübergangsmatrix einen Aktionsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, eine dritte Dimension der Zustandsübergangsmatrix einen Entitätsidentifizierer darstellt, der dem Geschäftsobjekt zugeordnet ist, wobei die in der Zustandsübergangsmatrix gespeicherten Informationen Zustandswerte aufweisen, die sich aus einer Berechnung ergeben, die von der Zustandsmaschine ausgeführt wird.
32. Computerimplementiertes Verfahren zum Aggregieren von Zustandsinformationen, die einem Verbundgeschäftsobjekt zugeordnet sind, das wenigstens eine Zusammenarbeit zwischen mehreren Geschäftsentitäten darstellt, wobei das Verfahren aufweist:
Auslesen der Zustandsinformationen für das Verbundgeschäftsobjekt aus einem computerlesbaren Medium; und
Bestimmen eines Zustands für das Verbundgeschäftsobjekt anhand einer zugewiesenen Prioritätsebene für einen Zustand in einer Hierarchie von Zuständen, die dem Verbundgeschäftsobjekt zugeordnet sind, wobei jedem Zustand in der Hierarchie von Zuständen eine entsprechende Prioritätsebene zugewiesen ist.
33. Verfahren nach Anspruch 32, bei dem die zugewiesene Prioritätsebene eine höchste Prioritätsebene für die Hierarchie von Zuständen aufweist.
34. Verfahren nach Anspruch 32, bei dem die Zustandsinformationen als Werte in einer mehrdimensionalen Zustandsübergangsmatrix für eine Zustandsmaschine gespeichert sind.
35. Software zum Aggregieren von Zustandsinformationen, die einem Verbundgeschäftsobjekt zugeordnet sind, das wenigstens eine Zusammenarbeit zwischen mehreren Geschäftsentitäten darstellt, wobei die Software in computerlesbaren Medien gespeichert ist und, wenn sie ausgeführt wird, in der Lage ist, um:
die Zustandsinformationen für das Verbundgeschäftsobjekt aus einem computerlesbaren Medium auszulesen; und
einen Zustand für das Verbundgeschäftsobjekt anhand einer zugewiesenen Prioritätsebene für einen Zustand in einer Hierarchie von Zuständen, die dem Verbundgeschäftsobjekt zugeordnet sind, wobei jedem Zustand in der Hierarchie von Zuständen eine entsprechende Prioritätsebene zugewiesen ist, zu bestimmen.
36. Software nach Anspruch 35, bei der die zugewiesene Prioritätsebene eine höchste Prioritätsebene für die Hierarchie von Zuständen aufweist.
37. Software nach Anspruch 35, bei der die Zustandsinformationen als Werte in einer mehrdimensionalen Zustandsübergangsmatrix für eine Zustandsmaschine gespeichert sind.
38. Computerimplementierter Zustandsaggregierer zum Aggregieren von Zustandsinformationen, die einem Verbundgeschäftsobjekt zugeordnet sind, das wenigstens eine Zusammenarbeit zwischen mehreren Geschäftsentitäten darstellt, wobei der Zustandsaggregierer aufweist:
Mittel zum Auslesen der Zustandsinformation für das Verbundgeschäftsobjekt aus einem computerlesbaren Medium; und
Mittel zum Bestimmen eines Zustandes für das Verbundgeschäftsobjekt anhand einer zugewiesenen Prioritätsebene für einen Zustand in einer Hierarchie von Zuständen, die dem Verbundgeschäftsobjekt zugeordnet sind, wobei jedem Zustand in der Hierarchie von Zuständen eine entsprechende Prioritätsebene zugewiesen ist.
39. Zustandsaggregierer nach Anspruch 38, bei dem die zugewiesene Prioritätsebene eine höchste Prioritätsebene für die Hierarchie von Zuständen aufweist.
40. Zustandsaggregierer nach Anspruch 38, bei dem die Zustandsinformationen als Werte in einer mehrdimensionalen Zustandsübergangsmatrix für eine Zustandsmaschine gespeichert sind.
DE10247529A 2001-10-15 2002-10-11 Anpassbare Zustandsmaschine und Zustandsaggregationstechnik zur Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten Withdrawn DE10247529A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US97827701A 2001-10-15 2001-10-15

Publications (1)

Publication Number Publication Date
DE10247529A1 true DE10247529A1 (de) 2003-06-05

Family

ID=25525934

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10247529A Withdrawn DE10247529A1 (de) 2001-10-15 2002-10-11 Anpassbare Zustandsmaschine und Zustandsaggregationstechnik zur Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten

Country Status (3)

Country Link
US (4) US9665893B2 (de)
DE (1) DE10247529A1 (de)
TW (1) TWI222588B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1850227A1 (de) * 2006-04-28 2007-10-31 Sag Ag Datenverarbeitungssystem und Verfahren zur Bereitstellung eines Statusverwaltungsdienstes

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2412755A (en) * 2004-03-30 2005-10-05 Hewlett Packard Development Co Coordination of lifecycle state changes in software components
US8694397B2 (en) * 2004-06-18 2014-04-08 Sap Ag Consistent set of interfaces derived from a business object model
US9645712B2 (en) * 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
EP2076874A4 (de) * 2006-05-13 2011-03-09 Sap Ag Von einem geschäftsobjektmodell abgeleiteter konsistenter satz von schnittstellen
US8051092B2 (en) * 2006-11-06 2011-11-01 Sap Ag Finalize sequencing for objects
US20080177556A1 (en) * 2007-01-19 2008-07-24 Long Fung Cheng Business object status management
US8417593B2 (en) 2008-02-28 2013-04-09 Sap Ag System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems
US7958167B2 (en) * 2008-03-05 2011-06-07 Microsoft Corporation Integration of unstructed data into a database
US8473317B2 (en) * 2008-03-31 2013-06-25 Sap Ag Managing consistent interfaces for service part business objects across heterogeneous systems
US20090249358A1 (en) * 2008-03-31 2009-10-01 Sap Ag Managing Consistent Interfaces for Kanban Business Objects Across Heterogeneous Systems
US20090248429A1 (en) * 2008-03-31 2009-10-01 Sap Ag Managing Consistent Interfaces for Sales Price Business Objects Across Heterogeneous Systems
US20090248463A1 (en) * 2008-03-31 2009-10-01 Emmanuel Piochon Managing Consistent Interfaces For Trading Business Objects Across Heterogeneous Systems
US20090326988A1 (en) 2008-06-26 2009-12-31 Robert Barth Managing consistent interfaces for business objects across heterogeneous systems
US20100153297A1 (en) 2008-12-12 2010-06-17 Sap Ag Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems
US20100205159A1 (en) * 2009-02-10 2010-08-12 Jun Li System and method for managing data
US8396751B2 (en) 2009-09-30 2013-03-12 Sap Ag Managing consistent interfaces for merchandising business objects across heterogeneous systems
US9135585B2 (en) 2010-06-15 2015-09-15 Sap Se Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems
US8732083B2 (en) 2010-06-15 2014-05-20 Sap Ag Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems
US8856792B2 (en) 2010-12-17 2014-10-07 Microsoft Corporation Cancelable and faultable dataflow nodes
US8627340B2 (en) 2011-06-23 2014-01-07 International Business Machines Corporation Managing events generated from business objects
US8725654B2 (en) 2011-07-28 2014-05-13 Sap Ag Managing consistent interfaces for employee data replication business objects across heterogeneous systems
US8775280B2 (en) 2011-07-28 2014-07-08 Sap Ag Managing consistent interfaces for financial business objects across heterogeneous systems
US8601490B2 (en) 2011-07-28 2013-12-03 Sap Ag Managing consistent interfaces for business rule business object across heterogeneous systems
US10599620B2 (en) * 2011-09-01 2020-03-24 Full Circle Insights, Inc. Method and system for object synchronization in CRM systems
US10621206B2 (en) 2012-04-19 2020-04-14 Full Circle Insights, Inc. Method and system for recording responses in a CRM system
US9082073B2 (en) 2011-11-30 2015-07-14 Metaswitch Networks Ltd. Method and apparatus for operating a finite state machine
US9232368B2 (en) 2012-02-16 2016-01-05 Sap Se Consistent interface for user feed administrator, user feed event link and user feed settings
US8756274B2 (en) 2012-02-16 2014-06-17 Sap Ag Consistent interface for sales territory message type set 1
US8762454B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for flag and tag
US8762453B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for feed collaboration group and feed event subscription
US9237425B2 (en) 2012-02-16 2016-01-12 Sap Se Consistent interface for feed event, feed event document and feed event type
US8984050B2 (en) 2012-02-16 2015-03-17 Sap Se Consistent interface for sales territory message type set 2
US8615451B1 (en) 2012-06-28 2013-12-24 Sap Ag Consistent interface for goods and activity confirmation
WO2014000200A1 (en) 2012-06-28 2014-01-03 Sap Ag Consistent interface for document output request
US9246869B2 (en) 2012-06-28 2016-01-26 Sap Se Consistent interface for opportunity
US8756135B2 (en) 2012-06-28 2014-06-17 Sap Ag Consistent interface for product valuation data and product valuation level
US9400998B2 (en) 2012-06-28 2016-07-26 Sap Se Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule
US8949855B2 (en) 2012-06-28 2015-02-03 Sap Se Consistent interface for address snapshot and approval process definition
US9367826B2 (en) 2012-06-28 2016-06-14 Sap Se Consistent interface for entitlement product
US9547833B2 (en) 2012-08-22 2017-01-17 Sap Se Consistent interface for financial instrument impairment calculation
US9043236B2 (en) 2012-08-22 2015-05-26 Sap Se Consistent interface for financial instrument impairment attribute values analytical result
US9076112B2 (en) 2012-08-22 2015-07-07 Sap Se Consistent interface for financial instrument impairment expected cash flow analytical result
US9191343B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for appointment activity business object
US9191357B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for email activity business object
US9922136B2 (en) * 2014-03-19 2018-03-20 International Business Machines Corporation Non-intrusive, semantics-driven impact analysis for business applications
US9959114B2 (en) 2015-03-16 2018-05-01 Microsoft Technology Licensing, Llc Representation of customizable types in a development environment
US10067755B2 (en) 2015-03-16 2018-09-04 Microsoft Technology Licensing, Llc Model driven customization framework
US10078501B2 (en) 2015-03-16 2018-09-18 Microsoft Technology Licensing, Llc Domain specific language modeling framework in a development environment
US10430234B2 (en) 2016-02-16 2019-10-01 Red Hat, Inc. Thread coordination in a rule engine using a state machine
US11474837B2 (en) 2018-04-09 2022-10-18 Advanced New Technologies Co., Ltd. Method and apparatus for efficient programming of electronic payment processing
CN108764864A (zh) * 2018-04-09 2018-11-06 阿里巴巴集团控股有限公司 一种配置支付流程、执行支付流程的方法、装置及设备
CN115209360B (zh) * 2022-07-15 2023-06-09 烽火通信科技股份有限公司 基于对象的聚合容器数据传输方法和装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US493971A (en) * 1893-03-21 Adding-machine
US4939071A (en) 1984-03-06 1990-07-03 Harris Corporation Method for forming low resistance, sub-micrometer semiconductor gate structures
KR970003903B1 (en) 1987-04-24 1997-03-22 Hitachi Mfg Kk Semiconductor device and fabricating method thereof
US5288660A (en) 1993-02-01 1994-02-22 Avantek, Inc. Method for forming self-aligned t-shaped transistor electrode
KR960006004A (ko) 1994-07-25 1996-02-23 김주용 반도체 소자 및 그 제조방법
US5585307A (en) 1995-02-27 1996-12-17 Taiwan Semiconductor Manufacturing Company Ltd. Forming a semi-recessed metal for better EM and Planarization using a silo mask
KR0170498B1 (ko) 1995-11-21 1999-03-30 양승택 T형 게이트 전극의 형성방법
US5688704A (en) 1995-11-30 1997-11-18 Lucent Technologies Inc. Integrated circuit fabrication
US6041306A (en) * 1996-12-05 2000-03-21 Hewlett-Packard Company System and method for performing flexible workflow process execution in a distributed workflow management system
TW347561B (en) 1997-06-20 1998-12-11 Ti Acer Co Ltd Method of forming a T-gate Lightly-Doped Drain semiconductor device
US6307546B1 (en) * 1997-12-30 2001-10-23 Alcatel Usa Sourcing, L.P. Telecommunications system craft interface device with parser having object-oriented state machine
US6119149A (en) * 1998-06-05 2000-09-12 I2 Technologies, Inc. System and process allowing collaboration within and between enterprises for optimal decision making
WO2000033235A1 (en) * 1998-11-30 2000-06-08 Siebel Systems, Inc. State models for monitoring processes
US7379882B2 (en) * 2001-08-09 2008-05-27 International Business Machines Corporation Architecture designing method and system for e-business solutions
US20030050813A1 (en) * 2001-09-11 2003-03-13 International Business Machines Corporation Method and apparatus for automatic transitioning between states in a state machine that manages a business process
US7627484B2 (en) * 2001-09-11 2009-12-01 International Business Machines Corporation Method and apparatus for managing and displaying user authorizations for a business process managed using a state machine
US20030050820A1 (en) * 2001-09-11 2003-03-13 International Business Machines Corporation Method and apparatus for managing a user group list for a business process managed using a state machine
US20030050886A1 (en) * 2001-09-11 2003-03-13 International Business Machines Corporation Method and apparatus for managing the versioning of business objects using a state machine
US20030050789A1 (en) * 2001-09-12 2003-03-13 International Business Machines Corporation Method and apparatus for monitoring execution of a business process managed using a state machine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1850227A1 (de) * 2006-04-28 2007-10-31 Sag Ag Datenverarbeitungssystem und Verfahren zur Bereitstellung eines Statusverwaltungsdienstes

Also Published As

Publication number Publication date
US9665893B2 (en) 2017-05-30
US11494815B2 (en) 2022-11-08
US20200090238A1 (en) 2020-03-19
US10482508B2 (en) 2019-11-19
US20080065443A1 (en) 2008-03-13
TWI222588B (en) 2004-10-21
US20230177573A1 (en) 2023-06-08
US20170262909A1 (en) 2017-09-14

Similar Documents

Publication Publication Date Title
DE10247529A1 (de) Anpassbare Zustandsmaschine und Zustandsaggregationstechnik zur Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten
DE102007011150B4 (de) Verfahren und System zum Verwalten von Daten in einem Arbeitsablaufprozess
US20220070171A1 (en) Hierarchical permissions model within a document
DE102004001835A1 (de) Stammdaten-Verwaltungssystem für die zentrale Verwaltung von Kernreferenzdaten, die einem Unternehmen zugeordnet sind
US20050144036A1 (en) System and method for a web-based venture reporting
DE102012223167B4 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE19955004A1 (de) Ableitung und Ausführung von Workload-Manager-Enklaven aus Workflows
DE10003015A1 (de) Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
US20240020344A1 (en) Binding traits to case nodes
DE112011102394T5 (de) Verwalten und Optimieren von Workflows zwischen Computeranwendungen
DE112018005049T5 (de) Transformieren einer spezifikation in ein dauerhaftes computerprogramm
DE112013001175T5 (de) Erzeugen von elektronischen Stammbäumen
DE202006021112U1 (de) Vorrichtung zum Bearbeiten von Geschäftsgegenständen, elektronischen Formaten und Arbeitsabläufen
EP1638019A2 (de) Verbesserte Objektabbildung durch Abbildung von Schlüsselunterobjekten
DE102004022478A1 (de) Datenintegrationssystem mit programmatischen Quell- und Zielschnittstellen
DE102005050287A1 (de) Verfahren und Anordnung zur Verarbeitung und/oder Verwaltung von Satzaufträgen für Anzeigen in Druck- und/oder online-Medien sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium und ein Verfahren zum Datenmanagement in verteilten objektorientierten Workflow-Systemen
DE112021005378T5 (de) Selbstbedienungsintegration und testen von merkmalen
DE10247533A1 (de) Graphisches Entwerfen und automatisches Erzeugen für ein Verstehen der Semantik von Versorgungsketten geeigneter Kooperationsdienste für Versorgungsketten
EP1187001A2 (de) Integriertes Wissens-Technologiesystem
US11985131B2 (en) Descendent case role alias
WO2003075157A2 (de) Verfahren, software-produkt und system zur universellen computergestützten informationsverarbeitung
DE10325832A1 (de) Abwicklung von Planungs- Problemen über Planungs- Zyklen
WO2009049718A1 (de) Computerimplementiertes system und verfahren zum strukturierten speichern von daten mindestens eines vordefinierten ablaufs
DE60320395T2 (de) Methode und Computersystem zum Archivieren von Datenobjekten
Heilig et al. SAP NetWeaver: The Official Guide

Legal Events

Date Code Title Description
8128 New person/name/address of the agent

Representative=s name: DF-MP, 80333 MUENCHEN

8139 Disposal/non-payment of the annual fee