Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The workflow template is the area where the workflow is designed. The workflow template has one workflow per default. You can add more workflows via the Add Workflow button.

Note

Note!

A workflow configuration cannot be activated, the workflows in it however can.

Note

Note!

Each configuration only allows 1 user to edit it at any one time. While editing the configuration, it is locked to the user's session. To release the lock, you must navigate away from the configuration to another page. It is advised not to close the browser tab without navigating away from the configuration first as this will cause the lock to stay in place until timeout.

...

Table of Contents
maxLevel2

Configuration

Note

Note!

Due to the agents' relationships within a workflow configuration, it is preferable that all agents and routes are added before the configuration is started.

Each agent in the workflow configuration has a specific configuration dialog named after the agent type. You can access these configurations by double-clicking the agent or the route. Subsequently you can also click on the button when selecting an agent or a route. This causes a dialog to appear with options. See Agent Options or Route Options for more information.

When an agent is deployed into the workflow template it receives a default name located underneath it. The same applies to routes when they are added. These names may be modified to ease identification in monitoring facilities and logs.

...

The workflow table is affected if it includes columns that correspond to an agent removed from the workflow template.

Routing Agents

To create a data flow, agents need to be connected to each other. To connect the agents, click the left mouse button on the center of the source agent and without releasing the left mouse button, move the pointer to the target agent and release there. This creates a route between the two agents indicating the data flow.

You can also create a route between agents by using the button under agent options and selecting the target agent in the dialog. You can modify a route name by clicking on its name and typing a new name. Route names must be unique within a workflow configuration and may only contain the a-z, A-Z, 0-9, "-" and "_" characters.

Anchor
route_options
route_options
Route Options

Clicking on a route in the workflow template provides you with a couple of options.

...

Options

Description

Opens the Edit Route dialog where you can then edit the route name and route style. You can also double-click the route itself to open the Edit Route dialog.

A route name is modified by typing a new name. Route names must be unique within a workflow configuration and may only contain the a-z, A-Z, 0-9, "-" and "_" characters.

You can also change the appearance of the routes by selecting from the following Route Style options; Orthogonal, Bezier, or Straight. The default route style is Bezier .

Note

Note!

In a real-time workflow a fourth kind of routing type appears by default when a response is returned to an agent that sent out a request. The route is shown as a dot-dashed line.

Edit Route dialog box

Removes the selected route.

Anchor
agent_options
agent_options
Agent Options

Clicking an agent in the workflow template provides you with a few options.

...

Options

Description

Opens the Agent Configuration dialog where you can add or edit the settings and configuration values for the selected agent. You can also double-click the agent itself to open the Agent Configuration dialog.

In a read only configuration mode, you can proceed to edit directly on the agent configuration dialog. To save, click Edit on the dialog bar as shown below.

Image RemovedImage Added

A read only agent configuration dialog

Note

Note!

By clicking Edit on the dialog bar, the system will validate if any other changes have been performed and saved on the same agent and prompt a version change dialog. You can then decide to accept the saved changes and discard your local changes or choose to have your local changes overwrite the other version.

Removes the agent and all its stored configuration. This action will not prompt you with any dialog and it is final so be absolutely sure that you want to remove the agent.

Opens a dialog with an option to route the selected agent to another agent.

Connect agent to dialog box

Status
titleUnknown Attachment

Brings up an information dialog that displays parts of the agent's configuration.

Agent information dialog

Agent Selection Dialog

Insert excerpt
Agent Selection Dialog
Agent Selection Dialog
nopaneltrue

For more information about the different types of agents, refer to the Agent Selection Dialog section.

Workflow Tables

Insert excerpt
Workflow Table
Workflow Table
nopaneltrue

For more information about the workflow monitor, refer to the Workflow Table section.

Workflow Properties

Insert excerpt
Workflow Properties
Workflow Properties
nopaneltrue

For more information about the workflow monitor, refer to the Workflow Properties section.

Workflow Monitor

Insert excerpt
Workflow Monitor
Workflow Monitor
nopaneltrue

For more information about the workflow monitor, refer to the Workflow Monitor section.

Anchor
Visualization
Visualization
Visualization

