Siebel Loyalty Administration Guide > Siebel Loyalty Technical Reference >
Loyalty Server High Level Architecture
The Loyalty Processing Engine can be deployed in two ways:
- Running in the background, continually processing eligible objects such as transactions, tiers.
- Running in a real-time mode, processing requests from clients on demand.
Figure 1 shows deployment of this server component in the background mode.
Figure 1. Loyalty Server High-Level Architecture
The Loyalty Processing Engine has the following high-level architecture:
- The batch component is a multi-threaded component that can be deployed to run multiple processes on multiple Siebel application servers.
- Each process processes transactions assigned to the keys that have been registered by that process.
- Within each process:
- The cache is a static object that is loaded at startup. The cache contains all the active programs and promotions that are required for processing transactions. The cache can be viewed as the master data.
- Among all the threads, the first thread assumes the role of the queue manager thread. All the remaining threads become processing threads.
- The Queue Manager thread is responsible for:
- Acquiring the key to process transactions for.
- Initializing the cache object.
- Initializing the queue of objects that should be processed by the processing threads.
- When all the objects are processed and the queue is empty, requerying for new objects to fill the queue.
- The processing threads:
- Request objects (transactions, tiers) from the queue manager and process them.
- For each object, commit the results in one database transaction.