tBRMS - 6.3

Talend Components Reference Guide

EnrichVersion
6.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

Warning

This component is available in the Palette of the studio only if you have subscribed to the relevant edition of Talend Studio.

Function

tBRMS retrieves business rules from a Drools repository and applies them to a Job.

Purpose

tBRMS applies Drools business rules to an incoming flow and writes the output data to an XML file.

tBRMS properties

Component family

Processing

 

Basic settings

Property type

Either Built-in or Repository.

 

 

Built-in: No property data stored centrally.

 

 

Repository: Select the repository file where properties are stored. The fields that follow are completed automatically using the fetched data.

 

Schema and Edit Schema

A schema is a row description, it defines the number of fields that will be processed and passed on to the next component. The schema is either Built-in or stored remotely in the Repository.

Click Edit schema to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this option to view the schema only.

  • Change to built-in property: choose this option to change the schema to Built-in for local changes.

  • Update repository connection: choose this option to change the schema stored in the repository and decide whether to propagate the changes to all the Jobs upon completion. If you just want to propagate the changes to the current Job, you can select No upon completion and choose this schema metadata again in the [Repository Content] window.

 

 

Built-in: You create and store the schema locally for only the current component. Related topic: see Talend Studio User Guide.

 

 

Repository: The schema already exists and is stored in the Repository, hence can be reused in various projects and Job flowcharts. Related topic: see Talend Studio User Guide.

 

XML Field

Select the XML field for the data to be written to the output file.

 

Choose rule module

Select from the list:

- Use latest deployment from Kie workbench: Always choose this option when you run the Job for the first time. The Job uses the latest deployment of the rule on the Drools repository. If the rule has been changed meanwhile, the Job results will be different.

- Use last imported module: with this option, you execute the Job with the local rule you imported previously from the repository to the root folder of your studio, in /studio_path/Drools/<project_name>, that is the latest package we browse from the Drools workbench. This means, even if you have modified the rule and deployed it on the repository, the Job results will not be different.

Do not use this option when you run your Job for the first time.

The fields that follow will vary according to your choice.

 

Drools Workbench URL

Enter the address of the Drools repository incorporated in Talend Administration Center.

 Username and Password

Type in the authentication information used to connect to the Talend Administration Center that incorporates the Drools Guvnor of interest.

To enter the password, click the [...] button next to the password field, and then in the pop-up dialog box enter the password between double quotes and click OK to save the settings.

  TAC URL

Enter the address of the Talend Administration Center that incorporates the Drools Workbench.

 

Module list

Click the three-dot button next to the field to open a list of the Jars on the Droold Workbench incorporated in Talend Administration Center.

 

Maven Deployment Path

After you select the Jar file from the Droold Workbench, this field is automatically populated.

 

Class Name

After you select the Jar file, this field is automatically populated with the name of the class in which the business rule is stored in a Jar file.

 Drools flow ID (optional)

A Drools flow describes the order in which a series of business rules are executed. Its flow ID is defined manually when you are creating the Drools flow.

When you need to call a specific Drools flow via tBRMS to use the execution order it defines, enter the corresponding flow ID in this field.

For more information about Drools flow, see the relevant Drools manuals.

Advanced Settings

Configure XML Tree

Click [...] to map the source schema to the XML output schema.

 

Group by

Use the tool bar to modify the column order.

 

Advanced separator

Select this check box to modify the separators used for numbers.

 

Encoding

Select the encoding type from the list or select Custom and define it manually. This field is compulsory for DB data handling.

 

tStatCatcher Statistics

Select this check box to collect the log data at the component level.

Global Variables

ERROR_MESSAGE: the error message generated by the component when an error occurs. This is an After variable and it returns a string. This variable functions only if the Die on error check box is cleared, if the component has this check box.

NB_LINE: the number of rows read by an input component or transferred to an output component. This is an After variable and it returns an integer.

A Flow variable functions during the execution of a component while an After variable functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl + Space to access the variable list and choose the variable to use from it.

For further information about variables, see Talend Studio User Guide.

Usage

This component handles data flows. Therefore it requires input and output components.

Limitation

n/a

Scenario: Applying business rules to an input flow to filter relevant data

This scenario describes a Job in which tBRMS applies Drools business rules to an input flow, in order that relevant data can be retrieved in the output. In this case, rules are applied to input data about candidates applying for a loan. The output will show whether the candidates are qualified or not.

Prerequisite:

The business rules to use in the Job have been already created and deployed on the repository of the Drools incorporated in Talend Administration Center.

For further information on using Drools to build and deploy business rules, see Talend Administration Center User Guide.

You can also clone repositories in Drools to have access to business rules stored in them. For further information on cloning a Drools repository, see Talend Administration Center User Guide.

Dropping and linking the components

  1. Drop the following components from the Palette onto the design workspace: tFixedFlowInput, tMap, tBRMS, tExtractXMLField, tLogRow.

  2. Link tFixedFlowInput to tMap using a Row > Main connection. Rename the link as loanAsk to better identify its function.

  3. Link tMap to tBRMS using a Row > *New Output* (Main) connection.

  4. Link tBRMS to tExtractXMLField using a Row > Main connection and then use another Row > Main connection to connect tExtractXMLField to tLogRow.

