Architecture
The architecture of the Scheduler uses JMS queues and topics to provide a highly scalable, highly performing and robust report scheduling and delivery system.
The figure below displays the scheduler architecture.
The following list describes the tasks performed by the scheduler when a job is submitted:
-
Submit Job
-
Stores job information and triggers in Quartz tables
-
-
Job Processor
-
When quartz trigger is fired, puts job information in Scheduler job queue
-
-
Bursting Engine / Batch Job Process
-
Bursting Engine Listener
-
Takes the scheduled job information from the queue
-
Extracts data from data source
-
Splits data according to bursting split by definition
-
Stores data temporarily in temp folder
-
Puts report metadata into Report Queue
-
-
-
FO Report Processor
-
Listens to Report Q
-
Generates report based on metadata
-
Stores report in shared TEMP directory
-
Puts report delivery information in Delivery Queue
-
-
Delivery Processors
-
Listen to Delivery queue
-
Call delivery API to deliver to different channels
-
-
Publisher System Topic
The Publisher System Topic publishes the runtime status and health of the scheduling engine. The topic publishes the status of all instances, the thread status of messages in the JMS queues, the status of all scheduler configurations such as database configuration, JNDI configuration of JMS queues and so on.