DE102012210064A1 - Verwalten von aus Geschäftsobjekten erzeugten Ereignissen - Google Patents

Verwalten von aus Geschäftsobjekten erzeugten Ereignissen Download PDF

Info

Publication number
DE102012210064A1
DE102012210064A1 DE102012210064A DE102012210064A DE102012210064A1 DE 102012210064 A1 DE102012210064 A1 DE 102012210064A1 DE 102012210064 A DE102012210064 A DE 102012210064A DE 102012210064 A DE102012210064 A DE 102012210064A DE 102012210064 A1 DE102012210064 A1 DE 102012210064A1
Authority
DE
Germany
Prior art keywords
event
business
business object
data
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102012210064A
Other languages
English (en)
Inventor
Anamitra Bhattacharyya
Boris Dozortsev
Thomas John Sarasin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102012210064A1 publication Critical patent/DE102012210064A1/de
Ceased legal-status Critical Current

Links

Images

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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

Ein Verfahren, ein System und ein Computerprogrammprodukt zur Verwaltung von Ereignissen, die aus Geschäftsobjekten in einer Geschäftstransaktionsumgebung erzeugt werden, werden in den der Veranschaulichung dienenden Ausführungsformen bereitgestellt. Ein erstes Ereignis, das von einem Geschäftsobjekt in einer Vielzahl von Geschäftsobjekten ausgelöst wird, die in einer Geschäftsentität konfiguriert werden, wird erkannt. Die Geschäftsentität wird in dem Datenverarbeitungssystem ausgeführt und stellt eine Funktion zur Verarbeitung einer Anforderung zur Verfügung. Es wird festgestellt, ob vor dem ersten Ereignis und während der Verarbeitung der Anforderung ein zweites Ereignis erkannt worden ist. Als Reaktion darauf, dass die Feststellung positiv ist, werden erste Ereignisdaten, die zu dem ersten Ereignis gehören, mit zweiten Ereignisdaten, die von dem zweiten Ereignis gespeichert wurden, kombiniert. Der Vorgang des Kombinierens hat zusammengefasste Ereignisdaten zum Ergebnis. Als Reaktion auf die Anforderung werden die zusammengefassten Ereignisdaten veröffentlicht, nachdem die Verarbeitung der Anforderung abgeschlossen ist.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft allgemein ein Computer implementiertes Verfahren, ein System und ein Computerprogrammprodukt zur Verarbeitung von Geschäftstransaktionen. Insbesondere betrifft die vorliegende Erfindung ein Computer implementiertes Verfahren, ein System und ein Computerprogrammprodukt zum Verwalten von Ereignissen, die aus Geschäftsobjekten erzeugt werden, welche an einer Geschäftstransaktion teilnehmen.
  • Hintergrund
  • Software-Anwendungen treten in einer Datenverarbeitungsumgebung miteinander in Dialogverkehr, um Geschäftstransaktionen zu verarbeiten. Eine Geschäftstransaktion ist eine Anforderung zur Durchführung einer Operation – mit oder ohne eine entsprechende Reaktion. Üblicherweise dient eine solche Anforderung dazu, eine Operation in Bezug auf Daten anzufordern, die für einen Geschäftszweck verwaltet werden.
  • Beispielsweise kann eine Anwendung für die Eingabe von Bestellungen eine Anforderung für die Genehmigung einer Bestellung an eine andere Anwendung senden, die einen Genehmigungsprozess für Bestellungen ausführen kann. Als ein weiteres Beispiel kann eine Ablaufplaner-Anwendung eine Anforderung, mit der Verarbeitung der Bestellungen für den Tag zu beginnen, an eine andere Anwendung senden, die einen Stapelverarbeitungsprozess für die Übergabe und die Verarbeitung der Bestellungen ausführen kann.
  • Eine Anwendung zur Verarbeitung einer Geschäftstransaktion hängt gewöhnlich von einem Verbund (Wolke (Cloud)) von Geschäftsobjekten (Business Objects (BO)) ab. Ein Geschäftsobjekt ist eine Kombination aus Code und Daten, die eine bestimmte Funktionalität bereitstellt, welche bei der Verarbeitung einer Geschäftstransaktion nützlich ist. Mehrere Geschäftsobjekte können miteinander in Dialogverkehr treten wie zum Beispiel in einer Cloud, um komplexere Geschäftsfunktionen bereitzustellen. Eine Cloud aus Geschäftsobjekten kann so konfiguriert werden, dass sie bestimmte Funktionen oder Dienste anbietet, die von der Anwendung angeboten werden sollen.
  • Kurzdarstellung
  • Die der Veranschaulichung dienenden Ausführungsformen stellen ein Verfahren, ein System und ein Computerprogrammprodukt zum Verwalten von Ereignissen bereit, die aus Geschäftsobjekten erzeugt werden.
  • Bei einer Ausführungsform wird ein erstes Ereignis erkannt, wobei das erste Ereignis von einem Geschäftsobjekt in einer Vielzahl von Geschäftsobjekten, die in einer Geschäftsentität konfiguriert werden, ausgelöst wird. Die Geschäftsentität wird in dem Datenverarbeitungssystem ausgeführt und stellt eine Funktion zur Verarbeitung einer Anforderung bereit. Bei der Ausführungsform wird festgestellt, ob vor dem Ereignis und während der Verarbeitung der Anforderung ein zweites Ereignis erkannt worden ist. Als Reaktion darauf, dass die Feststellung positiv ist, wird bei der Ausführungsform eine erste Ereignisdatenangabe, die zu dem Ereignis gehört, mit einer zweiten Ereignisdatenangabe, die von dem zweiten Ereignis gespeichert wurde, wobei der Vorgang des Kombinierens zusammengefasste Ereignisdaten zum Ergebnis hat. Als Reaktion auf die Anforderung veröffentlicht die Ausführungsform die zusammengefassten Ereignisdaten, nachdem die Verarbeitung der Anforderung abgeschlossen ist.
  • In einer anderen Ausführungsform führt ein Ändern der Transaktionsdaten aufgrund der Anforderung das erste Ereignis herbei, und im Anschluss an den Vorgang des Änderns enthält das erste Ereignis die Transaktionsdaten in einem geänderten Zustand.
  • In einer anderen Ausführungsform beinhaltet das Erkennen des ersten Ereignisses des Weiteren das Zuordnen eines auf die Ereignisse Wartenden (Listener) zu dem Geschäftsobjekt in der Geschäftsentität. Bei der Ausführungsform wird das Geschäftsobjekt in der Geschäftsentität eindeutig für den Listener gekennzeichnet.
  • Bei einer anderen Ausführungsform wird das Geschäftsobjekt des Weiteren als ein aktives Geschäftsobjekt konfiguriert, wobei dem aktiven Geschäftsobjekt gestattet wird, Ereignisse auszulösen. Bei der Ausführungsform wird ein zweites Geschäftsobjekt in der Vielzahl der Geschäftsobjekte als ein passives Geschäftsobjekt konfiguriert, wobei das passive Geschäftsobjekt daran gehindert wird, Ereignisse auszulösen.
  • In einer weiteren Ausführungsform ist das Geschäftsobjekt in der Vielzahl der Geschäftsobjekte nicht so konfiguriert, dass es das erste Ereignis über eine Eltern-Kind-Beziehung mit einem zweiten Geschäftsobjekt weitergibt. Das Geschäftsobjekt löst das erste Ereignis aus, nachdem es infolge einer Verarbeitung der Anforderung durch das Geschäftsobjekt eine Änderung der Transaktionsdaten, die zu der Anforderung gehören, erkannt hat.
  • In einer anderen Ausführungsform wird die Feststellung, ob ein zweites Ereignis erkannt worden ist, durchgeführt, indem auf einen Ereignis-Merker Bezug genommen wird.
  • In einer anderen Ausführungsform wird der Ereignis-Merker in Bezug auf ein Stammgeschäftsobjekt einer Hierarchie der Vielzahl der Geschäftsobjekte in der Geschäftsentität verwaltet.
  • In einer anderen Ausführungsform wird der Ereignis-Merker in Bezug auf ein Kind-Geschäftsobjekt in der Hierarchie verwaltet. In der Ausführungsform verzeichnet der Ereignis-Merker nur diejenigen Ereignisse, die sich aus denjenigen Geschäftsobjekten ergeben, welche in einem Untergraphen unter dem Kind-Geschäftsobjekt in der Hierarchie erscheinen.
  • In einer anderen Ausführungsform ist der Ereignis-Merker eine nichtdauerhafte Eigenschaft des Stammgeschäftsobjekts.
  • In einer anderen Ausführungsform hat der Vorgang des Kombinierens das Zusammenführen einer ersten Änderung der Transaktionsdaten, die das erste Ereignis verursacht hat, mit einer zweiten Änderung der Transaktionsdaten, die das zweite Ereignis verursacht hat, zur Folge.
  • In einer anderen Ausführungsform nimmt das Geschäftsobjekt an einer zweiten Geschäftsentität teil. Bei der Ausführungsform wird ferner geprüft, ob das erste Ereignis von dem Geschäftsobjekt in der Geschäftsentität ausgelöst wird. Als Reaktion darauf, dass das erste Ereignis von dem Geschäftsobjekt in der zweiten Geschäftsentität ausgelöst wird, wird bei der Ausführungsform das erste Ereignis ignoriert und der Vorgang des Kombinierens weggelassen.
  • Bei einer weiteren Ausführungsform wird das erste Ereignis des Weiteren in eine Kategorie einer Vielzahl von Kategorien eingeordnet. In der Ausführungsform hat der Vorgang des Kombinierens eine in eine Kategorie eingeordnete, zusammengefasste Ereignisdatenangabe zum Ergebnis, indem eine erste Änderung der Transaktionsdaten, die das erste Ereignis verursacht hat, mit einer zweiten Änderung der Transaktionsdaten, die das zweite Ereignis verursacht hat, zusammengeführt wird, so dass sich das erste Ereignis und das zweite Ereignis in einer gemeinsamen Kategorie befinden.
  • In einer anderen Ausführungsform beinhaltet der Vorgang des Veröffentlichens das Veröffentlichen der in eine Kategorie eingeordneten, zusammengefassten Ereignisdaten für eine jede solche Kategorie in der Vielzahl der Kategorien, die mindestens ein Ereignis enthält, während der Verarbeitung der Anforderung.
  • Kurze Beschreibung der diversen Ansichten der Zeichnungen
  • Die neuartigen Merkmale, die als kennzeichnend für die Ausführungsformen der Erfindung erachtet werden, werden in den beigefügten Ansprüchen dargelegt. Eine Ausführungsform der Erfindung selbst jedoch sowie eine bevorzugte Verwendungsart, weitere Aufgaben und Vorteile der Erfindung lassen sich am besten durch Bezugnahme auf die folgende ausführliche Beschreibung einer der Veranschaulichung dienenden Ausführungsform, wenn diese in Verbindung mit den beigefügten Zeichnungen gelesen wird, verstehen, bei denen:
  • 1 ein Netzwerk aus Datenverarbeitungssystemen bildlich darstellt, in dem der Veranschaulichung dienende Ausführungsformen realisiert werden können;
  • 2 ein Blockschaltbild eines Datenverarbeitungssystems zeigt, in dem der Veranschaulichung dienende Ausführungsformen realisiert werden können;
  • 3 ein Blockschaubild einer Konfiguration zeigt, die dazu dient, zusammengefasste Ereignisse von Geschäftsobjekten gemäß einer der Veranschaulichung dienenden Ausführungsform zu veröffentlichen;
  • 4 ein Blockschaubild einer beispielhaften Konfiguration einer Geschäftstransaktionsumgebung zeigt, in der Ereignisse von mehreren Geschäftsobjekten in mehreren Geschäftsentitäten für mehrere Verbraucheranwendungen gemäß einer der Veranschaulichung dienenden Ausführungsform zusammengefasst werden;
  • 5 einen Ablaufplan eines Prozesses zur Konfiguration einer Geschäftstransaktionsumgebung zeigt, um Ereignisse, die aus Geschäftsobjekten erzeugt werden, gemäß einer der Veranschaulichung dienenden Ausführungsform zu verwalten;
  • 6 einen Ablaufplan eines Prozesses zeigt, um Ereignisse, die aus Geschäftsobjekten erzeugt werden, gemäß einer der Veranschaulichung dienenden Ausführungsform zu verwalten; und
  • 7 ein Blockschaubild einer beispielhaften Ereignisverwaltungs-Anwendung gemäß einer der Veranschaulichung dienenden Ausführungsform zeigt.
  • Ausführliche Beschreibung
  • Die Geschäftsobjekte können zu Gruppen oder Clouds zusammengestellt werden, indem Beziehungen zwischen den Objekten hergestellt werden. Eine Geschäftsentität (Business Entity (BE)) stellt eine logische Gruppierung von Geschäftsobjekten dar, bei der ein Geschäftsobjekt eine Beziehung zu einem anderen Geschäftsobjekt hat. Ein Objekt kann sich zum Beispiel in einer Eltern-Kind-Beziehung zu einem anderen Geschäftsobjekt befinden, und das Kind-Geschäftsobjekt kann über die Funktionalität des Eltern-Geschäftsobjekts zusätzliche Funktionalität bereitstellen oder eine von dem Eltern-Geschäftsobjekt bereitgestellte Funktionalität für spezielle Zwecke auslegen.
  • Eine Geschäftsentität stellt ein atomares Geschäftsobjekt für eine andere Anwendung wie zum Beispiel eine Software-Anwendung dar, welche die Funktionalität, die Daten oder die Dienste, welche von der Geschäftsentität bereitgestellt werden, in Anspruch nimmt. Im Grunde ist eine Geschäftsentität ein virtuelles Geschäftsobjekt für den Verbraucher und wird von einem Graphen von zusammengehörenden Geschäftsobjekten innerhalb der Anwendungsplattform dargestellt. Eine Bestellung, ein Auftrag, ein Betriebsmittel oder ein Lagerbestand, die als ein Graph von Beziehungen zwischen Geschäftsobjekten dargestellt werden, welche bestimmte Teile der Bestellung, eines Auftrags, eines Wirtschaftsgutes bzw. des Lagerbestands kapseln, sind ein paar Beispiele für eine Geschäftsentität.
  • Eine Geschäftsentität ”Arbeitsabwicklung” (Work Management) könnte zum Beispiel einen Graphen von zusammengehörenden Geschäftsobjekten wie zum Beispiel ein Geschäftsobjekt ”Auftrag”, ein Geschäftsobjekt ”Arbeitsplan”, ein Geschäftsobjekt ”geplantes Material” und ein Geschäftsobjekt ”Lagerbestandsreservierungen” enthalten. Jedes dieser beispielhaften Geschäftsobjekte ist so konfiguriert, dass es eine bestimmte Funktionalität innerhalb der Geschäftsentität ”Arbeitsabwicklung” bereitstellt. Eine weitere Anwendung – eine Verbraucheranwendung – kann die Arbeitsabwicklungs-Funktionalität der Geschäftsentität ”Arbeitsabwicklung” in Anspruch nehmen oder nutzen. Aus Sicht der Verbraucheranwendung scheint die Funktionalität der Arbeitsabwicklung von der Geschäftsentität ”Arbeitsabwicklung” als Ganzes bereitgestellt zu werden. Die Verbraucheranwendung kennt die einzelnen Geschäftsobjekte, welche die Geschäftsentität ”Arbeitsabwicklung” bilden, nicht oder braucht sie nicht zu kennen.
  • Eine Verbraucheranwendung sendet eine Anforderung an eine Geschäftsentität oder an eine mit einer anderen Anwendung konfigurierte Geschäftsentität. Bei den Ausführungsformen der Erfindung wird erkannt, dass eine Verbraucheranwendung oft über Änderungen an der Geschäftsentität, die sich aus der Anforderung ergeben, benachrichtigt werden muss. Insbesondere ist die Verbraucheranwendung daran interessiert, auf Ereignisse von dem Graphen mit Geschäftsobjekten in der Geschäftsentität als Ganzes zu lauschen und möchte nicht wissen, welches bestimmte Geschäftsobjekt welches bestimmte Ereignis ausgelöst hat. Ein Ereignis ist eine Änderung der Daten in Bezug auf die Anforderung infolge der Anforderung.
  • Eine Geschäftsentität kann konfiguriert werden, indem man Geschäftsobjekte aus einem Verbund von Geschäftsobjekten auswählt und die ausgewählten Geschäftsobjekte in einem hierarchischen Graphen miteinander in Beziehung setzt. Die Auswahl der Geschäftsobjekte und die Struktur des Graphen können für die Funktionalität, welche von der Geschäftsentität, die konzipiert wird, erwartet wird, individuell angepasst werden, wobei die Geschäftsobjekte in der Geschäftsentität nicht im Voraus wissen können, zu welchen Geschäftsentitäten oder Eltern-Geschäftsobjekten sie gehören werden. Oftmals gehört dasselbe Geschäftsobjekt entweder zur selben Zeit oder zu verschiedenen Zeiten zu unterschiedlichen Geschäftsentitäten und erscheint an verschiedenen Stellen in demselben oder in verschiedenen Graphen.
  • Folglich wird bei den Ausführungsformen der Erfindung erkannt, dass ein Geschäftsobjekt nicht so konzipiert werden kann, dass es einen Mechanismus zum Kontaktieren eines bekannten Eltern-Geschäftsobjekts bereitstellt, wenn sich der Zustand der Daten an dem Geschäftsobjekt ändert. Anders ausgedrückt, wenn ein Geschäftsobjekt ein Ereignis, das heißt, eine Änderung des Zustands der Daten auslöst, die von dem Geschäftsobjekt bearbeitet werden, kann das Geschäftsobjekt das Ereignis nicht über irgendeinen Eltern-Kind-Kommunikationsmechanismus eine bestimmte Hierarchie hinauf kommunizieren, um Ereignisse in einer Geschäftsentität weiterzugeben.
  • Jedes Geschäftsobjekt in einer Geschäftsentität ist eine mögliche Quelle von Ereignissen. Manchmal sind mehrere Instanzen eines gemeinsamen Geschäftsobjekts in einer Geschäftsentität vorhanden, so dass die Möglichkeit besteht, dass dasselbe Ereignis unter bestimmten Umständen von mehreren Instanzen des Geschäftsobjekts erzeugt wird.
  • Wenn eine Verbraucheranwendung über ein Ereignis benachrichtigt wird, werden die geänderten Daten, die das Ereignis verursacht haben, mit der Benachrichtigung geliefert. Im Fall von mehreren Ereignissen von derselben Geschäftsentität und in dem Fall, in dem viele Geschäftsobjekte dasselbe Ereignis auslösen, wird die Verbraucheranwendung mit doppelten Daten überschwemmt.
  • Bei den Ausführungsformen der Erfindung wird erkannt, dass eine typische Verbraucheranwendung in einer Umgebung zur Verarbeitung von Geschäftstransaktionen an einer geringeren Anzahl von Ereignissen und insbesondere an solchen Ereignissen interessiert ist, die bestimmte Änderungen des Zustands der zugehörigen Daten mitteilen.
  • Einige Verfahren nach dem Stand der Technik gehen dieses Problem an, indem sie Trigger auf den Geschäftsobjekten vorsehen. Es gibt jedoch keine einfache Möglichkeit, die Verarbeitung von Triggern zu koordinieren, wenn mehr als ein Geschäftsobjekt in einer Geschäftsentität das Ereignis anstößt. Ohne einen komplexen Mechanismus zur Verwaltung von Triggern werden mehrere Ereignisse für die Geschäftsentität angestoßen, wodurch das Problem entsteht, dass die Verbraucheranwendung mehrere Ereignisse empfängt, was bei den Ausführungsformen der Erfindung erkannt wird.
  • Bei den der Veranschaulichung dienenden Ausführungsformen, die zur Beschreibung der Erfindung verwendet werden, werden die vorstehend beschriebenen Probleme sowie andere Probleme in Verbindung mit der Mitteilung von Ereignissen von Geschäftsentitäten an Verbraucheranwendungen im Allgemeinen angegangen und gelöst. Bei den der Veranschaulichung dienenden Ausführungsformen werden ein Verfahren, ein System und ein Computerprogrammprodukt zur Verwaltung von Ereignissen bereitgestellt, die aus Geschäftsobjekten in einer Geschäftstransaktionsumgebung erzeugt werden.
  • Im Allgemeinen stellen die der Veranschaulichung dienenden Ausführungsformen einen Mechanismus bereit, der dazu dient, die Anzahl der Ereignisse, die einer Verbraucheranwendung von einer Geschäftsentität mitgeteilt werden, zu begrenzen, indem bestimmte Ereignisse zusammengefasst werden, bevor das zusammengefasste Ereignis der Verbraucheranwendung mitgeteilt wird.
  • In einer beispielhaften Konfiguration kann eine Ereignis-Verwaltungsanwendung gemäß einer der Veranschaulichung dienenden Ausführungsform alle Ereignisse, die während der Verarbeitung einer Anforderung auftreten, zusammenfassen und der Verbraucheranwendung, von der die Anforderung stammt, das einzelne zusammengefasste Ereignis mitteilen. Die Ereignis-Verwaltungsanwendung einer Ausführungsform, die in einer solchen Konfiguration betrieben wird, verringert die Anzahl der Ereignisse, die der Verbraucheranwendung mitgeteilt oder für diese veröffentlicht werden, von vielen auf ein Ereignis. Die Verringerung ist ungeachtet der Anzahl der Geschäftsobjekte in der Geschäftsentität wirksam, die eine Änderung des Zustands der Daten erfahren, welche sie als Reaktion auf die Anforderung möglicherweise gerade verarbeiten.
  • In einer anderen beispielhaften Konfiguration kann eine Ereignis-Verwaltungsanwendung gemäß einer Ausführungsform die Ereignisse von den verschiedenen Geschäftsobjekten in einer bestimmten Geschäftsentität in verschiedene Kategorien einordnen. Die beispielhafte Konfiguration kann dann die Ereignisse einer jeden Kategorie zu einem einzigen zusammengefassten Ereignis zusammenführen. Daraufhin kann die beispielhafte Konfiguration die zusammengefassten Ereignisse aus den verschiedenen Kategorien an die Verbraucheranwendung senden. Die Ereignis-Verwaltungsanwendung einer Ausführungsform, die in einer solchen Konfiguration betrieben wird, verringert die Anzahl der Ereignisse, die der Verbraucheranwendung mitgeteilt oder für diese veröffentlicht werden, von vielen Einzelereignissen auf ein einziges zusammengefasstes Ereignis für jede Ereigniskategorie.
  • Die Ereignis-Verwaltungsanwendung befasst sich auch mit dem Fall, in dem ein Ereignis von einem einzigen Geschäftsobjekt mehrere Ereignisse anstößt. Ein von einem Geschäftsobjekt erzeugtes Ereignis – ein Geschäftsobjekt-Ereignis – kann zum Beispiel mehrere Ereignisse auf der Ebene der Geschäftsentität – ein Geschäftsentität-Ereignis – herbeiführen, so zum Beispiel, wenn das Geschäftsobjekt an mehr als einer Geschäftsentität teilnimmt. Als ein weiteres Beispiel können mehrere Instanzen desselben Geschäftsobjekts, das verschiedene Beziehungen zu anderen Objekten nutzt, in einer einzigen Geschäftsentität vorhanden sein. Verschiedene Instanzen desselben Geschäftsobjekts können unter bestimmten Umständen mehrere Ereignisse desselben Typs anstoßen.
  • Die Ereignis-Verwaltungsanwendung gemäß den der Veranschaulichung dienenden Ausführungsformen unterstützt darüber hinaus eine Option für eine flexible Konfiguration, wobei eine Anwendung die Ereignis-Erzeugungsfunktionen für einzelne Geschäftsobjekte in dem Graphen wahlweise ein- oder ausschalten kann. Eine Verwaltungsanwendung kann während der Konfiguration einer Geschäftsentität beispielsweise einen Teil der Geschäftsobjekte als aktive und einen anderen Teil als passive Geschäftsobjekte festlegen. Ein aktives Geschäftsobjekt oder eine Instanz davon ist ein Geschäftsobjekt oder eine Instanz davon, das beziehungsweise die Ereignisse erzeugen kann. Ein passives Geschäftsobjekt oder eine Instanz davon ist ein Geschäftsobjekt oder eine Instanz davon, das beziehungsweise die daran gehindert wird, Ereignisse zu erzeugen.
  • Die der Veranschaulichung dienenden Ausführungsformen werden mit Bezug auf bestimmte Daten und Datenstrukturen beschrieben und haben lediglich Beispielcharakter. Diese Beschreibungen sind nicht als Einschränkung der Ausführungsformen der Erfindung zu verstehen. Eine der Veranschaulichung dienende Ausführungsform, die mit Bezug auf einen Merker beschrieben wird, kann im Rahmen der Ausführungsformen der Erfindung beispielsweise mittels einer gesonderten Datenstruktur im Speicher, einer nichtdauerhaften Eigenschaft eines vorhandenen Geschäftsobjekts oder einer beliebigen anderen geeigneten Struktur zur Aufnahme eines Merker-Werts realisiert werden.
  • Ferner können der Veranschaulichung dienende Ausführungsformen mit Bezug auf jede Art von Daten, Datenquelle oder Zugriff auf eine Datenquelle über ein Datennetzwerk realisiert werden. Im Rahmen der Ausführungsformen der Erfindung kann jede Art von Datenspeichereinheit einer Ausführungsform der Erfindung die Daten wie zum Beispiel ein Urladeabbild entweder lokal an einem Datenverarbeitungssystem oder über ein Datennetzwerk bereitstellen.
  • Die der Veranschaulichung dienenden Ausführungsformen werden mit Bezug auf bestimmte Anwendungen näher beschrieben und haben lediglich Beispielcharakter. Diese Beschreibungen sind nicht als Einschränkung der Ausführungsformen der Erfindung zu verstehen. Eine Ausführungsform der Erfindung kann mit Bezug auf jede beliebige Art einer Anwendung wie zum Beispiel Anwendungen, die bedient werden, die Instanzen einer beliebigen Art einer Server-Anwendung, einer Plattform-Anwendung, einer eigenständigen Anwendung, einer Verwaltungsanwendung oder einer Kombination daraus realisiert werden.
  • Eine Anwendung, einschließlich einer Anwendung, die eine komplette oder einen Teil einer Ausführungsform realisiert, kann des Weiteren Datenobjekte, Code-Objekte, gekapselte Befehle, Anwendungsfragmente, Dienste und andere Arten von Ressourcen, die in einer Datenverarbeitungsumgebung vorhanden sind, enthalten. Eine Anwendung kann zum Beispiel als Java®-Objekt, als Enterprise Java Bean (EJB), als Servlet oder als Applet in Erscheinung treten, wobei eine Ausführungsform der Erfindung mit Bezug darauf realisiert werden kann. (Java und alle auf Java beruhenden Warenzeichen und Logos sind Warenzeichen oder eingetragene Warenzeichen von Oracle und/oder von Tochterfirmen von Oracle).
  • Eine der Veranschaulichung dienende Ausführungsform kann in Hardware, Software oder einer Kombination daraus realisiert werden. Eine der Veranschaulichung dienende Ausführungsform kann des Weiteren mit Bezug auf jede beliebige Art einer Datenspeicher-Ressource wie zum Beispiel eine physische oder virtuelle Datenspeichereinheit realisiert werden, die in einer bestimmten Konfiguration eines Datenverarbeitungssystems vorhanden ist.
  • Die Beispiele in dieser Beschreibung dienen lediglich dazu, die Beschreibung verständlicher zu machen und stellen keine Einschränkung der beispielhaft veranschaulichten Ausführungsformen dar. Weitere Daten, Operationen, Aktionen, Aufgaben, Aktivitäten und Veränderungen sind aus dieser Beschreibung vorstellbar, und diese kommen im Rahmen der der Veranschaulichung dienenden Ausführungsformen in Betracht.
  • Die Beschreibung der der Veranschaulichung dienenden Ausführungsformen erfolgt unter Verwendung von bestimmtem Code, bestimmten Formen der Ausgestaltung, Architekturen, Anordnungen, schematischen Darstellungen und Zusatzfunktionen (Tools), wobei diese lediglich als Beispiele dienen und keine Einschränkung der beispielhaft veranschaulichten Ausführungsformen darstellen. Überdies erfolgt die Beschreibung der der Veranschaulichung dienenden Ausführungsformen in manchen Fällen unter Verwendung von bestimmter Software, von bestimmten Zusatzfunktionen und Datenverarbeitungsumgebungen, wobei diese zum besseren Verständnis der Beschreibung lediglich als Beispiel verwendet werden. Die der Veranschaulichung dienenden Ausführungsformen können in Verbindung mit anderen vergleichbaren oder einem ähnlichen Zweck dienenden Strukturen, Systemen, Anwendungen oder Architekturen verwendet werden.
  • Bei allen hier aufgeführten Vorteilen handelt es sich nur um Beispiele, die nicht als Einschränkung der beispielhaft veranschaulichten Ausführungsformen zu verstehen sind. Zusätzliche oder andere Vorteile können mittels bestimmter beispielhaft veranschaulichter Ausführungsformen realisiert werden. Eine bestimmte beispielhaft veranschaulichte Ausführungsform kann überdies einige, alle oder keine der vorstehend aufgeführten Vorteile aufweisen.
  • Mit Bezug auf die Figuren und insbesondere mit Bezug auf die 1 und 2 stellen diese Figuren beispielhafte Blockschaltbilder von Datenverarbeitungsumgebungen dar, in denen beispielhaft veranschaulichte Ausführungsformen realisiert werden können. Bei den 1 und 2 handelt es sich lediglich um Beispiele und sie sollen in Bezug auf die Umgebungen, in denen verschiedene Ausführungsformen realisiert werden können, keinerlei Beschränkung bestätigen oder andeuten. Bei einer bestimmten Ausführungsart können auf der Grundlage der folgenden Beschreibung viele Änderungen an den gezeigten Umgebungen erfolgen.
  • 1 stellt ein Netzwerk aus Datenverarbeitungssystemen bildlich dar, in dem der Veranschaulichung dienende Ausführungsformen realisiert werden können. Die Datenverarbeitungsumgebung 100 ist ein aus Computern bestehendes Netzwerk, in denen die der Veranschaulichung dienenden Ausführungsformen realisiert werden können. Die Datenverarbeitungsumgebung 100 enthält das Netzwerk 102. Das Netzwerk 102 ist das Medium, das verwendet wird, um Übertragungsverbindungen zwischen verschiedenen Einheiten und Computern bereitzustellen, die in der Datenverarbeitungsumgebung 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen wie zum Beispiel drahtgebundene, drahtlose Übertragungsverbindungen oder Lichtwellenleiterkabel enthalten. Der Server 104 und der Server 106 lassen sich zusammen mit der Speichereinheit 108 an das Netzwerk 102 anschließen. Auf jedem Computer in der Datenverarbeitungsumgebung 100 können Software-Anwendungen ausgeführt werden.
  • Überdies lassen sich die Clients 110, 112 und 114 an das Netzwerk 102 anschließen. Ein Datenverarbeitungssystem wie zum Beispiel der Server 104 oder der Server 106 oder der Client 110, der Client 112 oder der Client 114 können Daten enthalten und Software-Anwendungen oder Software-Zusatzfunktionen können auf ihnen ausgeführt werden.
  • Jedes Datenverarbeitungssystem wie zum Beispiel der Client 114 kann eine Anwendung 115 enthalten, welche die Funktion einer Verbraucheranwendung haben kann. Jedes Datenverarbeitungssystem wie zum Beispiel der Server 104 kann eine Ereignis-Verwaltungsanwendung wie zum Beispiel die Ereignis-Verwaltungsanwendung 105 enthalten. Die Ereignis-Verwaltungsanwendung 105 kann in Verbindung mit einer Geschäftsentität (nicht gezeigt) betrieben und in jedem Datenverarbeitungssystem ausgeführt werden und die Ereignisse erzeugen, welche von der Ereignis-Verwaltungsanwendung 105 zusammengefasst werden.
  • Die Server 104 und 106, die Speichereinheit 108 und die Clients 110, 112 und 114 können unter Verwendung von drahtgebundenen Verbindungen, drahtlosen Übertragungsprotokollen oder anderen geeigneten Datenverbindungsmöglichkeiten mit dem Netzwerk 102 verbunden werden. Die Clients 110, 112 und 114 können zum Beispiel Personal Computer oder Netzwerkcomputer sein.
  • In dem gezeigten Beispiel kann der Server 104 den Clients 110, 112 und 114 Daten wie zum Beispiel Urladedateien, Betriebssystem-Abbilder und Anwendungen bereitstellen. In diesem Beispiel können die Clients 110, 112 und 114 Clients des Servers 104 sein. Die Clients 110, 112, 114 oder eine bestimmte Kombination dieser Clients können ihre eigenen Daten, Urladedateien, Betriebssystem-Abbilder und Anwendungen enthalten. Die Datenverarbeitungsumgebung 100 kann weitere Server, Clients und andere Einheiten enthalten, die nicht gezeigt sind.
  • In dem gezeigten Beispiel kann es sich bei der Datenverarbeitungsumgebung 100 um das Internet handeln. Das Netzwerk 102 kann einen Verbund von Netzwerken und Netzbrücken (Gateways) darstellen, die das Transmission Control Protocol/Internet Protocol (TCP/IP) und andere Protokolle nutzen, um Daten untereinander auszutauschen. Im Mittelpunkt des Internet befindet sich ein Hauptnetz (Backbone) aus Datenübertragungsverbindungen zwischen Hauptknoten oder Hostcomputern, zu denen Tausende von kommerziellen, staatlichen, in Bildungseinrichtungen genutzten und anderen Computersystemen gehören, welche Daten und Nachrichten weiterleiten. Natürlich kann die Datenverarbeitungsumgebung 100 auch in Form von mehreren verschiedenen Arten von Netzwerken wie zum Beispiel ein Intranet, ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) realisiert werden. 1 soll Beispielcharakter haben und ist nicht als architektonische Einschränkung der verschiedenen beispielhaft veranschaulichten Ausführungsformen gedacht.
  • Die Datenverarbeitungsumgebung 100 kann unter anderem zur Realisierung einer Client-Server-Umgebung verwendet werden, in der die beispielhaft veranschaulichten Ausführungsformen umgesetzt werden können. Eine Client-Server-Umgebung ermöglicht die Verteilung von Software-Anwendungen und Daten über ein Netzwerk in der Weise, dass eine Anwendung funktioniert, indem sie die Möglichkeit der interaktiven Kommunikation zwischen einem Client-Datenverarbeitungssystem und einem Server-Datenverarbeitungssystem nutzt. Die Datenverarbeitungsumgebung 100 kann auch eine dienstorientierte Architektur verwenden, bei der gemeinsam betreibbare Software-Komponenten, die über ein Netzwerk verteilt sind, als zusammenhängende Geschäftsanwendungen gebündelt werden können.
  • Mit Bezug auf 2 ist ein Blockschaltbild eines Datenverarbeitungssystems gezeigt, in dem der Veranschaulichung dienenden Ausführungsformen realisiert werden können. Das Datenverarbeitungssystem 200 ist ein Beispiel für einen Computer wie zum Beispiel den Server 104 oder den Client 110 in 1, in dem sich von einem Computer nutzbarer Programmcode oder Befehle, welche die Prozesse der beispielhaft veranschaulichten Ausführungsformen ausführen, für die beispielhaft veranschaulichten Ausführungsformen befinden können.
  • In dem gezeigten Beispiel verwendet das Datenverarbeitungssystem 200 eine Architektur mit einem zentralen Verteiler (Hub), die die North Bridge und Memory Controller Hub (NB/MCH) 202 sowie die South Bridge und Input/Output (I/O) Controller Hub (SB/ICH) 204 enthält. Die Verarbeitungseinheit 206, der Hauptspeicher 208 und der Grafikprozessor 210 sind mit der North Bridge und Memory Controller Hub (NB/MCH) 202 verbunden. Die Verarbeitungseinheit 206 kann einen oder mehrere Prozessoren enthalten und mittels einem oder mehreren heterogenen Prozessorsystemen realisiert werden. Der Grafikprozessor 210 kann in bestimmten Ausführungsarten mit der NB/MCH über einen Accelerated Graphics Port (AGP) verbunden werden.
  • In dem gezeigten Beispiel ist der Adapter 212 für das lokale Netzwerk (LAN) mit der South Bridge und I/O Controller Hub (SB/ICH) 204 verbunden. Der Audio-Adapter 216, der Tastatur- und Mausadapter 220, der Modem 222, der Nur-Lese-Speicher (ROM) 224, der universelle serielle Bus (USB) und andere Anschlüsse 232 sowie die PCI/PCIe-Einheiten 234 sind mit der South Bridge und I/O Controller Hub 204 über den Bus 238 verbunden. Das Festplattenlaufwerk (HDD) 226 und der CD-ROM 230 sind mit der South Bridge und I/O Controller Hub 204 über den Bus 240 verbunden. Zu PCI/PCIe-Einheiten können beispielsweise Ethernet-Adapter, Erweiterungskarten und PC-Karten für Notebook-Computer gehören. PCI verwendet eine Kartenbussteuereinheit, während PCIe keine verwendet. Der ROM 224 kann beispielsweise ein binäres Flash-Eingabe-/Ausgabesystem (BIOS) sein. Das Festplattenlaufwerk 226 und der CD-ROM 230 können zum Beispiel eine Integrated-Drive-Electronics-(IDE-) oder eine Serial-Advanced-Technology-Attachment-(SATA-)Schnittstelle verwenden. Eine Super-E/A-(SIO-)Einheit 236 kann mit der South Bridge und I/O Controller Hub (SB/ICH) 204 verbunden werden.
  • Auf der Verarbeitungseinheit 206 wird ein Betriebssystem ausgeführt. Das Betriebssystem koordiniert und ermöglicht die Steuerung von verschiedenen Komponenten in dem Datenverarbeitungssystem 200 in 2. Das Betriebssystem kann ein handelsübliches Betriebssystem wie zum Beispiel Windows® von Microsoft® (Microsoft und Windows sind Warenzeichen der Microsoft Corporation in den Vereinigten Staaten von Amerika, in anderen Ländern oder in den Vereinigten Staaten von Amerika und in anderen Ländern) oder Linux® (Linux ist ein Warenzeichen von Linus Torvalds in den Vereinigten Staaten von Amerika, in anderen Ländern oder in den Vereinigten Staaten von Amerika und in anderen Ländern) sein. Ein objektorientiertes Programmiersystem wie zum Beispiel das Programmiersystem JavaTM kann in Verbindung mit dem Betriebssystem ausgeführt werden und ermöglicht Aufrufe des Betriebssystems von JavaTM-Programmen oder Anwendungen, die auf dem Datenverarbeitungssystem 200 ausgeführt werden (Java und alle auf Java beruhenden Warenzeichen und Logos sind Warenzeichen oder eingetragene Warenzeichen von Oracle und/oder von Tochterfirmen von Oracle).
  • Programmbefehle für das Betriebssystem, das objektorientierte Programmiersystem, die Prozesse der beispielhaft veranschaulichten Ausführungsformen und Anwendungen oder Programme befinden sich auf Speichereinheiten wie zum Beispiel dem Festplattenlaufwerk 226 und können in einen Speicher wie zum Beispiel den Hauptspeicher 208, den Nur-Lese-Speicher 224 oder eine oder mehrere periphere Einheiten zur Ausführung durch die Verarbeitungseinheit 206 geladen werden. Programmbefehle können auch dauerhaft im nichtflüchtigen Speicher abgelegt und entweder von dort geladen oder an Ort und Stelle ausgeführt werden. Das synthetisierte Programm gemäß einer Ausführungsform kann zum Beispiel im nichtflüchtigen Speicher abgelegt und von dort in den DRAM geladen werden.
  • Die Hardware in den 1 bis 2 kann in Abhängigkeit von der gegebenen Art der Ausführung unterschiedlich sein. Andere interne Hardware oder periphere Einheiten wie zum Beispiel ein Flash-Speicher, ein gleichwertiger nichtflüchtiger Speicher oder optische Plattenlaufwerke und dergleichen können zusätzlich zu oder anstelle der in den 1 bis 2 gezeigten Hardware verwendet werden. Überdies können die Prozesse der beispielhaft veranschaulichten Ausführungsformen auf ein Datenverarbeitungssystem mit mehreren Prozessoren angewendet werden.
  • In manchen der Veranschaulichung dienenden Beispielen kann es sich bei dem Datenverarbeitungssystem 200 um einen persönlichen digitalen Assistent (PDA) handeln, der im Allgemeinen mit einem Flash-Speicher konfiguriert wird, um einen nichtflüchtigen Speicher zur Speicherung von Dateien des Betriebssystems und/oder vom Benutzer erzeugter Daten bereitzustellen. Ein Bussystem kann einen oder mehrere Busse wie zum Beispiel einen Systembus, einen E/A-Bus und einen PCI-Bus umfassen. Natürlich kann das Bussystem unter Verwendung einer beliebigen Art eines Kommunikationsnetzwerks oder einer Architektur realisiert werden, das beziehungsweise die eine Übertragung von Daten zwischen verschiedenen Komponenten oder Einheiten, die an das Datenübertragungsnetzwerk oder die Architektur angeschlossen sind, ermöglicht.
  • Eine Übertragungseinheit kann eine oder mehrere Einheiten enthalten, die zum Senden und Empfangen von Daten verwendet werden wie zum Beispiel einen Modem oder einen Netzwerkadapter. Ein Speicher kann zum Beispiel der Hauptspeicher 208 oder ein Cachespeicher wie zum Beispiel der Cachespeicher sein, der sich in der North Bridge und Memory Controller Hub 202 befindet. Eine Verarbeitungseinheit kann einen oder mehrere Prozessoren oder CPUs enthalten.
  • Die in den 1 bis 2 gezeigten Beispiele und die vorstehend beschriebenen Beispiele sind nicht als architektonische Einschränkungen zu verstehen. Das Datenverarbeitungssystem 200 kann die Form eines PDA annehmen und ferner beispielsweise auch ein Tablet-Computer, ein Laptop-Computer oder eine Telefoneinheit sein.
  • Im Allgemeinen werden bei der Definition einer Geschäftsentität die Geschäftsobjekte, die Teil der Geschäftsentität sind, und die Art und Weise, in der die Geschäftsobjekte miteinander in Beziehung stehen, festgelegt. Eine Geschäftsobjekt-zu-Geschäftsentität-Beziehung ist eine Viele-zu-Viele-Beziehung. Ein Geschäftsobjekt ist sich der Tatsache, dass es Teil einer Geschäftsentität ist, nicht bewusst. Nur die Geschäftsentität weiß, welche Geschäftsobjekte in der Geschäftsentität enthalten sind. Eine Geschäftsentität verfügt über ein gemeinsames Stammgeschäftsobjekt. Das Stammgeschäftsobjekt wird als ein aktives Geschäftsobjekt konfiguriert. Ein Geschäftsobjekt hat einen Namen, der über den gesamten Namensraum des Geschäftsobjekts für eine bestimmte Geschäftstransaktionsumgebung hinweg eindeutig ist. Eine Geschäftsentität hat einen Namen, der über den gesamten Namensraum der Geschäftsentität für eine bestimmte Geschäftstransaktionsumgebung hinweg eindeutig ist. Ein Geschäftsobjekt kann Ereignisse erzeugen, wenn es erzeugt, aktualisiert oder gelöscht wird.
  • Es gibt keine sichergestellte Reihenfolge, in der ein Geschäftsobjekt im Vergleich zu anderen Geschäftsobjekten, die Teil derselben Geschäftsentität sind, ein Ereignis auslöst. In einem Fall kann ein Eltern-Geschäftsobjekt beispielsweise ein Ereignis vor einem Kind-Geschäftsobjekt auslösen und in einer anderen Situation könnte die Reihenfolge umgekehrt sein. Zwei Geschäftsobjekte können eine oder mehrere benannte Beziehungen zueinander haben. Ein Beziehungsname ist nur im Kontext der beiden Geschäftsobjekte, auf die er sich bezieht, eindeutig. Jedes Geschäftsobjekt in einer Geschäftsentität kann von allen anderen Geschäftsobjekten in derselben Geschäftsentität erreicht werden. Die Laufzeit der Geschäftsentität, das heißt die Geschäftstransaktionsumgebung, enthält mehrere Graphen mit gemeinsam benutzten Geschäftsobjekten, die im Laufzeitbereich der Anwendung gleichzeitig vorhanden sind.
  • Bezug nehmend auf 3 ist ein Blockschaubild einer Konfiguration gezeigt, die dazu dient, zusammengefasste Ereignisse von Geschäftsobjekten gemäß einer der Veranschaulichung dienenden Ausführungsform zu veröffentlichen. Die Ereignisverwaltungs-Anwendung 302 kann als die Ereignisverwaltungs-Anwendung 105 in 1 ausgeführt sein. Bei der Geschäftsentität 304 kann es sich um eine beliebige Geschäftsentität handeln, die auf die vorstehend beschriebene Weise gebildet wird. Das Stammobjekt 306, die Objekte 308, 310, 312 und 314 und das Objekt 316 können ohne Einschränkung Geschäftsobjekte von einem beliebigen geeigneten Typ, einem beliebigen geeigneten Inhalt oder einer beliebigen geeigneten Struktur sein.
  • Das Stammobjekt 306 kann zum Beispiel ein Kopfbereich-Objekt sein, das den Stamm des Graphen bildet, welcher von den Beziehungen 320, 322, 324, 326 und 328 gebildet wird. Als Beispiel und ohne eine Einschränkung bei den Ausführungsformen der Erfindung anzudeuten, können die Objekte 308 und 310 zwei Instanzen eines gemeinsamen Geschäftsobjekts sein.
  • Ferner können manche der Geschäftsobjekte in der Geschäftsentität 304 aktiv sein und andere Geschäftsobjekte können passiv sein. Als Beispiel kann das Objekt 316 ein passives Geschäftsobjekt sein, das keine Ereignisse erzeugen darf.
  • Ohne den Vorteil der Ereignisverwaltungs-Anwendung 302 können Geschäftsobjekte in der Geschäftsentität 304 derzeit Ereignisse unabhängig voneinander erzeugen und veröffentlichen. Während der Verarbeitung einer Anforderung kann das Objekt 308 beispielsweise ein Ereignis ungeachtet dessen, ob das Objekt 310 ebenfalls ein ähnliches Ereignis veröffentlicht, veröffentlichen. Die Objekte 312 und 314 können Ereignisse unabhängig voneinander veröffentlichen, wobei die Ereignisse größtenteils dieselben Daten mit vergleichsweise geringfügigen Abweichungen enthalten.
  • In manchen Fällen kann das Unterdrücken von Ereignissen von einem Geschäftsobjekt in der Geschäftsentität 304 außerdem wünschenswert sein. Das Geschäftsobjekt 316 kann zum Beispiel ein Protokollierungsobjekt sein, das die Ergebnisse der Verarbeitung der Anforderung zu Prüfzwecken protokolliert. Eine Verbraucheranwendung ist möglicherweise nicht an Ereignissen interessiert, die in Folge einer Protokollierungsaktivität erzeugt wurden. Ohne den Vorteil der Möglichkeit, ein Geschäftsobjekt als aktiv oder passiv festzulegen, wie es eine der Veranschaulichung dienende Ausführungsform vorsieht, würde die Geschäftsentität 304 derzeit jedoch auch Ereignisse von dem Objekt 316 veröffentlichen.
  • Die Ereignisverwaltungs-Anwendung 302 tritt mit der Geschäftsentität 304 in Dialogverkehr, um die Ereignisse, die von den Objekten 306, 308, 310, 312 und 314 ausgelöst werden, zusammenzufassen. Die Ereignisverwaltungs-Anwendung 302 gestattet es auch, das Objekt 316 während der Erzeugung der Geschäftsentität 304 als ein passives Objekt zu konfigurieren. In einer Ausführungsform kann die Ereignisverwaltungs-Anwendung 302 das Objekt 316 beispielsweise als ein passives Objekt konfigurieren, indem sie die Ereignisse, die von dem Objekt 316 ausgelöst werden, ignoriert und diese Ereignisse nicht mit den Ereignissen zusammenfasst oder zusammenführt, die von anderen Geschäftsobjekten in der Geschäftsentität 304 ausgelöst werden. In einer anderen beispielhaften Ausführungsform kann die Ereignisverwaltungs-Anwendung 302 das Objekt 316 als ein passives Objekt konfigurieren, indem sie dem Objekt 316 keinen Ereignis-Listener zuordnet, was mit Bezug auf spätere Figuren näher beschrieben wird.
  • Bezug nehmend auf 4 ist ein Blockschaubild einer beispielhaften Konfiguration einer Geschäftstransaktionsumgebung gezeigt, in der Ereignisse von mehreren Geschäftsobjekten in mehreren Geschäftsentitäten für mehrere Verbraucheranwendungen gemäß einer der Veranschaulichung dienenden Ausführungsform zusammengefasst werden. Die Verbraucheranwendungen 402, 404, 406 und 408 mit der Bezeichnung ”Verbraucher 1”, ”Verbraucher 2”, ”Verbraucher 3” beziehungsweise ”Verbraucher 4” können jeweils der Anwendung 115 in 1 entsprechen.
  • Bei der Ereignisverwaltungs-Anwendung 410, 412 und 414 kann es sich um eine oder mehrere Instanzen einer Ereignisverwaltungs-Anwendung gemäß einer der Veranschaulichung dienenden Ausführungsform handeln, die so konfiguriert werden kann, dass sie Ereignisse von einer oder mehreren Geschäftsentitäten zusammenfasst. In 4 ist eine Ereignisverwaltungs-Anwendung gezeigt, die mit einer Geschäftsentität konfiguriert ist, wobei dies lediglich ein Beispiel darstellt und nicht als Einschränkung zu verstehen ist. In einer Ausführungsart kann die Ereignisverwaltungs-Anwendung 410 beispielsweise so konfiguriert werden, dass sie Ereignissen, die im Rahmen der Ausführungsformen der Erfindung von der Geschäftsentität 416 sowie der Geschäftsentität 418 veröffentlicht werden, zugeordnet wird und sie diese Ereignisse zusammenfasst.
  • Die Geschäftsentitäten 416, 481 und 420 können an der Verarbeitung von Aufträgen teilnehmen. Die Geschäftsentität 416 kann eine beispielhafte Geschäftsentität ”Arbeitsabwicklung” sein. Die Geschäftsentität 418 kann eine beispielhafte Geschäftsentität ”Artikel-Lagerbestand” (”Item Iventory”) sein. Die Geschäftsentität 420 kann eine beispielhafte Geschäftsentität ”Arbeit” (”Labor”) sein.
  • Die Geschäftsentität ”Arbeitsabwicklung” 416 kann mit dem Geschäftsobjekt ”Auftrag” 422 konfiguriert werden, das mit dem Geschäftsobjekt ”Arbeitsprozessmaterialien” 424 und dem Geschäftsobjekt ”Arbeitsplan” 426 in Beziehung stehen kann. Die Geschäftsobjekte 424 und 426 können wiederum mit dem Geschäftsobjekt ”Lagerbestandsreservierung” 428 in Beziehung stehen.
  • Wie zuvor beschrieben wurde, kann ein Geschäftsobjekt an mehr als einem Ort im Graphen einer Geschäftsentität oder an mehr als einem Ort in mehr als einem Graphen einer Geschäftsentität teilnehmen. Wie in der beispielhaften Konfiguration in 4 gezeigt ist, kann die Geschäftsentität ”Artikel-Lagerbestand” 418 mit dem Geschäftsobjekt ”Artikel” 430 konfiguriert werden, das mit dem Geschäftsobjekt ”Lagerbestand” 432 in Beziehung stehen kann. Das Geschäftsobjekt ”Lagerbestand” 432 kann mit dem Geschäftsobjekt ”Lagerbestandsreservierung” 434 und mit dem Geschäftsobjekt ”Lagerbestandsausgleich” 436 in Beziehung stehen. Das Geschäftsobjekt ”RSV” 434 in der Geschäftsentität 418 kann dasselbe Geschäftsobjekt wie das Geschäftsobjekt ”RSV” 428 in der Geschäftsentität 416 sein, jedoch kann es in der Geschäftsentität 416 aktiv und in der Geschäftsentität 418 passiv sein.
  • Ebenso kann die Geschäftsentität ”Arbeit” 420 mit dem Geschäftsobjekt ”Arbeit” 438 konfiguriert werden, das mit dem Geschäftsobjekt ”Arbeitsplan” 440 in Beziehung stehen kann. Das Geschäftsobjekt ”Arbeitsplan” 440 in der Geschäftsentität 420 kann dasselbe Geschäftsobjekt wie das Geschäftsobjekt ”Arbeitsplan” 426 in der Geschäftsentität 416 sein, jedoch kann es in der Geschäftsentität 416 aktiv und in der Geschäftsentität 420 passiv sein.
  • Weitere Merkmale der Funktionsweise der Konfiguration von 4 werden nur deshalb mit Bezug auf die Geschäftsentität 412 beschrieben, um die Beschreibung verständlicher zu machen. Somit werden bestimme Komponenten in der Geschäftsentität 416 gezeigt, während sie in anderen Geschäftsentitäten aus Gründen der Übersichtlichkeit der Darstellung weggelassen werden.
  • Jede der Verbraucheranwendungen 402 bis 408 kann Ereignisse von jeder beliebigen Geschäftsentität abonnieren. Wie gezeigt ist, abonniert die Verbraucheranwendung 402 Ereignisse von den Geschäftsentitäten 416 und 420. Die Verbraucheranwendung 404 abonniert Ereignisse von den Geschäftsentitäten 416 und 418. Die Verbraucheranwendung 406 abonniert Ereignisse von den Geschäftsentitäten 416, 418 und 420. Die Verbraucheranwendung 408 abonniert Ereignisse von der Geschäftsentität 420.
  • Nehmen wir an, dass die Ereignisverwaltungs-Anwendung 410 eine Anforderung für die Geschäftsentität 416 von der Verbraucheranwendung 402 empfängt. Die Ereignisverwaltungs-Anwendung 410 ordnet der Geschäftsentität 416 den Listener 452 zu, um auf Ereignisse zu lauschen, die in der Geschäftsentität 416 ausgelöst werden. Die Ereignisverwaltungs-Anwendung 410 kann dem Listener 452 darüber hinaus eine Abonnentenkennung, welche die Verbraucheranwendung 402 kennzeichnet, zuordnen. Die Abonnentenkennung ist im Namensraum der Geschäftstransaktionsumgebung eindeutig.
  • Die Ereignisverwaltungs-Anwendung 410 veranlasst die Geschäftsentität 416, wiederum jedem aktiven Geschäftsobjekt in der Geschäftsentität 416 einen Listener zuzuordnen, und kennzeichnet diese eindeutig in der Geschäftsentität 416. Ein einem Geschäftsobjekt zugeordneter Listener wird darüber hinaus einem Objektpfad zu dem Geschäftsobjekt und einem Beziehungspfad zu dem Geschäftsobjekt zugeordnet, um das Geschäftsobjekt in dem Graphen eindeutig zu kennzeichnen. Der Listener 454 wird zum Beispiel dem Geschäftsobjekt 422 zugeordnet, der Listener 456 dem Geschäftsobjekt 424, der Listener 458 dem Geschäftsobjekt 426. Zwei Listener, 460 und 462, werden dem Geschäftsobjekt 428 zugeordnet, da das Geschäftsobjekt 428 durch Verwendung von zwei Beziehungen erreicht werden kann.
  • Da ein Geschäftsobjekt an mehreren Geschäftsentitäten teilnehmen kann, kann ein Geschäftsobjekt mehrere ihm zugeordnete Listener haben, einen für jede Geschäftsentität und mehr als einen für jede Geschäftsentität, wenn das Geschäftsobjekt mehr als einmal in dem Graphen der Geschäftsentität erscheint, wie es bei dem Geschäftsobjekt 428 in der Geschäftsentität 416 der Fall ist. Wenn das Geschäftsobjekt ”Lagerbestandsreservierung” 434 in der Geschäftsentität 418 aktiv wäre, hätte das Geschäftsobjekt ”Lagerbestandsreservierung” über die Geschäftsentitäten 416, 418 und 420 drei ihm zugeordnete Listener – zwei Listener für die beiden Beziehungen, an denen das Geschäftsobjekt ”Lagerbestandsreservierung” 428 in der Geschäftsentität 416 teilnimmt, und einen Listener für die Teilnahme an der Geschäftsentität 418.
  • Der Merker 464 in dem Stammgeschäftsobjekt 422 überwacht, ob ein aktives Geschäftsobjekt in der Geschäftsentität 416 während der Verarbeitung der aktuellen Anforderung ein Ereignis ausgelöst hat. Der Merker 464 kann eine Datenstruktur im Geschäftsobjekt 422, eine nichtdauerhafte Eigenschaft des Geschäftsobjekts 422, ein vorhandenes Attribut des Geschäftsobjekts 422, welches als Merker verwendet wird, eine Datenstruktur, die sich von der Datenstruktur des Geschäftsobjekts 422 in einem Speicher unterscheidet, oder eine andere geeignete Art der Überwachung sein, um festzustellen, ob während der Verarbeitung der aktuellen Anforderung ein Ereignis ausgelöst worden ist.
  • Während der Verarbeitung der Anforderung von der Verbraucheranwendung 402 setzt die Ereignisverwaltungs-Anwendung 410 den Merker 464 an dem ersten Ereignis, das von einem beliebigen aktiven Geschäftsobjekt in der Geschäftsentität 416 ausgelöst wird. Die Ereignisverwaltungs-Anwendung 410 speichert die Daten des Ereignisses. Bei jedem nachfolgenden Ereignis, das von einem beliebigen aktiven Geschäftsobjekt in der Geschäftsentität 416 in einer beliebigen Reihenfolge ausgelöst wird, prüft die Ereignisverwaltungs-Anwendung 410, ob der Merker 464 gesetzt ist, und wenn ja, führt sie die Daten des Ereignisses mit den gespeicherten Daten von vorherigen Ereignissen zusammen. Wenn die Verarbeitung der Anforderung zum Abschluss kommt, veröffentlicht die Ereignisverwaltungs-Anwendung 410 die zusammengeführten Daten aller Ereignisse, die während der Verarbeitung in der Geschäftsentität 416 ausgelöst wurden. Die Verarbeitung der Anforderung kann auf jede beliebige Art und Weise abgeschlossen werden, die für eine Ausführungsart geeignet ist, einschließlich, ohne darauf beschränkt zu sein, einer vollständigen Verarbeitung der Anforderung, einem Fehlschlagen der Verarbeitung der Anforderung, dem Erzeugen einer Antwort durch die Anforderung, dem Anhalten der Verarbeitung der Anforderung oder bei Erreichen der Zielsetzung der Anforderung.
  • Mit Bezug auf 5 ist ein Ablaufplan eines Prozesses zum Konfigurieren einer Geschäftstransaktionsumgebung gezeigt, um Ereignisse, die aus Geschäftsobjekten erzeugt werden, gemäß einer der Veranschaulichung dienenden Ausführungsform zu verwalten. Der Prozess 500 kann in einer Ereignisverwaltungs-Anwendung wie zum Beispiel der Ereignisverwaltungs-Anwendung 410 in 4 durchgeführt werden.
  • Der Prozess 500 beginnt, indem ein Abonnement für die Ereignisse einer Geschäftsentität empfangen wird (Schritt 502). Wie mit Bezug auf 4 beschrieben wird, kann die Verbraucheranwendung 402 eine Anforderung an die Geschäftsentität 416 zur Verarbeitung senden. Das Senden einer Anforderung zur Verarbeitung kann als eine Möglichkeit angesehen werden, die Ereignisse der Geschäftsentität zu abonnieren. Der Fachmann kann sich auch andere Möglichkeiten ausdenken, die Ereignisse einer Geschäftsentität zu abonnieren. Zum Beispiel kann eine Verwaltungsanwendung die Ereignisse in allen Geschäftsentitäten abonnieren, die in einer Geschäftstransaktionsumgebung ausgeführt werden, ohne dass sie tatsächlich eine Geschäftstransaktion an irgendeine Geschäftsentität sendet.
  • Der Prozess 500 ordnet der Geschäftsentität einen Listener und dem Listener eine Abonnentenkennung zu (Schritt 504). Der Prozess 500 ordnet einem aktiven Geschäftsobjekt in dem Graphen der Geschäftsentität einen Listener zu (Schritt 506). Der Prozess 500 ordnet dem Listener aus dem Schritt 506 geeignete Kennungen zu, um das Geschäftsobjekt und die Geschäftsentität eindeutig zu kennzeichnen, auf deren Ereignisse der Listener lauscht (Schritt 508).
  • Beispielsweise kann der Prozess 500 dem Listener eines Geschäftsobjekts die Abonnentenkennung, eine Kennung der Geschäftsentität, einen Objektpfad des Geschäftsobjekts und einen Beziehungspfad des Geschäftsobjekts zuordnen. Es sei darauf hingewiesen, dass diese Kennungen und Pfade in dieser Beschreibung als beispielhafte Möglichkeiten zur eindeutigen Kennzeichnung eines Geschäftsobjekts, einer Geschäftsentität oder eines Listeners beschrieben werden. Diese Kennungen und Pfade sind nicht als Einschränkung der Ausführungsformen der Erfindung zu verstehen. Der Fachmann ist in der Lage, sich viele andere Möglichkeiten zum Erreichen eines ähnlichen Zwecks auszudenken, und diese Möglichkeiten kommen im Rahmen der Ausführungsformen der Erfindung in Betracht.
  • Der Prozess 500 stellt fest, ob weitere aktive Geschäftsobjekte in der Geschäftsentität verbleiben, denen Listener zugeordnet werden müssen (Schritt 510). Wenn weitere aktive Geschäftsobjekte verbleiben (”Ja”-Pfad des Schritts 510), wählt der Prozess 500 ein aktives Geschäftsobjekt aus, dem noch kein Listener zugeordnet worden ist (Schritt 512). Der Prozess 500 kehrt zum Schritt 506 zurück.
  • Wenn allen aktiven Geschäftsobjekten in der Geschäftsentität eine geeignete Anzahl von Listenern zugeordnet worden ist (”Nein”-Pfad des Schritts 510), fährt der Prozess 500 damit fort, auf die Ereignisse zu lauschen, die in der Geschäftsentität erzeugt werden (Schritt 514). Der Prozess 500 steigt am Ausstiegspunkt aus, der mit ”A” gekennzeichnet ist, um in einen anderen Prozess wie zum Beispiel den Prozess 600 in 6 an einem entsprechenden Einstiegspunkt einzusteigen, der in dem anderen Prozess mit ”A” gekennzeichnet ist.
  • Mit Bezug auf 6 ist ein Ablaufplan eines Prozesses zur Verwaltung von Ereignissen, die aus Geschäftsobjekten erzeugt werden, gemäß einer der Veranschaulichung dienenden Ausführungsform gezeigt. Der Prozess 600 kann in einer Ereignisverwaltungs-Anwendung wie zum Beispiel der Ereignisverwaltungs-Anwendung 410 in 4 durchgeführt werden.
  • Der Prozess 600 beginnt, indem ein Ereignis erkannt wird (Schritt 602). Ein anderer Prozess wie zum Beispiel der Prozess 500 in 5 kann im Schritt 602 über den Einstiegspunkt einsteigen, der ebenfalls mit ”A” gekennzeichnet ist. Der Prozess 600 stellt fest, ob das Ereignis von einem Geschäftsobjekt in der richtigen Geschäftsentität stammt (Schritt 604). Der Prozess 600 kann zum Beispiel den Objektpfad und den Beziehungspfad in dem Ereignis mit dem Objektpfad und dem Beziehungspfad des entsprechenden Objekts in der Geschäftsentität vergleichen, deren Ereignisse gerade zusammengefasst werden. Wenn die Pfade übereinstimmen, stammt das Ereignis von einem Geschäftsobjekt in der richtigen Geschäftsentität, andernfalls nicht.
  • Wenn das Ereignis nicht von dem richtigen Geschäftsobjekt stammt (”Nein”-Pfad des Schritts 604), ignoriert der Prozess 600 das Ereignis (Schritt 606). Der Prozess 600 schaltet daraufhin zum Schritt 618.
  • Wenn das Ereignis von dem richtigen Geschäftsobjekt in der richtigen Geschäftsentität stammt (”Ja”-Pfad des Schritts 604), kann der Prozess 600 das Ereignis optional in eine Kategorie einordnen (Schritt 608). Wenn der Prozess 600 zum Beispiel verwendet wird, um ein einzelnes Ereignis für jede Anforderung zu erzeugen, kann der Schritt 608 weggelassen werden. Wenn der Prozess 600 verwendet wird, um ein einzelnes Ereignis kategorieweise je Anforderung zu erzeugen, kann der Schritt 608 die Ereignisse in eine Kategorie einordnen und sie zusammenfassen, wie zuvor beschrieben wurde.
  • Der Prozess 600 stellt fest, ob der Ereignis-Merker wie zum Beispiel der Merker 464 in 4 gesetzt ist (Schritt 610). Wenn der Merker nicht gesetzt ist (”Nein”-Pfad des Schritts 610), speichert der Prozess 600 das Ereignis, indem er die Daten in dem geänderten Zustand speichert, der zu dem Ereignis geführt hat (Schritt 612). Der Prozess 600 setzt den Ereignis-Merker (Schritt 614).
  • Wenn der Ereignis-Merker gesetzt ist (”Ja”-Pfad des Schritts 610), führt der Prozess 600 das Ereignis mit dem gespeicherten Ereignis zusammen, indem er beispielsweise die geänderten Daten mit den geänderten Daten zusammenführt, die sich aus den vorherigen Ereignissen ergaben (Schritt 616). Der Prozess 600 stellt fest, ob die Verarbeitung der Anforderung abgeschlossen ist (Schritt 618). Wenn die Verarbeitung nicht abgeschlossen ist (”Nein”-Pfad des Schritts 618), kehrt der Prozess 600 zum Schritt 602 zurück und setzt die Überwachung der Ereignisse fort.
  • Wenn die Verarbeitung der Anforderung abgeschlossen ist (”Ja”-Pfad des Schritts 618), kann der Prozess 600 optional eine Regel oder eine Bedingung auf die zusammengefassten Ereignisdaten anwenden (Schritt 620). Zum Beispiel kann eine Verbraucheranwendung den Wunsch haben, dass die Ereignisbenachrichtigung auf eine bestimmte Art und Weise behandelt wird, die auf dem Inhalt der Ereignisdaten beruht, sobald die Ereignisdaten zusammengefasst worden sind. Die im Schritt 620 angewendete Bedingung kann jede beliebige geeignete Form einschließlich Code oder Logik, ohne darauf beschränkt zu sein, annehmen und kann dem Prozess 600 von jeder beliebigen Quelle einschließlich Verbraucheranwendungen, ohne darauf beschränkt zu sein, bereitgestellt werden.
  • Der Prozess 600 sendet die Ereignisbenachrichtigung unter Verwendung der zusammengefassten Ereignisdaten oder hat die Ereignisbenachrichtigung unter Verwendung der zusammengefassten Ereignisdaten veröffentlicht (Schritt 622). Daraufhin endet der Prozess 600.
  • Mit Bezug auf 7 ist ein Blockschaubild einer beispielhaften Ereignisverwaltungs-Anwendung gemäß einer der Veranschaulichung dienenden Ausführungsform gezeigt. Die Ereignisverwaltungs-Anwendung 702 kann als die Ereignisverwaltungs-Anwendung 410 in 4 und zur Durchführung der Prozesse 500 und 600 in 5 beziehungsweise 6 verwendet werden.
  • Die Ereignisverwaltungsanwendung 702 empfängt Ereignisse 704 von einer oder mehreren Geschäftsentitäten, die überwacht werden. Die Ereignisverwaltungs-Anwendung 702 enthält die Komponente 706, um die Ereignisse in verschiedene Kategorien einzuordnen, beispielsweise, um eine Zusammenfassung nach Ereigniskategorien vorzunehmen.
  • Die Ereignisverwaltungs-Anwendung 702 enthält ferner die Komponente 708, um den Ereignis-Merker immer dort zu setzen, wo der Merker realisiert werden kann, wie zuvor beschrieben wurde. In einer Ausführungsform kann der Merker dem ganzen Graphen der Geschäftsentität zugeordnet werden, zum Beispiel auf der Ebene des Stamm-Geschäftsobjekts. In einer anderen Ausführungsform können mehr als ein Merker verwendet werden, wie zum Beispiel ein Merker auf der Ebene eines jeden Untergraphen, wobei der Untergraph an einem bestimmten Geschäftsobjekt in dem Graphen beginnt und alle darunter liegenden Eltern-Kind-Beziehungen enthält.
  • Die Ereignisverwaltungs-Anwendung 702 enthält des Weiteren die Komponente 710, um die Ereignisse je Anforderung zusammenzufassen oder um Ereignisse kategorieweise je Anforderung oder je untergeordnetem Teil der Anforderung entsprechend der Verarbeitung durch einen Untergraphen zusammenzufassen. Die Komponente 712 ermöglicht die Verarbeitung von Bedingungen wie zum Beispiel in dem optionalen Schritt 620 in 6.
  • In Abhängigkeit von der Konfiguration der Ereignisverwaltungs-Anwendung 702 veröffentlicht diese die zusammengefasste Ereignisbenachrichtigung 714 je Anforderung, ereigniskategorieweise je Anforderung oder je Untergraphen.
  • Die Veröffentlichung kann durch jedes beliebige geeignete Mittel, einschließlich der Datenübertragung über ein Datennetzwerk, ohne darauf beschränkt zu sein, erfolgen. Die Veröffentlichung kann die Daten in einem geänderten Zustand übertragen, der sich aus der Anforderung ergibt.
  • Der Ablaufplan und die Blockschaltbilder beziehungsweise Blockschaubilder in den Figuren zeigen die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockschaltbildern beziehungsweise Blockschaubildern ein Modul, ein Segment oder einen Teil von Code darstellen, das beziehungsweise der einen oder mehrere ausführbare Befehle zur Ausführung der angegebenen logischen Funktion(en) umfasst. Es sei auch angemerkt, dass die in dem Block angegebenen Funktionen in manchen alternativen Ausführungsarten nicht in der in den Figuren angegebenen Reihenfolge auftreten können. In Abhängigkeit von der mit ihnen verbundenen Funktionalität können beispielsweise zwei Blöcke, die als aufeinanderfolgende Blöcke dargestellt sind, tatsächlich weitgehend gleichzeitig ausgeführt werden oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden. Man wird auch feststellen, dass jeder Block der Blockschaltbilder beziehungsweise Blockschaubilder/und oder der Darstellung in dem Ablaufplan sowie Kombinationen aus Blöcken in den Blockschaltbildern beziehungsweise Blockschaubildern und/oder der Darstellung in dem Ablaufplan von Systemen, die auf Hardware für spezielle Anwendungen beruhen und die angegebenen Funktionen oder Vorgänge durchführen, oder von Kombinationen aus Hardware für spezielle Anwendungen und Computerbefehlen ausgeführt werden können.
  • In den der Veranschaulichung dienenden Ausführungsformen werden folglich ein Computer implementiertes Verfahren, ein System und ein Computerprogrammprodukt zur Verwaltung von Ereignissen bereitgestellt, die aus Geschäftsobjekten in einer Geschäftstransaktionsumgebung erzeugt werden. Bei Verwendung einer Ausführungsform der Erfindung wird die Anzahl der Ereignisse, die für Verbraucheranwendungen veröffentlicht werden, in einer Geschäftstransaktionsumgebung deutlich verringert. Folglich müssen die Verbraucheranwendungen größtenteils doppelte Geschäftsdaten mit nur geringfügigen Mengen an Änderungen, die sich aus einem jeden der zahlreichen Ereignisse ergeben, weder empfangen noch verarbeiten. Eine Ausführungsform fasst die geänderten Zustände von den verschiedenen Ereignissen während der Verarbeitung einer Anforderung zusammen und sendet eine zusammengefasste geänderte Ereignisdatenangabe an die Verbraucheranwendungen. Eine Ausführungsform verringert folglich die Überlastung des Netzwerks, die Arbeitslast der Verbraucheranwendungen und die Komplexität des Codes, um jedes Ereignis in den Verbraucheranwendungen zu verarbeiten und auszuwerten.
  • Der Fachmann wird als vorteilhaft erkennen, dass Erscheinungsformen der vorliegenden Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt realisiert werden können. Folglich können Erscheinungsformen der vorliegenden Erfindung die Form einer ganz in Hardware realisierten Ausführung, einer ganz in Software realisierten Ausführung (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführung annehmen, die Software- und Hardware-Erscheinungsformen kombiniert, die hier alle allgemein als eine ”Schaltung”, ein ”Modul” oder ein ”System” bezeichnet werden können. Überdies können Erscheinungsformen der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das sich in einer oder mehreren Computerlesbaren Speichereinheiten oder auf einem oder mehreren computerlesbaren Datenträgern befindet, auf dem beziehungsweise denen sich Computerlesbarer Programmcode befindet.
  • Jede beliebige Kombination aus einem oder mehreren computerlesbaren Speichereinheiten oder computerlesbaren Datenträgern kann verwendet werden. Der Computerlesbare Datenträger kann ein computerlesbarer Signaldatenträger oder ein computerlesbares Speichermedium sein. Eine computerlesbare Speichereinheit kann zum Beispiel, ohne auf diese beschränkt zu sein, ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleitersystem, -vorrichtung, -einheit oder eine beliebige geeignete Kombination des Vorstehenden sein. Zu konkreteren Beispielen (wobei die Liste keinen Anspruch auf Vollständigkeit erhebt) für die Computerlesbare Speichereinheit würden folgende gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine Diskette eines tragbaren Computers, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede beliebige geeignete Kombination des Vorstehenden. Im Rahmen dieses Schriftstücks kann eine computerlesbare Speichereinheit jedes physisch greifbare Medium sein, das ein Programm zur Verwendung durch ein Befehlsausführungssystem, eine Befehlsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit einem Befehlsausführungssystem, einer Befehlsausführungsvorrichtung oder -einheit enthalten oder speichern kann.
  • In einer computerlesbaren Speichereinheit oder auf einem computerlesbaren Datenträger enthaltener Programmcode kann mittels eines beliebigen geeigneten Mediums übertragen werden, z. B. drahtlos, drahtgebunden über Lichtwellenleiterkabel, mittels Hochfrequenz (HF) usw., ohne auf diese beschränkt zu sein, oder mittels jeder beliebigen geeigneten Kombination des Vorstehenden.
  • Computer-Programmcode zur Durchführung von Operationen für Erscheinungsformen der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder dergleichen, sowie in herkömmlichen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache ”C” oder in ähnlichen Programmiersprachen geschrieben sein. Die Ausführung des Programmcodes kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem fernen Computer oder Server erfolgen. Im letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art eines Netzwerks, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzes (WAN), verbunden werden oder die Verbindung kann zu einem externen Computer (zum Beispiel über das Internet mittels eines Internet-Diensteanbieters) hergestellt werden.
  • Erscheinungsformen der vorliegenden Erfindung werden hier mit Bezug auf Darstellungen in Ablaufplänen und/oder Blockschaltbilder beziehungsweise Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Darstellungen in den Ablaufplänen und/oder der Blockschaltbilder beziehungsweise Blockschaubildern sowie Kombinationen aus Blöcken in den Darstellungen der Ablaufpläne und/oder den Blockschaltbildern/Blockschaubildern mittels Computerprogrammbefehlen realisiert werden können. Diese Computerprogrammbefehle können einem oder mehreren Prozessoren von einem oder mehreren Universalcomputern, Computern für spezielle Anwendungen oder anderen programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den einen oder die mehreren Prozessoren des Computers oder anderer programmierbaren Datenverarbeitungsvorrichtungen ausgeführt werden, ein Mittel zur Ausführung der Funktionen/Vorgänge erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaltbilder beziehungsweise Blockschaubildern angegeben sind.
  • Diese Computerprogrammbefehle können auch in einem oder mehreren computerlesbaren Speichereinheiten oder computerlesbaren gespeichert werden, die einen oder mehrere Computer, eine oder mehrere andere programmierbare Datenverarbeitungsvorrichtungen oder eine oder mehrere andere Einheiten anweisen können, auf eine bestimmte Art und Weise zu funktionieren, so dass die in dem einen oder den mehreren computerlesbaren Speichereinheiten oder in dem computerlesbaren Datenträger gespeicherten Befehle einen Herstellungsgegenstand erzeugen, der Befehle enthält, die die Funktion/den Vorgang ausführen, welche beziehungsweise welcher in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaltbilder beziehungsweise Blockschaubilder angegeben ist.
  • Die Computerprogrammbefehle können auch auf einen oder mehrere Computer, eine oder mehrere andere programmierbare Datenverarbeitungsvorrichtungen oder eine oder mehrere andere Einheiten geladen werden, um die Durchführung einer Reihe von Betriebsschritten auf dem einen oder den mehreren Computern, der einen oder den mehreren anderen programmierbaren Datenverarbeitungsvorrichtungen oder einer oder mehreren anderen Einheiten zu bewirken, um einen von einem Computer ausgeführten Prozess zu erzeugen, so dass die Befehle, die auf dem einen oder den mehreren Computern, der einen oder den mehreren anderen programmierbaren Datenverarbeitungsvorrichtungen oder der einen oder den mehreren anderen Einheiten ausgeführt werden, Prozesse zur Ausführung der Funktionen/Vorgänge ermöglichen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaltbilder beziehungsweise Blockschaubilder angegeben sind.
  • Die hier verwendete Terminologie dient lediglich dazu, bestimmte Ausführungsformen zu beschreiben und ist nicht als Einschränkung der Erfindung zu verstehen. Die Singular-Formen ”ein”, ”eine” und ”der”, ”die”, ”das” sollen in der hier verwendeten Weise auch die Plural-Formen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Des Weiteren versteht es sich, dass die Begriffe ”umfasst” und/oder ”umfassen”, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bezeichnen, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen der Vorgenannten jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Gleichwertiges von allen Mitteln oder Schritten sowie Funktionselementen in den nachstehenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen, die im Einzelnen beansprucht werden, beinhalten. Die Beschreibung der Ausführungsformen der Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, erhebt jedoch keinen Anspruch auf Vollständigkeit und ist auch nicht als auf die Ausführungsformen der Erfindung in der offengelegten Form beschränkt zu verstehen. Viele Ab- und Veränderungen sind für den Fachmann erkennbar, ohne vom Umfang und Wesen der Erfindung abzuweichen. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis der Erfindung hinsichtlich verschiedener Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.
  • Es sei auch erwähnt, dass Ausführungsformen der Erfindung mit Bezug auf andere Gegenstände beschrieben wurden. Insbesondere wurden bestimmte Ausführungsformen mit Bezug auf Ansprüche vom Typ Verfahren beschrieben, wohingegen andere Ausführungsformen mit Bezug auf Ansprüche vom Typ Vorrichtung beschrieben wurden. Der Fachmann entnimmt jedoch der vorstehenden und der nachfolgenden Beschreibung, dass, vorbehaltlich anderer Angaben, neben jeder Kombination aus Merkmalen, die zu einem Typ von Gegenstand gehören, auch jede Kombination zwischen Merkmalen, die sich auf verschiedene Gegenstände beziehen, insbesondere zwischen Merkmalen der Ansprüche vom Typ Verfahren und Merkmalen der Ansprüche vom Typ Vorrichtung, als in diesem Schriftstück zu beschreiben betrachtet wird.

Claims (15)

  1. Verfahren zum Verwalten von Ereignissen, die aus Geschäftsobjekten in einem Datenverarbeitungssystem erzeugt werden, wobei das Verfahren Folgendes aufweist: Erkennen eines ersten Ereignisses, wobei das erste Ereignis von einem Geschäftsobjekt in einer Vielzahl von Geschäftsobjekten ausgelöst wird, die in einer Geschäftsentität konfiguriert werden, wobei die Geschäftsentität in dem Datenverarbeitungssystem ausgeführt wird und eine Funktion zur Verarbeitung einer Anforderung bereitstellt; Feststellen, ob vor dem ersten Ereignis und während der Verarbeitung der Anforderung ein zweites Ereignis erkannt worden ist; als Reaktion darauf, dass die Feststellung positiv ist, Kombinieren einer ersten Ereignisdatenangabe, die zu dem ersten Ereignis gehört, mit einer zweiten Ereignisdatenangabe, die von dem zweiten Ereignis gespeichert wurde, wobei der Vorgang des Kombinierens zusammengefasste Ereignisdaten zum Ergebnis hat; und als Reaktion auf die Anforderung Veröffentlichen der zusammengefassten Ereignisdaten, nachdem die Verarbeitung der Anforderung abgeschlossen ist.
  2. Das Computer implementierte Verfahren nach Anspruch 1, wobei ein Ändern einer Transaktionsdatenangabe aufgrund der Anforderung das erste Ereignis herbeiführt, wobei das erste Ereignis die Transaktionsdaten im Anschluss an den Vorgang des Änderns in einem geänderten Zustand enthält.
  3. Das Computer implementierte Verfahren nach Anspruch 1, wobei das Erkennen des ersten Ereignisses aufweist: Zuordnen eines Listeners zu dem Geschäftsobjekt in der Geschäftsentität; und eindeutiges Kennzeichnen des Geschäftsobjekts in der Geschäftsentität für den Listener.
  4. Das Computer implementierte Verfahren nach Anspruch 1, weiterhin aufweisend: Konfigurieren des Geschäftsobjekts als ein aktives Geschäftsobjekt, wobei dem aktiven Geschäftsobjekt gestattet wird, Ereignisse auszulösen; Konfigurieren eines zweiten Geschäftsobjekts in der Vielzahl der Geschäftsobjekte als ein passives Geschäftsobjekt, wobei das passive Geschäftsobjekt daran gehindert wird, Ereignisse auszulösen.
  5. Das Computer implementierte Verfahren nach Anspruch 1, wobei das Geschäftsobjekt in der Vielzahl der Geschäftsobjekte nicht so konfiguriert ist, dass es das erste Ereignis über eine Eltern-Kind-Beziehung mit einem zweiten Geschäftsobjekt weitergibt, und wobei das Geschäftsobjekt das erste Ereignis auslöst, nachdem es infolge einer Verarbeitung der Anforderung durch das Geschäftsobjekt eine Änderung in einer Transaktionsdatenangabe, die zu der Anforderung gehört, erkannt hat.
  6. Das Computer implementierte Verfahren nach Anspruch 1, wobei die Feststellung, ob ein zweites Ereignis erkannt worden ist, durchgeführt wird, indem auf einen Ereignis-Merker Bezug genommen wird.
  7. Das Computer implementierte Verfahren nach Anspruch 6, wobei der Ereignis-Merker in Bezug auf ein Stammgeschäftsobjekt einer Hierarchie der Vielzahl der Geschäftsobjekte in der Geschäftsentität verwaltet wird.
  8. Das Computer implementierte Verfahren nach Anspruch 6, wobei der Ereignis-Merker in Bezug auf ein Kind-Geschäftsobjekt in der Hierarchie verwaltet wird und wobei der Ereignis-Merker nur diejenigen Ereignisse verzeichnet, die sich aus denjenigen Geschäftsobjekten ergeben, welche in einem Untergraphen unter dem Kind-Geschäftsobjekt in der Hierarchie erscheinen.
  9. Das Computer implementierte Verfahren nach Anspruch 6, wobei der Ereignis-Merker eine nichtdauerhafte Eigenschaft des Stamm-Geschäftsobjekts ist.
  10. Das Computer implementierte Verfahren nach Anspruch 1, wobei der Vorgang des Kombinierens ein Zusammenführen einer ersten Änderung der Transaktionsdaten, die das erste Ereignis verursacht hat, mit einer zweiten Änderung der Transaktionsdaten, die das zweite Ereignis verursacht hat, zur Folge hat.
  11. Das Computer implementierte Verfahren nach Anspruch 1, wobei das Geschäftsobjekt an einer zweiten Geschäftsentität teilnimmt, weiterhin aufweisend: Prüfen, ob das erste Ereignis von dem Geschäftsobjekt in der Geschäftsentität ausgelöst wird; als Reaktion darauf, dass das erste Ereignis von dem Geschäftsobjekt in der zweiten Geschäftsentität ausgelöst wird, Ignorieren des ersten Ereignisses und Unterlassen des Vorgangs des Kombinierens.
  12. Das Computer implementierte Verfahren nach Anspruch 1, weiterhin aufweisend: Einordnen des ersten Ereignisses in eine Kategorie einer Vielzahl von Kategorien, wobei der Vorgang des Kombinierens eine in eine Kategorie eingeordnete, zusammengefasste Ereignisdatenangabe zum Ergebnis hat, indem eine erste Änderung der Transaktionsdaten, die das erste Ereignis verursacht hat, mit einer zweiten Änderung der Transaktionsdaten, die das zweite Ereignis verursacht hat, zusammengeführt wird, so dass sich das erste Ereignis und das zweite Ereignis in einer gemeinsamen Kategorie befinden.
  13. Das Computer implementierte Verfahren nach Anspruch 12, wobei der Vorgang des Veröffentlichens Folgendes aufweist: Veröffentlichen der in eine Kategorie eingeordnete, zusammengefassten Ereignisdaten für eine jede solche Kategorie in der Vielzahl der Kategorien, die mindestens ein Ereignis enthält, während der Verarbeitung der Anforderung.
  14. Ein Computer nutzbares Programmprodukt, das ein von einem Computer nutzbares Speichermedium umfasst, welches von einem Computer nutzbaren Code enthält, um Ereignisse, die aus Geschäftsobjekten in einem Datenverarbeitungssystem erzeugt werden, zu verwalten, wobei der von einem Computer nutzbare Code Befehle umfasst, um das Verfahren nach einem der Ansprüche 1 bis 13 durchzuführen.
  15. Datenverarbeitungssystem zum Verwalten von Ereignissen, die aus Geschäftsobjekten in einem Datenverarbeitungssystem erzeugt werden, wobei das Datenverarbeitungssystem Folgendes aufweist: eine Speichereinheit, die ein Speichermedium enthält, wobei die Speichereinheit einen von einem Computer nutzbaren Programmcode speichert, und einen Prozessor, wobei der Prozessor den von einem Computer nutzbaren Programmcode ausführt und wobei der von einem Computer nutzbare Programmcode Befehle aufweist, um dem Datenverarbeitungssystem die Durchführung des Verfahrens nach einem der Ansprüche 1 bis 13 zu ermöglichen.
DE102012210064A 2011-06-23 2012-06-14 Verwalten von aus Geschäftsobjekten erzeugten Ereignissen Ceased DE102012210064A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/166,947 2011-06-23
US13/166,947 US8627340B2 (en) 2011-06-23 2011-06-23 Managing events generated from business objects

Publications (1)

Publication Number Publication Date
DE102012210064A1 true DE102012210064A1 (de) 2012-12-27

Family

ID=46546538

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012210064A Ceased DE102012210064A1 (de) 2011-06-23 2012-06-14 Verwalten von aus Geschäftsobjekten erzeugten Ereignissen

Country Status (3)

Country Link
US (2) US8627340B2 (de)
DE (1) DE102012210064A1 (de)
GB (1) GB2492204A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996064B1 (en) * 2013-12-19 2018-06-12 Agiliance, Inc. System and method for propagating control results in an enterprise
US11809390B2 (en) * 2021-07-29 2023-11-07 Intuit Inc. Context-dependent event cleaning and publication
US11616744B2 (en) 2021-07-29 2023-03-28 Intuit Inc. Context-dependent message extraction and transformation
CN117176802B (zh) * 2023-11-02 2024-01-16 太平金融科技服务(上海)有限公司 一种业务请求的全链路监控方法、装置、电子设备及介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363435B1 (en) 1998-02-03 2002-03-26 Microsoft Corporation Event sourcing and filtering for transient objects in a hierarchical object model
US20020077929A1 (en) * 2000-05-05 2002-06-20 Knorr Yolanda Denise Event driven shopping method utilizing electronic e-commerce order pending
DE10247529A1 (de) 2001-10-15 2003-06-05 I2 Technologies Inc Anpassbare Zustandsmaschine und Zustandsaggregationstechnik zur Verarbeitung von Zusammenarbeits- und Transaktionsgeschäftsobjekten
US7487512B2 (en) * 2004-09-30 2009-02-03 Sap Ag Publish-subscribe event notifications
US7472397B2 (en) * 2005-01-11 2008-12-30 International Business Machines Corporation Method and system to correlate and consolidate a plurality of events
US7590640B2 (en) 2005-12-30 2009-09-15 Sap Ag Systems and methods for managing the flow of attachments to business objects
US8001521B2 (en) 2006-06-12 2011-08-16 Sap Ag Meta-date driven implementation of business objects and their transactional behavior
US8996714B2 (en) 2006-08-21 2015-03-31 International Business Machines Corporation State-dependent entity based implementation of a service oriented architected application
US8341646B2 (en) 2007-01-26 2012-12-25 Sap Ag Information system with event-enabled data objects
US20090059941A1 (en) * 2007-08-30 2009-03-05 Chicago Mercantile Exchange, Inc. Dynamic data filtering
US8340999B2 (en) 2007-11-27 2012-12-25 International Business Machines Corporation Automatic generation of executable components from business process models
US20100023339A1 (en) 2008-07-25 2010-01-28 Baeuerle Stefan A Business event agents
US20100122270A1 (en) * 2008-11-12 2010-05-13 Lin Yeejang James System And Method For Consolidating Events In A Real Time Monitoring System
US20100161676A1 (en) 2008-12-19 2010-06-24 Gerrit Simon Kazmaier Lifecycle management and consistency checking of object models using application platform tools
US8862491B2 (en) 2009-01-15 2014-10-14 International Business Machines Corporation System and method for creating and expressing risk-extended business process models
US8171492B2 (en) 2009-03-31 2012-05-01 Software Ag Systems and/or methods for end-to-end business process management, business event management, and/or business activity monitoring
US10789562B2 (en) * 2010-03-05 2020-09-29 Oracle International Corporation Compensation patterns for adjusting long running order management fulfillment processes in an distributed order orchestration system
US9658901B2 (en) * 2010-11-12 2017-05-23 Oracle International Corporation Event-based orchestration in distributed order orchestration system

Also Published As

Publication number Publication date
GB201209078D0 (en) 2012-07-04
US20120331486A1 (en) 2012-12-27
US8627340B2 (en) 2014-01-07
US8627341B2 (en) 2014-01-07
US20120331483A1 (en) 2012-12-27
GB2492204A (en) 2012-12-26

Similar Documents

Publication Publication Date Title
DE102016103733B4 (de) Kanaleigentum in einem Veröffentlichungs-/Abonnier-System
DE112012003540B4 (de) Leistungsüberwachungsmasszahlen für Datenstromanwendung
DE102017217971B4 (de) Ermöglichen von Debugging von serverlosen Anwendungen mittels Graph-Rewriting
DE112012000444B4 (de) Verfahren, System und Computerprogrammprodukt zum Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes sowie Verfahren zum Implementieren eines entsprechenden Systems
DE112012000797B4 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
DE112012002631T5 (de) Stream-Verarbeitung unter Verwendung einer Client-Server-Architektur
DE112017007510T5 (de) Blockchain für offene wissenschaftliche forschung
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE112020004623T5 (de) Ml-basierte ereignishandhabung
DE112012004999T5 (de) Beschleunigungselement zur Cloud-Bereitstellung
DE102012223167B4 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE112012005037T5 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE112012005639T5 (de) Auslösen von Fensterbedingungen bei Anwendungen des Stream-Computing
DE202016008045U1 (de) Verteiltes Speichersystem mit Replika-Standortauswahl
DE112020004967T5 (de) Änderungsverwaltung und analytik für microservices
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE112018005452T5 (de) Schlüsselbasiertes loggen für die verarbeitung strukturierter datenelemente mit ausführbarer logik
DE112021000338T5 (de) Auslagern der statistikerfassung
DE102012204167A1 (de) Vorauslaufende genäherte Berechnungen
DE102021130957A1 (de) Empfehlungen zur stabilität von software-aktualisierungen
DE102012210064A1 (de) Verwalten von aus Geschäftsobjekten erzeugten Ereignissen
DE112020004760T5 (de) Steuern von interaktionen mit einer skalierbaren anwendung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final