Configuring the input flow

  1. Double-click tFixedFlowInput to open its Basic settings view:

  2. Click Edit schema to define the structure of the source data. In this example, five columns are defined for the input information of candidates.

  3. Click OK to validate your changes and close the dialog box.

  4. Select Use Inline Content(delimited file) in the Mode area.

  5. Change the settings in the Row Separator and Field Separator fields as needed. In this example, enter "\t" in the Field Separator field.

  6. In the Content area, enter the following data which represents the information of ten candidates:

    34	385000	58500	20	50000
    25	160000	12000	22	20000
    32	285000	8000	18	60000
    17	430000	100000	15	40000
    24	385000	58500	20	50000
    17	430000	100000	15	20000
    32	285000	5000	18	60000
    71	320000	23000	8	100000
    34	160000	12000	22	40000
    43	270000	60000	10	150000

Configuring the tMap component

  1. Double-click tMap to open its Map Editor.

  2. In the lower right part of the map editor, click the plus button to add eight columns: age, annualRevenue, loanDeposit, loanAmount, numberOfYears, loanInterest, monthlyPayment, rejected.

    These columns will appear in the synonyms table on the right side of the map editor. In this example, the table is row1.

  3. In the upper left part of the map editor (input flow), select the age and annualRevenue columns and drop them respectively to the age and annualRevenue columns in the upper right part of the map editor (output flow).

    Alternatively, click Auto map! to map the columns with the same name automatically.

  4. In the row1 table, click the Expression column in the loanDeposit row to locate the cursor, and then click the three-dot [...] button to open the [Expression Builder] dialog box.

    Enter the following expression to calculate the loan deposit:

    Math.round(((loanAsk.downPayment  / loanAsk.totalAmount)*100)) 

    Click OK to close the [Expression Builder] dialog box.

    Now the downPayment and totalAmount fields from the incoming data flow are concatenated to the output column: loanDeposit.

  5. Click the Expression column in the loanAmount row to locate the cursor.

    Enter the following expression to calculate the amount of loan:

    loanAsk.totalAmount - loanAsk.downPayment
  6. Click the Expression column in the numberOfYears row to locate the cursor.

    Enter loanAsk.duration to concatenate the duration row of the input flow to the numberOfYears row in the output column.

  7. Enter 0.0 in the Expression column of the loanInterest and monthlyPayment rows respectively.

  8. Enter false in the Expression column of the rejected row.

  9. Click OK to close the map editor.

Configuring the tBRMS component

Basic settings of tBRMS

  1. Click tBRMS to open its Basic settings view.

  2. Click [...] next to Edit schema to open the schema editor.

    The input schema to the left is automatically retrieved from tMap.

  3. In the output area to the right, click [+] to add a new column which will serve to write the output data to an XML file. Enter a name for the column and define the Type as String.

    Click OK to validate your changes and close the dialog box.

  4. From the XML Field list, select the name of the XML column you entered in the output schema.

  5. From the Choose rule module list, select Use latest deployment from KIE workbench to download the Jar file from the Drools repository incorporated in Talend Administration Center.

    For further information on using Drools to build and deploy business rules, see Talend Administration Center User Guide.

  6. In the Drools Workbench URL, enter the address of the Drools Workbench incorporated in Talend Administration Center.

  7. Type in the user name and the password used to connect to the Talend Administration Center that embeds Drools.

    Enter Talend Administration Center address in the TAC URL field.

    When Drools is installed in the same web server as Talend Administration Center, you can use the name of Talend Administration Center application instead of the full URL.

  8. Next to Module List, click [...] to open the [Deploy Jar] dialog box.

    In this dialog box, the URL, Username, Password and URL of TAC fields are already filled with the corresponding information you entered in the earlier steps.

  9. Click [...] to browse the Jar files in the [Select Jarfile] dialog box and select the jar package org.talend.bank for this example.

  10. From the list next to the selected jar package, select the class org.talend.bank.LoanSimulator and then click OK to close the dialog box.

    A Talend programme transforms the business rule library into a form which can be used in the Job and creates an XSD file at the root of your studio, at /studio_path/Drools/<project_name>. The XSD file records the mapping between the incoming data flow and the objects to be handled by the Drools engine.

  11. In the Drools Flow ID (optional) field, enter, between quotation marks, the ID of Drools flow to be used when executing the rules of interest.

    In this example, it is loanflow. For more information about Drools flow, see the relevant Drools manuals.

Advanced settings of tBRMS

  1. Click the Advanced Settings tab to set the additional parameters.

  2. In the XML Mapping area, click [...] to configure the XML tree.

    Right-click the first row in the Link target table and select Import XML Tree.

  3. Browse to and select the XSD file from the root of your studio. The XML Tree schema is completed automatically.

  4. Drop all of the relevant columns from the Schema List onto the corresponding related column fields in the Link target schema.

    From the dialog box which appears, select the Add linker to target node option.

    Alternatively, you can click Auto map! to concatenate automatically the columns between the Linker source and Link target.

  5. Right-click the reason field and select Set As Loop Element from the list.

  6. Click OK to close the dialog box.

Configuring the output flow

To extract the data of interest, you need to configure the output flow. The operations to be performed are as follows:

  1. Double-click tExtractXMLField to open its Basic settings view.

  2. Click Edit schema to open the schema editor.