You can manipulate visuals of the workflow template by zooming in or out, or moving the workflow template around. A toolbar is present on the right side of the workflow template to allow you to manipulate the visuals.

...

Percentage and x and y coordinates found in the workflow template

Anchor
AgentServices
AgentServices
Common Agent Services

Some agent configuration dialogues are optionally equipped with additional tabs holding configurations for different common services. This section describes the general services that are available. The user guide for each agent, in turn describe what services it uses.

Anchor
Thread_Buffer_Tab
Thread_Buffer_Tab

Thread Buffer Tab

By default, a batch workflow uses one active thread at a time. By configuring a buffer storage for an agent, it is possible for yet another thread to be created. This is also called multithreading. One thread populates the buffer, and another pulls it for data. Adding yet another buffer for another agent adds yet another thread, and so on.

This is especially useful in complex workflows with many agents. All batch agents that receive UDRs can use this functionality.

Note

Note!

A workflow that is configured with multithreading can only handle data of the UDR type. If bytearrays are routed into an agent using this service, an exception is thrown.

...


A UDR may be queued up while another thread is busy processing a reference to it. Workflows routing the same UDR on several routes and involving further processing of its data, must consequently be reconfigured to avoid this. A simple workaround is to route the UDR to an Analysis agent for cloning before routing it to the other agents (one unique clone per route).

Analyzing Thread Buffer Statistics

By using the Print Statistics alternative in the Thread Buffer tab, buffer statistics are logged for the whole batch execution and show the full and empty percentages for the threads using the thread buffer. For information about multithreading in a batch workflow, refer to the section Threads in a Batch Workflow, in Multithreading.


Info

Example - A thread buffer printout


Code Block
languagetext
themeEclipse
11:03:04: Buffer usage statistics [5] for 2089 turnover(s) of UDRs: 
Incoming queue: Available 54%. Full 46%. 
Outgoing queue: Available 59%. Empty 41%.


  • The number within brackets, which is [5] in the example, is the batch counter id.

  • Turnover is the total number of UDRs that have passed through the buffer.

  • Available indicates how often (out of the total turnover time) the buffer has been available for the incoming queue to forward a UDR and for the outgoing queue to fetch a UDR.

  • Incoming queue:

    Full is logged for the incoming thread and indicates how often (out of the total turnover time) the buffer has been full and an incoming UDR had to wait for available buffer space.

    In the example, Full indicates that for 46% of the incoming UDRs there was a delay because of a full buffer.

  • Outgoing queue:

    Empty is logged for the outgoing thread and indicates how often (out of the total turnover time) an outgoing queue had to wait for data because of an empty buffer.

    In the example, Empty indicates that for 41% of the attempts to fetch a UDR, the buffer was empty.

...

See the section below, Thread Buffer Tab, for how to configure the thread buffer.

Anchor
Filename_Sequence_Tab
Filename_Sequence_Tab
Filename Sequence Tab

For batch collection agents such as Disk, FTP, and SFTP, there is a service available, found in the agents' configuration dialog in the Filename Sequence tab. The filename sequence is used when you want to collect files that contain a sequence number in the file name. The sequence number is expected to be found at a specific position in the file name and has a fixed or dynamic size.

Note

Note!

When collecting from several sources, the Filename Sequence service is applied to the data that arrive from all the sources, as though all the information arrives from a single source. This means that the Filename Sequence number count is not specific to any of the sources.

...

Item

Description

Enable Filename Sequence

Determines if the service will be used or not.

Start Position

The offset in the file name where the sequence number starts. The first character has offset 0 (zero). In the example file name TTFILE0001 the start position is 6.

Length

The length of the sequence number, if the sequence number has a static length (padded with leading zeros). If the sequence number length is dynamic this value is set to 0 (zero).


Info

Example

TTFILE0001-TTFILE9999 Length: 4

TTFILE1-TTFILE9999 Length: 0


Wrap On

If the Filename Sequence service is enabled, a value must be specified on which the sequence will wrap. This number should be larger than or equal to Next Sequence Number and it must be larger than Wrap To.

Wrap To

