4. Agent Plugins
A agent is defined by inserting a class that extends the DRAgentInspectable
class into the code server. The server will then instantiate the class and extract the needed information about the agent. Most agent related classes are located in the devkit.wf
package.
An agent is either a collector, responsible for feeding data into a workflow, or a processing agent responsible for processing the incoming data. Processing agents that do not forward data to other agents, but forwards data to downstream systems, are referred to as forwarding agents. Agents are designed to operate either in a batch oriented or a real time oriented workflow.
To create a user defined agent, a configuration contract for the agent is required. The configuration contract is a mechanism by which agents can supply with data and metadata at runtime and compile time. A configuration contract is a declarative piece of XML data associated with an agent at compile time. The data is also available at runtime for further processing.
The agent plugins contain four main parts; Data, Executable, GUI, and Inspectable.
Agent structure
The corresponding classes should be named as shown below:
Class | Description |
---|---|
| This class is generated from the agent's configuration contract. The class holds the configuration data for the agent. It extends the class |
| This is the agent definition class that contains references to the user interface and executable implementations of the agent, as well as other information. This class must extend |
| The agent user interface dialog, used to collect and display the template configuration data for the agent. It is defined in a class extending |
| This is the class responsible for the actual execution that implements the agent's runtime logic. The class to extend depends on what type of agent is developed: |
This chapter includes the following sections: