Workflow Examples
The following examples show how you might want to develop workflows.
Example: Running Commands Before and After Running a Mapping
You can develop a workflow that runs commands to perform steps before and after a mapping runs. For example, you might configure a Command task before a Mapping task to drop indexes on the mapping target before the mapping runs. You might configure a Command task after the Mapping task to recreate the indexes when the mapping completes.
The following figure shows a workflow that runs a command, runs a mapping, runs another command, and sends an email notifying users of the status of the workflow:
Parameter files provide you with the flexibility to change the parameter values each time you run a workflow. You can use the following parameters in this workflow:
- •Workflow parameter that represents the command that the first Command task runs.
- •Mapping parameter that represents the connection to the source for the mapping.
- •Mapping parameter that represents the connection to the target for the mapping.
- •Workflow parameter that represents the command that the second Command task runs.
- •Workflow parameter that represents the email address that the Notification task sends an email to.
Define the values of the parameters in a parameter file. Specify the parameter file when you run the workflow. You can run the workflow with different parameter files to run different commands, to connect the mapping to a different source or target, or to send an email to different users.
Example: Creating Multiple Sequence Flows
You can develop a workflow that splits a sequence flow into multiple sequence flows and that uses conditions to determine the path that the workflow data follows. Use gateways to create the sequence flows. For example, you might develop a workflow that follows one sequence flow if a mapping runs successfully and follows another sequence flow if the mapping fails.
The following image shows a workflow that uses an Exclusive gateway to create the sequence flows:
The workflow includes the following components:
- •Start event and End event.
- •Mapping task. The task runs a mapping and assigns the Is Successful output to a boolean workflow variable.
- •Exclusive gateway that specifies two outgoing sequence flows. One of the sequence flows includes a condition that evaluates the value of the workflow variable. If the condition evaluates to true, the Data Integration Service runs the next task on the sequence flow. If the condition evaluates to false, the Data Integration Service runs the next task on the other sequence flow.
In this example, each sequence flow includes a Command task, a Mapping task, and another Command task.
- •Exclusive gateway that merges the sequence flows into a single flow.
- •Notification task that sends an email to notify users of the status of the workflow.