The value that the sequence will wrap to. This value must be less than the Wrap On value and less than or equal to Next Sequence Number.

Warn On Out Of Sequence

If enabled, the agent logs an informative message to the System Log when detecting an out of sequence file, before deactivating. The collection agent will not continue to collect any files upon the next activation, until either the missing file is found, or the Next Sequence Number is set to a valid value.


Anchor
sort_order_tab
sort_order_tab
Sort Order Tab

The Sort Order service is available for some batch collection agents and is used to sort matched files before collection.

The sort pattern is expected to occur at a specific position in the file name or to be located using a regular expression. However, if the sort pattern cannot be applied, the workflow will abort, except for files with a name which is shorter than Position plus Length. For information on this exception, see the description below for Position.

Note

Note!

Regular expressions according to Java syntax apply. For further information see https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html.

...

Item

Description

Enable Sort Order

Determines if the service will be used or not. If enabled, the sort order that you select also applies to subfolders if you have selected the Include Subfolders checkbox for the FTP, SFTP, and Disk collection agents. For further information, see the section for the relevant agent in Appendix 2 - Batch and Real-Time Workflow Agents.

Modification Time

Select to enable file collection order according to the modification time stamp. If Sort Direction is set to Ascending, the oldest files are collected first. The time resolution depends on the server and protocol.

Note

Note!

Most FTP and SCP servers follow the Unix modification date format for file time stamps. The modification date resolution is one minute for files that are time stamped during the last six months. After six months a resolution of one day is applied.


Value Pattern

The method used to locate the item (part of the file name) to be the target for the sorting. This could be either Position that indicates that the item is located at a fixed position in the file name or Regular Expression indicating that the item should be fetched using a regular expression.

Position

If Position is enabled, the files are sorted based on the part of the filename indicated by Position plus Length. The Start Position value states the offset in the file name where the sorting item starts. The first character has offset 0 (zero).

The Length value states the length of the sorting item (part of the file name) if it has a static length. To sort items with a dynamic length, use the value zero (0).

Note

Note!

Files with a name which is shorter than Position plus Length are ignored.

However, when Include Subfolders option is selected, a folder name shorter than Position plus Length will cause the workflow to abort.


Regular Expression

If enabled, the sorting item is extracted from the file name using the regular expression. If the file name does not end with a digit, this is the correct option.
 


Info

Example - Sorting using regular expression

\d+ locates the first digit sequence in a file name.

Sort the following files in an alphabetical or numerical order:

Code Block
languagetext
themeEclipse
 FILEA_1354.log
 FILEB_23.log
 FILEC_1254.log,

Use \d+ in the regular expression. Depending on the selected Sort Direction, the files are sorted in the following order:

Code Block
languagetextthemeEclipse
FILEC_1254.log
FILEA_1354.log
FILEB_23.log



Sort Type

Type of sorting. Could be either Alphanumeric or Numeric .

Ignore Case

If enabled, the sorting is not case sensitive.

Sort Direction

Indicates if the sort order should be Ascending or Descending .


Note

Note!

When Include Subfolders option is selected, the same sort order criteria are applied to subfolder names. 


Anchor
Filename_Template_Tab
Filename_Template_Tab
Filename Template Tab

The Filename Template service is available to batch forwarding agents that are responsible for creating a file, and the Disk forwarding agent for real-time workflows. The configuration contains MIM resources for all available agents in the workflow, the values of which may be used when constructing a filename for the outgoing file.

Since this service includes a selection of MIM resources from available agents in the workflow, it is advised to add all agents to the workflow, and to assign route and agent names, before the filename template configuration is completed.

Note

Note!

The Filename Template service also provides you with the so called Dynamic Directory support. This means that you can change the output directory during execution of a workflow, the input data of which is bytearray. See Input Data in the configuration Target tab of your relevant forwarding agent.

By creating directories and subdirectories with names which consist of MIM values, and by adding appropriate APL code, you configure the output directory to sort the out data into directories that are created during the workflow execution. For further information, see the section below, Defining a MIM Resource of FNTUDR Type.

...

Item

Description

MIM Defined

Determines if the Value will be selected from a MIM resource.

