Previous Next
Opalis Integration Server > Building Policies > Policy Workflow Rules

Policy Workflow Rules
When building policies, it is important to understand the rules of the workflow engine that lies beneath it. By following these rules you will be able to easily create workflows to automation RBA jobs as well as complex data processing policies. It is recommended to understand this section of the documentation and use it in your test environment to learn how the workflow rules behave. Opalis provides a small set of simple rules with an abundent set of utilities to manipulate the workflows to create the widest available options of workflow configuartion.
Databus Modes
Opalis Integration Server has two modes for running workflows: Pipeline and Legacy. Pipeline mode is the recommended mode for all users creating new policies using Opalis Integration Server. Legacy mode is provided for previous users of Opalis Integration Server 5 and 6 that have existing workflows. All new policies created in Opalis Integration Server will automatically have Pipeline mode enabled.
The two Databus modes behave differently in how they correlate and pass data throughout the workflow. Also, some workflow control objects are not cross-compatible with each of the Databus modes.
Note: If you are updading to Opalis Integration Server from version 6.1 or previous, all of your policies will continue to run in Legacy mode until you switch it.
Objects incompatible with the Pipeline Databus:
Objects incompatible with the Legacy Databus:
Note: The following rules apply to the Pipeline Databus mode.
Starting points
A policy can only have One start point. This start point can consist of a Monitor object, The Custom Start object, or any other Action object in the Objects palette. Monitor objects behave differently to other objects.
When a policy runs a Monitor object will be loaded into the PolicyModule process that hosts the workflow runtime. The Monitor object continues running after it is has fired events. This means that the PolicyModule process will not stop running during normal processing of the policy. It is recommended to choose carefully when deciding how to Monitor systems and to keep Monitor objects consolidated for better administration as well as better design for re-usable policies.
Databus
When a Policy runs, each object publishes data that describes the results of its execution. Subsequent objects are automatically provided with and can subscribe to this Published Data and use it in their configuration. Link Conditions also use this information to add filtering and decision making capabilities to Policies.
When an object runs it can produce any number of data items. Each data item will be passed to the following object, after going through Link Conditions filtering. When the next object in the workflow runs, it will run once for each item of data that the previous object produced. For example, the Query Database object runs and retrieves 3 rows from the database. These 3 rows of data will make the following object run 3 times, once for each row returned. The following object does not need to subscribe to the data for this execution to happen.
Links
Links provide precedence between two objects. However, links also provide filtering capabilities for the Databus that allows you to limit the data arriving to the following object in the policy. Link Conditions provide sophisiticated sets of functions for complex rules building.
Embedded Loops
Each object can loop over itself to allow you to retry operations if they fail or to test the output information of the object for valid data. You can also use these mechanisms to build Wait conditions into your workflows.
When a Loop is configured for an object it will be run with the same input data until a desired exit condition is reached. The exit condition is built in a similar way to Link Conditions. You can test any published data item as part of the Exit or Do Not Exit conditions. There are special loop-specific items such as “Number of attempts” and “Amount of time spent in the loop” that will allow you to build timeout and maximum retries into looping conditions.
Published Data Types
When selecting Published Data, you will notice an icon beside each name. The icon represents the type of data that will be found in the value. Each icon corresponds to the following:
- String value. Text information. For example, a description of an error.
- Date value. Date and time information. For example, the date and time that the error occurred.
- Number value. Numeric information. For example, the number of rows returned by a database query.
- Boolean value. True/false information. For example, command completed.
Note: An object can only subscribe to Published Data from an object that is linked before it in the Policy.
Adding Published Data to Object Configurations
Many configuration fields within objects have the ability to subscribe to Published Data. When an object has subscribed to Published Data a placeholder is inserted where the value of the data will be added.
To add Published Data to an object:
1.
When configuring an object, right-click in the location where you want to insert the Published Data.
2.
Click Insert and then click Published Data. The Published Data dialog appears.
3.
From the Object drop-down list, select the object that publishes the Published Data that you are subscribing to. By default, the dialog only displays Published Data that is specific to that object. To include Published Data that is common to all objects, select Show Common Published Data.
4.
Select the Published Data that you want to insert and click OK. The Published Data placeholder will be inserted into the text of the field.
To change the Published Data subscription:
1.
Click the Published Data placeholder. The Published Data dialog appears.
2.
From the Object drop-down list, select the object that publishes the Published Data that you are subscribing to. By default, the dialog only displays Published Data that is specific to that object. To include Published Data that is common to all objects, select Show Common Published Data.
3.
Select the Published Data item that you want to use and click OK. The Published Data placeholder will change to reflect the new object and Published Data that you selected.
Copying and Pasting Published Data Items
Opalis Integration Server enables you to copy and paste Published Data items. You can copy Published Data items within Opalis Integration Server, or you can copy them to a word processing application and paste them back into Opalis Integration Server at a later time.
To copy and paste Published Data items:
1.
Find a Published Data item that has already been inserted into a field in a Properties dialog in Opalis Integration Server.
2.
Highlight the Published Data item that you want to copy.
3.
Click CTRL-C on your keyboard, or right-click on the highlighted item and select Copy.
4.
Open the Properties dialog or word processing document that you want to copy the Published Data item into.
5.
Place your cursor where you want the Published Data item to appear and click CTRL-V on your keyboard, or right-click at the insertion point and select Paste. The Published Data item appears.
Note: After you have copied Published Data items into a word processing document, you can copy the text from the word processing document and paste it into fields on Opalis Integration Server dialogs.
Transforming Published Data Items
Opalis Integration Server enables you to transform the existing content of Published Data or Variable item into new content according to rules that you specify, using the Map Published Data object. See Map Published Data for information and instructions.
Common Published Data
This list describes the Published Data items that are common to all objects.
 
Name
Description
Loop: Delay between attempts
The amount of time (in seconds) between each loop attempt.
Loop: Enabled
Determines whether per-object looping is enabled for the object.
Loop: Loop error message
The error message if the loop is not successful.
Loop: Number of attempts
The number of iterations that the loop has been through.
Loop: Total duration
The total amount of time (in seconds) that the looped object has executed.
Object name
The name of the object as it appears in the Workspace. If you customize the name of an object in the Workspace, the customized name appears here.
Object type
The default name of the object. This does not change from the default even if you rename the object in the Workspace and can be useful in identifying an object in Policies where object names and display icons have been changed.
Object ID
The unique identifier of the object. For example, {4BD3F27A-8F1B-4F60-8245-F69469075EF1}
Object Process ID
The process ID of the Policy Module where the object runs.
Object status
The result status of the execution of the object. For example, Success.
Object start time
The time when the execution of the object started.
Object end time
The time when the execution of the object finished.
Object end time(year)
The year when the execution of the object finished.
Object end time(month)
The month when the execution of the object finished.
Object end time(day)
The day when the execution of the object finished.
Object end time(weekday)
The day of the week when the execution of the object finished.
Object end time(hours)
The hour when the execution of the object finished.
Object end time(minutes)
The number of minutes past the hour when the execution of the object finished.
Object end time(seconds)
The number of seconds past the minute when the execution of the object finished.
Object duration
The total time that object was executing.
Policy name
The name of the Policy that the object belongs to.
Policy Process ID
The process ID of the PolicyModule.exe that is running on the Action Server.
Note: The PolicyModule contains the logic for the object’s workflow execution. It is started when the Action Server starts the Policy, and is terminated when the Policy is stopped. Each Policy runs in its own PolicyModule.
Server name
The name of the Action Server where the Policy is running.
Error summary text
A summary of the error information returned by the object.

Previous Next