Siebel Loyalty Administration Guide > Siebel Loyalty Engine Reference >
Siebel Loyalty Server High-Level Architecture
The Siebel Loyalty Engine can be deployed in two ways:
- Running in the background, continually processing eligible objects such as transactions or tiers.
- Running in a real-time mode, processing requests from clients on demand.
Figure 50 shows deployment of the Siebel Loyalty Engine batch server component.
Figure 50. Siebel Loyalty Server High-Level Architecture
The Loyalty Engine has the following high-level architecture:
- The batch component is a multithreaded component that can be deployed to run multiple processes on multiple Siebel Business 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.
- Initializing the cache object.
- Initializing the queue of objects that must 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.
For information about how the Loyalty Engine uses server keys, see Setting Up Server Keys for Siebel Loyalty. For information about Siebel Loyalty server components, see Setting Up Server Components for Siebel Loyalty.