Show TOC

Background documentationLDQ: Overview and Architecture Locate 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

Restrictions

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.

Architecture

The class diagram is as follows:

This graphic is explained in the accompanying text.