An operation is the smallest unit within a workflow that is independently executed on an agent and recorded by Harmony. Operations are used to define what an integration process should do and when it should be done.
Operations are comprised of a combination of one or more activities, scripts, or transformations. The specific combination and order of these components must follow a set of patterns that determine if an operation is valid. For details on these patterns, see Operation Validity.)
This page explains the parts of an operation, then covers adding steps to operations, accessing menu options, renaming operations, expanding/collapsing operations, reordering operations, and reusing, removing, or moving operation steps.
Operations are formed by arranging activities, scripts, and transformations within an operation container on the design canvas. The operation may consist of only a single script, or the arrangement may form a sequence of steps consisting of one or more activities, scripts, or transformations. The specific combinations that are allowed are described in Operation Validity.
An activity is used as a step in an operation to interact with a data resource whose connection is already configured through a connection. Activities can be used in an operation as either a source or a target and may be configured with data schemas that represent the "request" and "response" schemas for the interaction with the endpoint. For more information about configuring connections and activities, see Connectors. In addition to being used as an operation step, some activities can also be referenced in scripts.
A script that is created as a project component can be used as a step in an operation to transform data, perform calculations, or perform logic validation. For example, you can use a script before or after an activity to retrieve data and then process script logic, or you can run a validation script before proceeding to a transformation. For more information, see Scripts.
A transformation is a project component that is used as a step in an operation to map or transform inputs to a resulting output by moving data, cleaning data, or applying business logic. After you add a transformation to an operation, you must configure it by mapping various inputs, such as source objects, variables, or scripts, to the resulting target output, usually a target data structure. For more information, see Transformations.
Operations are made up of project components consisting of activities, scripts, or transformations. To create operations, you place those components in a workflow on the design canvas as steps of an operation.
On the design canvas, a visual "new component" block (with a plus sign) represents the location where you can add new components. Depending on where on the design canvas the block appears, the action of adding a new component can either create a new operation or add a step to an existing operation:
Location for a New Operation: The "new component" block is displayed on the canvas wherever you can add a component to create a new operation. In a workflow that does not yet have any operations, the block is displayed at the top of the design canvas by itself. In a workflow that has at least one operation, the block is displayed at the bottom of the design canvas by itself, below the last operation.
Location within an Existing Operation: The "new component" block appears upon hovering over the space before or after an existing step in an existing operation.
For Harmony to connect to an application or data repository, you must first configure connections with your connection credentials. This is done from the component palette on the right side of the project designer. Within the component palette, the Connectors filter shows the types of connectors that can be configured:
Each connector is represented by a block shape surrounded by a dotted border, beneath which is the connector name. Click a connector block to open a configuration screen to set up a new connection for authenticated access to a particular data resource:
For detailed instructions on completing the configuration, see each specific connection under Connectors. Each time you configure a new connection, you must do so from the connector blocks accessible in the Connectors filter.
The Endpoints filter shows the configured connections, which can be edited by double-clicking on the connection in the palette:
Once a connection has been established, click it to reveal the types of activities, or interactions with that connection, that can be configured for that connection. Those activities are then able to be dragged to operations on the design canvas where they are configured:
An endpoint refers to a specific connection and its activities, which are added to an operation and then configured as sources or targets within the operation.
To add activities, drag and drop them from the component palette to a "+" block on the canvas:
Then double-click on the activity on the canvas or right-click it and select View/Edit to configure it as described for each specific activity under Connectors:
To add additional activities, drag them from the component palette to a "+" block on the canvas, which appears upon hovering to the left or right of an existing block. A common configuration is to configure one activity as the source of data, and a second activity to its right as the target of data.
Wherever the new component block appears, you can click on the block to display a menu to add additional project components such as a transformation or a script:
Transformations are used when you want to transform data prior to reaching its target. Scripts can be used within transformations on target fields and nodes to apply specified logic or conditions to the data. Scripts can also be used as optional steps within an operation for a variety of purposes, such as error handling or looping through data records.
NOTE: Operation steps may be configured in any order. However, note that a schema defined in a transformation takes precedence over a schema provided in an adjacent activity. Whether you choose to define a schema within a transformation or as part of an activity depends on your use case. For more information, see When to Use a Schema.
Project Pane: In the Workflows or Components tab of the project pane, hover over an operation name and click the actions menu icon to open the actions menu.
Design Canvas: In the top right of an operation, hover over the actions menu icon to open the actions menu.
Each of these menu actions is available:
When an operation is created, its name defaults to "New Operation." Operation names within a project must be unique and must not contain forward slashes (
/) or colons (
:) to be valid.
To rename an operation, in the top left of the operation, click into the title area and begin editing the text:
Steps within an operation can also be renamed from the design canvas, in addition to within the configuration for the component itself. To rename an operation step from the design canvas, click the name below the component block to bring the name into edit mode, then enter a name:
When an operation is created, it is expanded by default.
To collapse an individual operation, click the minus icon in the top right of the operation:
Collapsing an operation will display the operation in a smaller, condensed view:
To expand an individual operation when it is collapsed, click the plus icon in the top right of the operation.
To collapse all operations in a workflow, click the collapse icon at the top of the design canvas. This will display all operations in the workflow in a smaller, condensed view:
To expand all operations in a workflow when they are collapsed, click the expand icon at the top of the design canvas.
Moving or reordering operations will have a cascading effect of renumbering the operations "below" it in the project tree.
You can reuse, remove, or move components used as operation steps as described below.
Components can be reused either by referencing the same component multiple times, or by creating a copy of an existing component configuration to create a new, independent component.
Most activities and certain types of transformations and scripts can be referenced multiple times as operation steps. To reference one of these types of components as an operation step, drag the component name to a new or existing operation on the design canvas:
Activities and script can also be copied to create a new, unreferenced component. To copy a script or activity, hover over its name in the Components tab of the project pane, then click the actions menu icon to open its actions menu. From the menu, select Duplicate.
Upon creating the component copy, the cursor is positioned on the component name within the project pane for you to rename the component:
Transformations are unable to be copied at this time.
For additional ways that components can be reused and details on referencing components multiple times, see Component Reuse.
To remove an operation step, click on the component block within the operation to open the actions menu. From the menu, select Remove:
When you remove a source or target activity from an operation, any associated mappings within the transformation, if present, will also be removed. Similarly, when you remove a transformation, if schemas are provided by an adjacent activity, they will no longer be referenced by the transformation.
Removing a component from an operation does not delete it from the project. Removed components can be accessed or permanently deleted from the project pane (see Component Dependencies, Deletion, and Removal).
Removing all of the steps in an operation does not delete the operation from the project. If you do remove all of the steps in an operation, the operation will disappear from Workflows tab of the project pane and will be shown on the design canvas as an empty operation:
The operation will remain available as a component in the Components tab and will be listed as a component when deploying the project. To delete an operation whose steps have been removed, do so from the operation menu that is accessible from the Components tab or the design canvas.