LDQ ist eine Re-Implementation und Re-Design des qRFC NoSend Szenarios.
Die folgenden Punkte stellen alternative Design Ideen dar:
In der Spezifikationsphase wurden Prototypen für LDQ und die beiden alternativen Designideen erstellt und hinsichtlich ihrer Leistungsfähigkeit beim Lesen und Schreiben verschiedener Datensätze verglichen. Die Option LDQ erwies sich gegenüber den Alternativen hinsichtlich Leistungsfähigkeit und Wartbarkeit als überlegen (siehe auch “bgRFC NoSend MMW Performancedaten”).
Das Monitoring von Local Data Queues ist nicht Gegenstand dieser Beschreibung.
Alle Methoden der LDQ Klassen benötigen einen Explicit Commit, um ihre Arbeit in der Datenbank abzubilden, mit Ausnahme der Methode CONFIRM_QUEUE_UNITS im Interface IF_LDQ_READER. Diese Methode führt einen Implicit Commit durch.
Die Abfolgenummer einer Einheit in einer Queue beschreibt die Position der Einheit in der Queue. Abfolgenummern sind eindeutig und in aufsteigender Reihenfolge innerhalb einer Queue vergeben. Abfolgenummern werden nicht wiederverwendet nach dem Löschen von Einheiten in der Queue.
Aus Performancegründen empfehlen wir Lese-Einheiten möglichst bald zu bestätigen (confirm), da alle Lese-Einheiten für ein mögliches erneutes Lesen im Speicher behalten werden.
Das Klassendiagramm sieht folgendermaßen aus: