tBRMS
Applies Drools business rules to an incoming flow and writes the output data to an
XML file.
tBRMS retrieves
business rules from a Drools repository and applies them to a Job.
For more information about Drools, see http://drools.org/.
tBRMS Standard properties
These properties are used to configure tBRMS running in the Standard Job framework.
The Standard
tBRMS component belongs to the Processing family.
This component is available in Talend Data Management Platform, Talend Big Data Platform, Talend Real Time Big Data Platform, Talend Data Services Platform, Talend MDM Platform and Talend Data Fabric.
Basic settings
Property type |
Either Built-in or |
 |
Built-in: No property data stored |
 |
Repository: Select the repository |
Schema and Edit Schema |
A schema is a row description, it defines the number of fields Click Edit
|
 |
Built-in: You create and store |
 |
Repository: The schema already |
XML Field |
Select the XML field for the data to be written to the output |
Choose rule module |
Select from the list: – Use latest deployment from Drools – Use local rules: with this option, you Do not use this option when you run your Job for the first The fields that follow will vary according to your choice. |
Drools Workbench Connection |
Select the Drools distribution from the Choose
distribution list:
You can also import Jobs that use a connection to the |
Drools Workbench URL |
Enter the address of the business |
Username and Password |
Enter the authentication information used To enter the password, click the […] button next to the |
Module list |
Click the three-dot button next to |
Maven Deployment Path |
After you select the Jar file from the Drools |
Class Name |
After you select the Jar file, this field is automatically |
Drools flow ID (optional) |
A Drools flow describes the order in which a series of business When you need to call a specific Drools flow via tBRMS to use the execution order it For more information about Drools flow, see the relevant Drools |
Advanced Settings
Configure XML Tree |
Click […] to map the source |
Group by |
Use the tool bar to modify the column order. |
Advanced separator |
Select this check box to modify the separators used for |
Encoding |
Select the encoding type from the list or select Custom and define it manually. This field |
tStatCatcher Statistics |
Select this check box to collect the log data at the component |
Global Variables
Global Variables |
ERROR_MESSAGE: the error message generated by the
NB_LINE: the number of rows read by an input component or A Flow variable functions during the execution of a component while an After variable To fill up a field or expression with a variable, press Ctrl + For further information about variables, see |
Usage
Usage rule |
This component handles data flows. Therefore it requires input and |
Limitation |
When using the tBRMS component in subJobs with the For further information about the |
Applying business rules to an Excel file to filter
data
This scenario applies only to subscription-based Talend products.
This scenario describes a Job in which tBRMS applies Drools business rules to an Excel
file, 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.
Before you begin, the business rules to use in the Job have
been already created and deployed on the Drools repository.
You can also clone repositories in Drools to have access to
business rules stored in them.
Dropping and linking the components
-
Drop the following components from the Palette onto the design workspace: tFileInputExcel, tMap,
tBRMS, tExtractXMLField, tLogRow. -
Link tFileInputExcel to
tMap using a Row > Main connection. Rename the link as loanAsk to better identify its function. -
Link tMap to tBRMS using a Row > *New Output*
(Main) connection. -
Link tBRMS to tExtractXMLField using a Row > Main connection
and then use another Row > Main
connection to connect tExtractXMLField to
tLogRow.
Configuring the input component
-
Double-click tFileInputExcel to open its Basic
settings view and define the component properties: -
In the Property
type list, select Built-in and fill in the fields that follow. -
Click the three-dot button next to the File Name/Stream field and
browse to the source file to set its path and name. The source file used in this
example is called brmsInput and it holds
candidate data.Note:
As tBRMS does not
support the .xlsx format, do not select Read
excel2007 file format(xlsx). -
If needed, right-click tFileInputExcel and select Data
viewer to have a preview of the input data. -
Select the All
sheets check box to retrieve the data from all sheets of the
excel file. -
From the Schema list, select Built-in and click Edit
schema to define the structure of the source data. In this
example, five columns are defined for the input information of candidates. -
Click OK to validate your changes and
close the dialog box.
Configuring the tMap component
-
Double-click tMap to
open its Map Editor. -
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. -
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. -
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:1Math.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. -
Click the Expression column in the
loanAmount row to locate the
cursor.Enter the following expression to calculate the amount of
loan:1loanAsk.totalAmount - loanAsk.downPayment -
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. - Enter 0.0 in the Expression column of the loanInterest and monthlyPayment rows respectively.
- Enter false in the Expression column of the rejected row.
- Click OK to close the map editor.
Configuring the tBRMS component
Configuring the basic settings of the tBRMS
component
- Click tBRMS to open its Basic settings view.
-
Click […] next to Edit schema to open the schema editor.
The input schema to the left is automatically retrieved from tMap.
-
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. -
From the XML Field list, select the name
of the XML column you entered in the output schema. -
From the Choose rule module list, select Use latest deployment from Drools
workbench to download the Jar file from the Drools
repository.For further information on using Drools to
build and deploy business rules, see Talend Administration Center User Guide. -
From the Choose
distribution list, select Redhat
Decision Manager 7.3. -
In the Drools Workbench Url, enter the address of the
Drools Workbench . -
Type in the user name and the password used to
connect to the Drools Workbench. -
Next to Module List,
click […] to open the Deploy Package dialog box.In this dialog box, the URL, Username and Password fields are already filled with the
corresponding information you entered in the earlier steps. -
Click […] to browse
the Jar files in the Select Package dialog
box and select the jar package org.talend.bank for this
example.
-
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. -
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.
Configuring the XML mapping
-
Click the Advanced Settings tab to set
the additional parameters. -
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. -
Browse to and select the XSD file from the root of your studio. The
XML Tree schema is completed
automatically. -
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. -
Right-click the reason field and select
Set As Loop Element from the
list. - 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:
-
Double-click tExtractXMLField to open its
Basic settings view. -
Click Edit schema to open the schema
editor. -
In the Output schema to the right of the editor, add and define the
columns which correspond to those columns in the tBRMS input schema. The sequence and names of columns may
vary according to your need. - Click OK to close the editor.
-
In the Loop XPath query field, enter the
name of the XML Tree root tag, as it
appears in the Configure XML Tree editor of
the tBRMS component, preceded by the
forward slash symbol and between double quotation marks, for example:
“/loanSimulator”. -
In the XPath query fields, next to the
corresponding columns, enter the fields exactly as they appear in the
XML Tree fields of the tBRMS component, in the Link Target area of the Configure XML
tree editor, between double quotation marks. -
Double-click tLogRow to open its
Basic settings view: -
In the Mode area, select the Table (print values in cells of a table)
option.
Saving and executing the Job
- Press Ctrl+S to save your Job.
-
Press F6 or click Run on the Run console to
launch the Job.The business rule has been applied to the input data and the table of
results indicates which candidates have been rejected. The Reason column indicates the reason for which the
candidate has been rejected.