Data Repository Connection

Overview

This system handles both input and output from data repositories and establishing connections between each of the components of the Harvester, thus allowing the Controller, Fetchers, Translators, Scorers, Qualifiers, and VIVO installation to each sit on separate machines.

Networking

Overview

Each component of the harvest process can be run on a separate computer to allow for load balance and increased resource availability. To allow this to happen, there needed to be a subsystem that would allow the controller to send commands to each component and for data to be sent between each computer.

The networking layer sends commands using XML over a Command socket connection and, if the task requires, streams data over an Input socket connection and an Output socket connection. The Input and Output connections between the controller machine and subsystem machine are only established if the subsystem needs to stream data to and from the controller. In such a case, before the commanding the subsystem to execute the operation the controller sends a command to prepare for each necessary incoming streaming connection and waits for a confirmation that it is ready. Once the Input and Output connections have been established, if necessary, the controller machine sends the command to execute the task. The subsystem executes the specified task, streaming data to and from the controller machine if necessary. If there is an error, the subsystem sends one of the many error responses. Once completed, the subsystem returns a response indicating successful completion. If any streaming connections were established, the controller machine sends the commands to disconnect each to the subsystem. The subsystem then disconnects the streaming connections and returns a confirmation that it has disconnected.

Component Server System

Overview

Each component functions as a server, waiting for an incoming connection from a controller. The component receives all commands and configuration information as an XML segment from the controller, which is parsed and then it executes the task designated with the given parameters.

Workflow

Flow Chart

Class Details

ComponentServer

Constructor Parameters

  • a: as
  • b: asa
  • c: asas

Controller Client System

Overview

Workflow

Class Details

Message Format

Overview

Class Details

Streaming Data

Overview

Class Details