The MIM resource of type FNTUDR is represented in the template table in the same way as other MIMs, however it has an other appearance when the filename or filepath is presented. A MIM FNTUDR value can represent a sub-path with delimiters, a part of a filename, or a directory.

For further information about how to use the FNTUDR in filename templates, see the section below, Defining a MIM Resource of FNTUDR Type.

User Defined

Determines if the Value will be a user defined constant entered in the text field.

Directory Delimiter

Determines if the Value will be a directory delimiter indicating that the file sub-path will have a directory delimiter at that specified position. You cannot have two directory delimiters directly after each other, or a delimiter in the beginning or end of a filename template.

The MIM resource of the special UDR type FNTUDR can include, begin or/and end with directory delimiters this must be noted when adding delimiters in the template.

For further information about using the FNTUDR in filename templates, see the section below, Defining a MIM Resource of FNTUDR Type.

Size

Number of allocated characters in the file name for the selected MIM resource (or user defined constant). If the actual value is smaller than this number, the remaining space will be padded with the chosen padding character. If left empty, the number of characters allocated in the file name will be equal to the MIM value or the constant.

Padding

Character to pad remaining space with if Size is set. If Size is not set, this value is ignored.

Alignment

Left or right alignment within the allocated size. If Size is not set, this value is ignored.

Separator

Separating character to add to the file name after the MIM value or constant.

Date Format

Adds a timestamp to the file name in the selected way. For further information about the format, see Date and Time Format Codes in Administration and Management in Legacy Desktop.


Info

Example - Configuring a Filename Template tab

In this example, there is a workflow containing a Disk collection agent named Disk_In and two Disk forwarding agents named Disk_Out and Disk_Out2. The desired output file names from both forwarding agents are as follows:

A-B-C.DAT Where A is the name of the Disk forwarding agent, B is the name of the currently collected file, C is the number of UDRs in the outgoing file and .DAT is a customer suffix. It is desired that the number of UDRs in the files takes up six characters and is right aligned.

The following file name template configuration applies to the first agent:Image Removed

Image Added

The following file name template configuration applies to the second agent:Image Removed

Image Added

If two files FILE1 and FILE2 are processed where 100 UDRs goes to Disk_Out and 250 goes to Disk_Out2 from each file, the resulting file names would be:

Code Block
languagetext
themeEclipse
Disk_Out-FILE1-000100.DAT 
Disk_Out2-FILE1-000250.DAT 
Disk_Out-FILE2-000100.DAT 
Disk_Out2-FILE2-000250.DAT


Anchor
Defining_a_MIM_Resource_of_FNTUDR_Type
Defining_a_MIM_Resource_of_FNTUDR_Type
Defining a MIM Resource of FNTUDR Type

A MIM resource with a value of the FNTUDR type included in the filename template is treated somewhat differently than other MIM resources. A FNTUDR value is a text string that can contain delimiters. The delimiters in the FNTUDR value will be replaced by directory delimiters when determining the target file path. The FNTUDR is defined in the FNT folder.

Info

Example - How to create an FNTUDR value to publishe as a MIM resource

The following example shows a set of APL code that creates a FNTUDR value and publishes it as a MIM resource. To use the FNTUDR value in a filename template, the MIM resource must be added in the filename template configuration.

Code Block
theme
languagetextEclipse
import ultra.FNT;

    mimPublish( global, "FNTUDR Value" , any );

consume {

    FNTUDR fntudr = udrCreate(FNTUDR);

    fntAddString(fntudr, "dir");
    fntAddString(fntudr, "1");
    fntAddDirDelimiter(fntudr);
    fntAddString(fntudr, "dir2");
    fntAddDirDelimiter(fntudr);
    fntAddString(fntudr, "partOfFileName");

    mimSet ("FNTUDR Value", fntudr);

    udrRoute(input);

}

The following filename template configuration uses the FNTUDR published by the APL code.Image Removed

Image Added

The resulting output file in the previous example is saved in a file with the following sub path from the root directory.

Code Block
languagetextthemeEclipse
dir0/dir1/dir2/partOfFileName20070101_1

The part dir1/dir2/partOfFileName derives from the FNTUDR Value.

...