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 outlines one or several workflows. You can add more workflows via the Add Workflow button.

Note
title

Note!

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

title
Note

Note!

Each configuration only allows one 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.

Image Removed

Workflow configuration

Creating a Workflow

To create a workflow,

...

  1. Click Build → New Configuration.

...

  1. Select Workflow from the Configurations dialog or click the

...

  1. Image Added

     (New) button in the upper left part of the Workflow Template window.

  2. Select a Workflow Type: Batch, Realtime, or Task, and then Ok.

  3. Click Add agent to open the Agent Selection dialog, and select the agents for deployment.

A workflow template can have multiple labels located next to the workflow template name. These labels serve to identify the workflow template. The following are labels that may appear:

Label

Description

Image Removed
Image Added

This label identifies the workflow as a Batch workflow. This label is mutually exclusive to Realtime and Task.

Image Removed
Image Added

This label identifies the workflow as a Realtime workflow. This label is mutually exclusive to Batch and Task.

Image Removed
Image Added

This label identifies the workflow as a Task workflow. This label is mutually exclusive to Batch and Realtime.

Image Modified

This label identifies the workflow as a valid workflow. For more information about validation, refer to Workflow Validation (4.3).

Image Modified

This label identifies the workflow as an invalid workflow. For more information about validation, refer to Workflow Validation (4.3).

To edit a read only workflow configuration, click the Edit button to open and edit the configuration.

Image Removed

A read only workflow dialog bar

...

Here are more things that you can do on the workflow template:

Table of Contents
maxLevel2

Configuration

title
Note

Note!

Due to the agents' relationships within a workflow configuration, ensure that you have added all agents and routes in order to initiate a workflow.

Each agent in the workflow configuration has a specific configuration 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 Image Modified button when selecting an agent or a route. This opens a dialog that contains different agents and route-based options. See Agent Options and Route See https://infozone.atlassian.net/wiki/spaces/UEPE4D/pages/edit-v2/304401288#Agent-Options and https://infozone.atlassian.net/wiki/spaces/UEPE4D/pages/edit-v2/304401288#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.

...

Agent Options

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

...

Agent options

Options

Description

Image Removed
Image Added

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 Removed
Image Added

A read only agent configuration dialog

Note
title

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.

Image Removed
Image Added

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.

Image Removed
Image Added

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

Image Removed
Image Added

Connect agent to dialog box

Image Removed
Image Added

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

Image Removed
Image Added

Agent information dialog

Agent Selection Dialog

Insert excerpt
Agent Selection Dialog (4.3)
Agent Selection Dialog (4.3)
nopaneltrue

...

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.

...

Route Options

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

...

Route Options

Options

Description

Image Removed
Image Added

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
title

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.

Image Removed
Image Added

Edit Route dialog box

Image Removed
Image Added

Removes the selected route.

Workflow Tables

Insert excerpt
Workflow Table (4.3)
Workflow Table (4.3)
nopaneltrue

...

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

...

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.Image Removed

...

Workflow template visualization toolbar

Options

Description

Image Removed
Image Added

Zooms in on the workflow template.

Image Removed
Image Added

Zooms out of the workflow template.

Image Removed
Image Added

Centers the workflow template so that all agents and routes are visible on the canvas.

Image Removed
Image Added

Displays all the keyboard shortcuts that you can use within the workflow template.

There is also a zoom percentage along with an x and y coordinate, which are displayed as soon as you zoom in or out. The default range on the zoom percentage is 100% while the x and y coordinates, which are determined from the point on the top left corner of the workflow template canvas, start at 0, 0, respectively. These values appear at the bottom left corner of the canvas whenever you manipulate the visuals.Image Removed

...

Percentage and x and y coordinates found in the workflow template

...

workflow template

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.

...

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.

title
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.

Open the Configuration dialog of the agent and select the Thread Buffer tab. The tab is present in batch processing and batch forwarding agents.Image Removed

...

The Thread Buffer tab

Item

Setting

Description

Use Buffer

Enables multithreading. For further information, see Multithreading (4.3).

Print Statistics

Statistics to be used when trying out where to use the Thread Buffer in the workflow. After each batch execution, the full and empty percentages of the threads using the buffer are logged in the event area at the bottom of the Workflow Monitor.

For information on how to interpret the results, see the section below, Analyzing Thread Buffer Statistics.

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 (4.3).

title
Info

Example - A thread buffer printout

Code Block
languagetext
theme
Eclipse
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.

The percentage values for Empty and Full must be as low as possible, and as equal as possible. The latter may be hard to achieve, since the agents may differ too much in processing complexity. If possible, add and configure another agent to take over some of the processing steps from the most complex agent.

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

...

Filename

...

Sequence

...

Tab

...

For batch collection agents such as Disk, FTP, and SFTP, there is a service available, found in the agents' configuration 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
title

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.

...

...

Setting

...

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.

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.

title
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.

Image Removed

Sort Order tab

...

Setting

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 Agents(

...

4.3).

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

...

 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
languagetext

...

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. 

...

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.

title
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.

...

Image Added

...

The list contains MIM resources or user defined values that create the file name. The order of the items in the list controls the order in the file name.

...

Since the service uses a selection of MIM resources from available agents in the workflow, it is advised to add all agents to the workflow before the filename template configuration is completed.

...

Setting

Description

Create Non-Existing Directories

When this checkbox is selected, non-existing directories stated in the path are created. If not selected, the agent will abort if a required directory is missing

...

Image Removed

Filename Template tab - Add or Edit dialog

Item

.

...

Setting

Description

MIM Defined

Determines if the

Value will

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

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(

3

4.3).

...

title
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 RemovedImage Added

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

Image RemovedImage 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

...

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
title

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
languagetext
themeEclipse
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 RemovedImage 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
languagetext
themeEclipse
dir0/dir1/dir2/partOfFileName20070101_1

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

For further information about how to manipulate FNTUDRs with APL functions and how to publish MIM resources, see the APL Reference Guide(34.3) and the section Meta Information Model in Administration and Management(34.3).