9.6.2 Analysis Agent Configuration
You open the Analysis agent configuration dialog from a workflow configuration: you can right-click the agent icon and select Configuration..., or double-click the agent icon
Hint!
When you double-click the dotted triangle in the lower right corner of the
dialog, the code area is maximized. This is a useful feature when coding.The Configuration... dialog differs slightly depending on if the workflow configuration is of the batch or real-time type. The differences are described in the sections below, Batch Workflows, and Real-Time Workflows.
When the Analysis agent configuration dialog is confirmed, a compilation is performed to extract the configuration data from the code.
Note!
Complex code and formats may take a while to compile.
Batch Workflows
The configuration dialog consists of two tabs; Analysis and Thread Buffer .
If the routing of the UDRs (the udrRoute
command) is left out, the outgoing connection point disappears from the dialog, disabling a connection to a subsequent agent.
Analysis agent configuration dialog - Analysis tab
Analysis Tab
The Analysis tab consists of the following settings:
Setting | Description |
---|---|
Code Area | This is the text area where the APL code, used for UDR processing, is entered. Code can be entered manually or imported. There is also a third possibility, which is to set an import command stated to access the generic code created in the APL Code Editor. Entered code will be color coded depending on the code type, and for input assistance, a pop-up menu is available. See 9.6.3 Analysis Agent Syntax Highlighting and Right-click Menu for further information. Below the text area there are line, column and position indicators, for help when locating syntax errors. |
Compilation Test... | Compiles the entered code to evaluate the validity. The status of the compilation is displayed in a dialog. Upon failure, the erroneous line is highlighted and a message, including the line number, is displayed. |
Outline | Use this button to display or hide the APL Code Editor Outline navigation panel. The navigation panel provides a view of all the blocks, variables and methods in an APL code configuration and makes it possible to easily navigate between different types in the APL code. For further information on the Outline navigation panel, see the section, APL Code Editor Outline in 9.6.1 Analysis APL Code Editor. |
UDR Types | Enables selection of UDR Types. One or several UDR Types that the agent expects to receive may be selected. Refer to 9.6.6 Analysis Agent Input and Output Types for a detailed description. |
Automatically selects the UDR Type distributed by the previous agent. |
For further information about the pop-up menu in the Code Area and the UDR Internal Format browser, see the section Text Editor in 1.2 Administration and Management.
Thread Buffer Tab
The use and settings of private threads for an agent, enabling multi-threading within a workflow, is configured in the Thread Buffer tab. For further information, see the section Thread Buffer Tab in 3.1.6 Workflow Template.
Real-Time Workflows
An Analysis agent may be part of batch as well as real-time workflows. The dialogs are identical, except for the Thread Buffer tab which is not present in real-time workflows. Other than that, the agent is configured in the same way.
There are, however, some restrictions and differences to consider when designing a real-time workflow configuration:
APL plug-ins with transaction logic are not allowed. The agent will not perform any validation during workflow configuration - the workflow will abort upon activation of illegal code. Note, the user must therefore keep track of what type of plug-ins are invoked.
Published MIMs may only be of global type.
In order to make functions thread-safe they must be preceded by the
synchronized
keyword, which will make it possible to alter global variables. It is possible to read global variables from any function block, however, to avoid race conditions with functions updating the global variables, they must only be accessed from within synchronized functions. See the section about Synchronized Keyword in 1.4 Function Declarations in the APL Reference Guide for further information.Synchronized functions cannot utilize the
udrRoute
command.Function blocks related to batch handling cannot be used.
See the APL Reference Guide for further details on the specific commands.