View source | View content page | Page history | Printable version   

Projects:Retail Operations Buffer/Technical Specifications



The retail operations buffer is a new function which will store each imported webpos transaction in an intermediate table before processing.


The goal of the project is to make the integration between WebPOS and the backend more scalable and be able to handle very high WebPOS volumes which arrive in an unpredictable pattern.

An intermediate table will de-couple the WebPOS front-end from the backend and create a produce-consume buffer which can easily receive many records. The records are processed using the available server capacity.

Other advantages of an intermediate buffer table are:

Import Data Operations Buffer.png

Main Structure

The new function consists of the following parts:

Technical Implementation

A new table will be introduced with the following specific columns (next to standard columns as client and org):

The archive table will have the same fields.

The window to show import entries will be filtered by default only showing records with status Initial and Error.

The function will be implemented using a java class which gets triggered when a new import entry record is created. Also the import process should periodically run by itself to check if new records have been created. The import process will call the correct functional process to actually import the entry. For WebPOS this means that the existing OrderLoader, CustomerLoader etc. classes are called.

The import archive function periodically (hourly) checks if there are processed import entries (import status == 'Processed). If so then they are moved/copied to the import entry archive table and removed from the import entry table.

Handling Errors

When the import process encounters an error then the import record will move to the error status.

However, in retail there is already an POS error table. To prevent error records in 2 places when an error occurs in POS then they are stored in the POS error table and the record in the import table is set as processed.

Retrieved from ""

This page has been accessed 789 times. This page was last modified on 4 May 2015, at 15:19. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.