About the Distributed Processing Server

Oracle Life Sciences Data Hub uses its Distributed Processing Server (DP Server) to pass jobs to processing engines of different technologies to execute user-defined Programs, Load Sets, and Data Marts. The DP Server also passes jobs to XML Publisher to produce predefined reports and to handle Report Set post-processing.

The DP Server is designed to make the Oracle LSH execution platform engine scalable. You can install one or more instances of the DP Server on one or more computers. A single DP Server instance can handle jobs for one or more processing engines. You can install the DP Server on the same computer as the Oracle LSH database or application server or on another network node.

The DP Server requires access to XML Publisher for the purpose of producing coversheets for outputs and for merging outputs into single- or multi-volume PDF report sets. The DP Server also requires access to each processing engine that you install to use with Oracle LSH.

Conversely, each processing engine you install for use with Oracle LSH requires access to its DP Server instance.

You must also define one service location in the Oracle LSH user interface for each instance of the DP Server (usually one instance per computer) and define one or more services for each processing engine on that computer. For each service, you specify the number of service instances that can run simultaneously. A service instance handles one job at a time.

Oracle LSH tracks the availability of each service on each location and assigns new jobs according to their priority and the availability of appropriate service instances in different locations; see Job Allocation Algorithm.

The DP Server runs as a standalone Java program. It includes two dedicated threads:

  • Listener. At each location, the listener listens on a predefined Advanced Queue message queue called the DP Server job queue for jobs that have been assigned to local services. When the listener detects an XML job message request for a local service on the job queue, it dequeues the message. The message contains all the necessary details of one or more jobs.
  • Job Processor. The job processor thread uses the information in the XML message to connect back to the Oracle LSH database. Once connected, it downloads all the necessary data, including the executable program script, into a target directory identified in the XML message. The job processor then executes the job-specific script by spawning a new O/S-level process. This spawned process runs the processing engine, which in turn carries out the actual job execution using the downloaded job input data. After the spawned external process completes, the job processor connects back to Oracle LSH and uploads any output results into Oracle LSH.

This section contains the following topics: