When you design a Process, you combine specific Process plugins into a sequence of steps. These steps are then executed one after the other to perform specific tasks.
Whenever a data record is created/updated/deleted, the MDM Server generates a document and lists it under the UpdateReport node in the System data container in the MDM Repository tree view. This document describes the event in answering who, what and when questions and in giving the record primary key and the values before and after in case of an update. This UpdateReport document does contain everything about the event that just happened. However, it does not contain the complete XML record that was created/updated/deleted. This document is then sent to the Event Manager. Whenever the Event Manager receives a document, it tries to evaluate every Trigger condition against this document. For further information about Triggers, see Triggers.
The sequence of events that occur whenever a Create/Update/Delete (CRUD) is performed in Talend MDM is as follows:
the Event Manager evaluates every defined Trigger to see if one or more Triggers have valid conditions,
the services defined in the Trigger which has valid conditions are performed,
if a callJob service has been defined in the Trigger, the Trigger uses the callJob plugin to run a Talend Job.
In the example below, a data model called Product has been created in Talend Studio. This data model has two business entities: Product and ProductFamily. Several attributes have been created in the Product entity including Price and Family. You want to create a Process to automatically trigger a validation Job whenever a price of an item that belongs to a specific family has been changed through Talend MDM Web UI.
Before you begin
About this task
In the MDM Repository tree view, expand Event
Management and then right-click Process
and select New from the contextual menu.
The Create Process dialog box is displayed.
- Select the option corresponding to the Process type you want to create, and click Next.
Enter a name for the new Process.
In this example, you want to create an Other Process named Call_Job. For more information on Process types, see Process types.
Click OK to close the dialog box.
An empty editor for the newly created Process opens in the workspace.
- If required, click the three-dot button next to the Description field to open a dialog box where you can set multilingual descriptions of your Process.
- In the Step Description field, enter a name for the first step you want to define in the created Process and then click the icon to add the step name in the rectangle below the field.
Repeat to add the two other steps included in this Process.
What to do next
The Process for this example must include one basic step, Invoke the job through the callJob plugin, and two obligatory additional steps as follows:
First step: to retrieve the complete XML record through the XSLT plugin.
This step is obligatory in this example since you need the whole record in order to check what family the item for which the price has been changed belongs to and you cannot find such information in the Update Report.
Second step: to decode XML in order to remove the escape function you used in the XSLT document and thus send a real XML document to the Job.
Final step: to send the XML document to a Talend Job.
The procedures below describe in detail how to define each of the listed steps.