Show TOC

LDQ: Overview and ArchitectureLocate this document in the navigation structure


Alternative Design Ideas

These are the alternative design ideas:

  1. NoSend scenario based on the background Remote Function Call (bgRFC). The bgRFC NoSend scenario uses linked lists for the queues.

  2. NoSend scenario based on the background Remote Function Call (bgRFC). The qRFC NoSend scenario has been in use for MMW until now.

    In the specification phase, prototypes for LDQ and for the two alternate design ideas were built and compared for reading and writing of various data volumes. The LDQ option proved superior to the alternatives both in performance and maintainability (see bgRFC NoSend MMW Performance Figures).

Local Data Queue: Overview

Reuse/Components Used/Use Dependencies

LDQ is a reimplementation and redesign of the qRFC NoSend scenario


This description does not cover the monitoring of local data queues.

Detailed Design

Explicit and Implicit Commit

All methods of LDQ classes require an Explicit Commit to persist their work in the database, with the exception of the CONFIRM_QUEUE_UNITS method in the IF_LDQ_READER interface. This method executes an Implicit Commit.

Sequence Number of Units

The sequence number of a unit in a queue describes the position of the unit in the queue. Sequence numbers are unique and in ascending order within a distinguished queue. Sequence numbers are not reused after deletion of units in the queue.

Confirm Often

For performance reasons it is strongly recommended to confirm read units soon, since all read units are kept in storage for possible reading-again.


The class diagram is as follows: