SlideShare a Scribd company logo
1 of 26
Download to read offline
PDI + Jare Ruleengine
Pentaho PDI and the Jare Ruleengine
Enhanced Agility - Enhanced Quality
Pentaho Community Meeting 2017 – Mainz/Germany
We are good developers !
Our skills:
 Pentaho tools, SQL, Scripting
 Source/Target Systems, Interfaces
 Other technologies
 Automation, Optimization, Standardization
 Programming languages
 Different data formats
 and more...
Pentaho Community Meeting 2017 – Mainz/Germany
What works against us:
Good – Fast – Cheap: Pick only two !
Pentaho Community Meeting 2017 – Mainz/Germany
Good - Fast - Cheap
 Good + Fast = Expensive
Choose good and fast and we will postpone every other job,
cancel all appointments and stay up 25-hours a day just to get
your job done. But, don't expect it to be cheap.
 Good + Cheap = Slow
Choose good and cheap and we will do a great job for a
discounted price, but be patient until we have a free moment
from paying clients.
 Fast + Cheap = Inferior
Choose fast and cheap and expect an inferior job delivered on
time. You truly get what you pay for, and in our opinion this is
the least favorable choice of the three.
Pentaho Community Meeting 2017 – Mainz/Germany
Other “disturbing” factors
 ever-changing business
 changing teams/skills
 incomplete/late requirements
 changing requirements
 inadequate resource planning
 timeline defined without us
Pentaho Community Meeting 2017 – Mainz/Germany
That's life
… but that's life !
Pentaho Community Meeting 2017 – Mainz/Germany
Let's make life easier
… so let's do something about it,
on our end !
Pentaho Community Meeting 2017 – Mainz/Germany
Business Logic: What's the problem?
 we are responsible for Business Logic and ETL or code
 same business requirements in different places
(Good+Fast+Cheap)
 in-transparent for business users
 business requirements clutter our ETL flow
Result: bad for quality, bad for agility
Pentaho Community Meeting 2017 – Mainz/Germany
PDI Sample without Ruleengine
 over time: more complexity = more clutter = slowdown
 difficult to explain to business user (in-transparent)
Pentaho Community Meeting 2017 – Mainz/Germany
PDI Sample with Ruleengine
 less complexity = less clutter = more agile
 Business rules are managed in a web application
Pentaho Community Meeting 2017 – Mainz/Germany
ruleengine plugin
(that's all you need!)
New/changing Requirements
With Ruleengine:
 No change in ETL
 all changes externally
 less clutter – less complex
Pentaho Community Meeting 2017 – Mainz/Germany
Without Ruleengine:
 change in ETL
 changes elsewhere??
 clutter, complexity
Ruleengine detailed results
debugging inclusive !
>> explains what happened (for each rule and row)
Pentaho Community Meeting 2017 – Mainz/Germany
Ruleengine Plugin properties
 specify:
 file path and name containing business logic
 main output step (1 row in, 1 row out)
 output step for detailed results (1 result per rule and row)
 which details to output (failed, passed, all)
Pentaho Community Meeting 2017 – Mainz/Germany
Ruleengine Technical Details
Ruleengine:
 filter and/or update data
 execute one to many rules (per rulegroup)
 execute one to many actions (per rulegroup)
 rulegroups, rules, actions in XML format
 project file: zip file containing all rulegroups (logic)
 rules and actions instantiated and executed using Java
Reflection (classnames, methodnames)
>> instantiate any Java object
>> execute on: any data format: CSV, XML, JSON,
database resultsets, ...
Pentaho Community Meeting 2017 – Mainz/Germany
Business Logic Maintenance: Project
Pentaho Community Meeting 2017 – Mainz/Germany
Business Logic Maintenance: Rule groups
Pentaho Community Meeting 2017 – Mainz/Germany
Business Logic Maintenance: Rule groups
maintenance by the business user (expert) – not IT !
Pentaho Community Meeting 2017 – Mainz/Germany
Business Logic Maintenance: Live Demo
Live Demo Business Rules Maintenance Tool
if you missed it, there's a video on YouTube:
Pentaho Community Meeting 2017 – Mainz/Germany
Business Logic Maintenance: Features
Pentaho Community Meeting 2017 – Mainz/Germany
 copy projects, groups, rules, actions
 groups of rules have an effective date and expiry date
 plan changes ahead
 automatic activation and expiry of logic
 logic can be tested within the web application
 history of changes, activities, search
 project export and import
 users, roles >> security
 generates documentation of the logic
Business Logic Maintenance: Advantages
Pentaho Community Meeting 2017 – Mainz/Germany
 Business logic is outside of PDI
 less clutter in ETL
 less duplication
 less complex ETL
 change to logic does not require change to ETL
 Business logic located in a central place
 Web application for Business Users
 if people come and go, better for continued service
 Review easier + documentation of logic
Business Logic Maintenance: Results
Pentaho Community Meeting 2017 – Mainz/Germany
 Business logic is outside of PDI
>> agility, quality for IT
>> future ETL changes are easier to implement
 Business logic is in a central place
>> agility, quality for Business User
>> more transparent for Business User
>> proper separation of responsibilities between IT/Business
Ruleengine: Central Logic
Pentaho Community Meeting 2017 – Mainz/Germany
use Ruleengine in other environments:
Ruleengine: Advantages
Pentaho Community Meeting 2017 – Mainz/Germany
 PDI Step + Web application
 PDI step: install from Marketplace
 production ready
 open source Apache license, documented
 rules and actions extendable
 use Ruleengine in other environments (logic still centrally!):
 Hadoop map-reduce
 Nifi (processor available)
 Kafka
 use in your own java project
Thank you
Pentaho Community Meeting 2017 – Mainz/Germany
Thank you for your precious time !
… and please send feedback
or let's discuss
Blog Posts
Pentaho Community Meeting 2017 – Mainz/Germany
• Why a rule engine helps IT
• Video: Calculate discount using Pentaho PDI and
Business Rule Maintenance Tool
• Ruleengine now with client/server mode
• Rule Engine: Different Types of checks
• Apache Drill - Java Code sample
• Apache Drill - Easy access to old data
• Apache Drill - CSV Query Sample
• Apache Drill - CSV to Parquet files
• Apache Drill - Querying Hadoop (HDFS)
• Ruleengine - Division of Responsibilities
• Apache Nifi - Starter
• Apache Nifi combined with Apache Velocity
• Twitter Tweets - Apache Nifi combined with
MongoDb, Groovy, Velocity and Highcharts
• Ruleengine - Project Overview
• Ruleengine - Discount example
• Business Rules Maintenance Tool - Test your rules
• Ruleengine: dynamically process files with
Metadata Injection
• Ruleengine: Use the ruleengine from code
• Hadoop - Raspberry PI Cluster
• Hadoop and the Ruleengine - example
• Hadoop and the Ruleengine
• Nifi Processor: RuleEngine
• Nifi Processor: GenerateData
• Nifi ExecuteRuleEngine processor: Run sample
explanations & screenshot
• Nifi: RuleEngine Use Case
• Nifi ExecuteRuleEngine processor: Flow
Screenshots
• Apache Nifi with the Ruleengine - Screencast
http://datamelt.weebly.com
Contact
Pentaho Community Meeting 2017 – Mainz/Germany
Uwe Geercken
email: uwe.geercken@web.de
twitter: uweeegeee
github: http://github.com/uwegeercken
blog: http://datamelt.weebly.com

More Related Content

What's hot

Open Source ETL vs Commercial ETL
Open Source ETL vs Commercial ETLOpen Source ETL vs Commercial ETL
Open Source ETL vs Commercial ETL
Jonathan Levin
 
Pentaho-BI
Pentaho-BIPentaho-BI
Pentaho-BI
Edureka!
 
Shane_O'Neill_CV_slim
Shane_O'Neill_CV_slimShane_O'Neill_CV_slim
Shane_O'Neill_CV_slim
Shane O'Neill
 

What's hot (20)

Business Intelligence and Big Data Analytics with Pentaho
Business Intelligence and Big Data Analytics with Pentaho Business Intelligence and Big Data Analytics with Pentaho
Business Intelligence and Big Data Analytics with Pentaho
 
Open Source ETL vs Commercial ETL
Open Source ETL vs Commercial ETLOpen Source ETL vs Commercial ETL
Open Source ETL vs Commercial ETL
 
Pentaho-BI
Pentaho-BIPentaho-BI
Pentaho-BI
 
Talend Introduction by TSI
Talend Introduction by TSITalend Introduction by TSI
Talend Introduction by TSI
 
Productionizing Spark ML Pipelines with the Portable Format for Analytics
Productionizing Spark ML Pipelines with the Portable Format for AnalyticsProductionizing Spark ML Pipelines with the Portable Format for Analytics
Productionizing Spark ML Pipelines with the Portable Format for Analytics
 
Introduction To Pentaho Analysis
Introduction To Pentaho AnalysisIntroduction To Pentaho Analysis
Introduction To Pentaho Analysis
 
ODI 11g in the Enterprise - BIWA 2013
ODI 11g in the Enterprise - BIWA 2013ODI 11g in the Enterprise - BIWA 2013
ODI 11g in the Enterprise - BIWA 2013
 
D365 Finance & Operations - Data & Analytics (see newer release of this docum...
D365 Finance & Operations - Data & Analytics (see newer release of this docum...D365 Finance & Operations - Data & Analytics (see newer release of this docum...
D365 Finance & Operations - Data & Analytics (see newer release of this docum...
 
Sap pi vs_biz_talk
Sap pi vs_biz_talkSap pi vs_biz_talk
Sap pi vs_biz_talk
 
Getting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationGetting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentation
 
New Features in OBIEE 12c
New Features in OBIEE 12c New Features in OBIEE 12c
New Features in OBIEE 12c
 
TedSeeberResume
TedSeeberResumeTedSeeberResume
TedSeeberResume
 
Pentaho Partner Program Info
Pentaho Partner Program InfoPentaho Partner Program Info
Pentaho Partner Program Info
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
Pentaho Data Integration: Extrayendo, integrando, normalizando y preparando m...
Pentaho Data Integration: Extrayendo, integrando, normalizando y preparando m...Pentaho Data Integration: Extrayendo, integrando, normalizando y preparando m...
Pentaho Data Integration: Extrayendo, integrando, normalizando y preparando m...
 
Shane_O'Neill_CV_slim
Shane_O'Neill_CV_slimShane_O'Neill_CV_slim
Shane_O'Neill_CV_slim
 
Informatica Pentaho Etl Tools Comparison
Informatica Pentaho Etl Tools ComparisonInformatica Pentaho Etl Tools Comparison
Informatica Pentaho Etl Tools Comparison
 
Pentaho
PentahoPentaho
Pentaho
 
Introduction To Pentaho
Introduction To PentahoIntroduction To Pentaho
Introduction To Pentaho
 
Pentaho | Data Integration & Report designer
Pentaho | Data Integration & Report designerPentaho | Data Integration & Report designer
Pentaho | Data Integration & Report designer
 

Similar to Pentaho PDI and the Jare Ruleengine

2014 12-16 biwug - cgi SharePoint Factory Framework
2014 12-16 biwug - cgi SharePoint Factory Framework2014 12-16 biwug - cgi SharePoint Factory Framework
2014 12-16 biwug - cgi SharePoint Factory Framework
BIWUG
 
Maximising Machine Translation Return on Investment (KantanMT/Medialocate)
Maximising Machine Translation Return on Investment (KantanMT/Medialocate)Maximising Machine Translation Return on Investment (KantanMT/Medialocate)
Maximising Machine Translation Return on Investment (KantanMT/Medialocate)
kantanmt
 
BizTrans SysTech_Analytics_Serv_SAP_v1.0
BizTrans SysTech_Analytics_Serv_SAP_v1.0BizTrans SysTech_Analytics_Serv_SAP_v1.0
BizTrans SysTech_Analytics_Serv_SAP_v1.0
BizTrans SysTech
 

Similar to Pentaho PDI and the Jare Ruleengine (20)

AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
AU 2015: Enterprise, Beam Me Up: Inphi's Enterprise PLM Solution (PPT)
 
Building An XML Publishing System With DITA
Building An XML Publishing System With DITABuilding An XML Publishing System With DITA
Building An XML Publishing System With DITA
 
Jakob Freund: Camunda for IT Executives - Camunda Days
Jakob Freund: Camunda for IT Executives - Camunda DaysJakob Freund: Camunda for IT Executives - Camunda Days
Jakob Freund: Camunda for IT Executives - Camunda Days
 
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made EasyIBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
IBM Cloud University 2017-IDPA009-IBM BPM Upgrade and Migration Made Easy
 
apidays LIVE Paris 2021 - Scale up your business with API integration by Math...
apidays LIVE Paris 2021 - Scale up your business with API integration by Math...apidays LIVE Paris 2021 - Scale up your business with API integration by Math...
apidays LIVE Paris 2021 - Scale up your business with API integration by Math...
 
Preparing for Your Cognos Analytics Upgrade April 2017 Webinar - QueBIT Consu...
Preparing for Your Cognos Analytics Upgrade April 2017 Webinar - QueBIT Consu...Preparing for Your Cognos Analytics Upgrade April 2017 Webinar - QueBIT Consu...
Preparing for Your Cognos Analytics Upgrade April 2017 Webinar - QueBIT Consu...
 
Flexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the CampusFlexible Custom Workflows for Banner ERP and the Campus
Flexible Custom Workflows for Banner ERP and the Campus
 
2014 12-16 biwug - cgi SharePoint Factory Framework
2014 12-16 biwug - cgi SharePoint Factory Framework2014 12-16 biwug - cgi SharePoint Factory Framework
2014 12-16 biwug - cgi SharePoint Factory Framework
 
Maximising Machine Translation Return on Investment (KantanMT/Medialocate)
Maximising Machine Translation Return on Investment (KantanMT/Medialocate)Maximising Machine Translation Return on Investment (KantanMT/Medialocate)
Maximising Machine Translation Return on Investment (KantanMT/Medialocate)
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
IBM BPM Updates - BPM 8.5.7 and BPM 8.6
IBM BPM Updates - BPM 8.5.7 and BPM 8.6IBM BPM Updates - BPM 8.5.7 and BPM 8.6
IBM BPM Updates - BPM 8.5.7 and BPM 8.6
 
MuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoftMuleSoftMeetup-B2BIntegrations_using_MuleSoft
MuleSoftMeetup-B2BIntegrations_using_MuleSoft
 
Parallel Processing in TM1 - QueBIT Consulting
Parallel Processing in TM1 - QueBIT ConsultingParallel Processing in TM1 - QueBIT Consulting
Parallel Processing in TM1 - QueBIT Consulting
 
Beyond Gerrit @ Gerrit User Summit 2017, London
Beyond Gerrit @ Gerrit User Summit 2017, LondonBeyond Gerrit @ Gerrit User Summit 2017, London
Beyond Gerrit @ Gerrit User Summit 2017, London
 
How a Business Process Vision May Boost Innovative Ideas
How a Business Process Vision May Boost Innovative IdeasHow a Business Process Vision May Boost Innovative Ideas
How a Business Process Vision May Boost Innovative Ideas
 
TOPdesk product update webinar Q3 2019.pdf
TOPdesk product update webinar Q3 2019.pdfTOPdesk product update webinar Q3 2019.pdf
TOPdesk product update webinar Q3 2019.pdf
 
BizTrans SysTech_Analytics_Serv_SAP_v1.0
BizTrans SysTech_Analytics_Serv_SAP_v1.0BizTrans SysTech_Analytics_Serv_SAP_v1.0
BizTrans SysTech_Analytics_Serv_SAP_v1.0
 
How to Improve Translation Productivity
How to Improve Translation ProductivityHow to Improve Translation Productivity
How to Improve Translation Productivity
 
Legacy ECM Migration
Legacy ECM MigrationLegacy ECM Migration
Legacy ECM Migration
 
AWS Summit Berlin 2013 - Realtech - How to Determine the Economic Value of SA...
AWS Summit Berlin 2013 - Realtech - How to Determine the Economic Value of SA...AWS Summit Berlin 2013 - Realtech - How to Determine the Economic Value of SA...
AWS Summit Berlin 2013 - Realtech - How to Determine the Economic Value of SA...
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 

Pentaho PDI and the Jare Ruleengine

  • 1. PDI + Jare Ruleengine Pentaho PDI and the Jare Ruleengine Enhanced Agility - Enhanced Quality Pentaho Community Meeting 2017 – Mainz/Germany
  • 2. We are good developers ! Our skills:  Pentaho tools, SQL, Scripting  Source/Target Systems, Interfaces  Other technologies  Automation, Optimization, Standardization  Programming languages  Different data formats  and more... Pentaho Community Meeting 2017 – Mainz/Germany
  • 3. What works against us: Good – Fast – Cheap: Pick only two ! Pentaho Community Meeting 2017 – Mainz/Germany
  • 4. Good - Fast - Cheap  Good + Fast = Expensive Choose good and fast and we will postpone every other job, cancel all appointments and stay up 25-hours a day just to get your job done. But, don't expect it to be cheap.  Good + Cheap = Slow Choose good and cheap and we will do a great job for a discounted price, but be patient until we have a free moment from paying clients.  Fast + Cheap = Inferior Choose fast and cheap and expect an inferior job delivered on time. You truly get what you pay for, and in our opinion this is the least favorable choice of the three. Pentaho Community Meeting 2017 – Mainz/Germany
  • 5. Other “disturbing” factors  ever-changing business  changing teams/skills  incomplete/late requirements  changing requirements  inadequate resource planning  timeline defined without us Pentaho Community Meeting 2017 – Mainz/Germany
  • 6. That's life … but that's life ! Pentaho Community Meeting 2017 – Mainz/Germany
  • 7. Let's make life easier … so let's do something about it, on our end ! Pentaho Community Meeting 2017 – Mainz/Germany
  • 8. Business Logic: What's the problem?  we are responsible for Business Logic and ETL or code  same business requirements in different places (Good+Fast+Cheap)  in-transparent for business users  business requirements clutter our ETL flow Result: bad for quality, bad for agility Pentaho Community Meeting 2017 – Mainz/Germany
  • 9. PDI Sample without Ruleengine  over time: more complexity = more clutter = slowdown  difficult to explain to business user (in-transparent) Pentaho Community Meeting 2017 – Mainz/Germany
  • 10. PDI Sample with Ruleengine  less complexity = less clutter = more agile  Business rules are managed in a web application Pentaho Community Meeting 2017 – Mainz/Germany ruleengine plugin (that's all you need!)
  • 11. New/changing Requirements With Ruleengine:  No change in ETL  all changes externally  less clutter – less complex Pentaho Community Meeting 2017 – Mainz/Germany Without Ruleengine:  change in ETL  changes elsewhere??  clutter, complexity
  • 12. Ruleengine detailed results debugging inclusive ! >> explains what happened (for each rule and row) Pentaho Community Meeting 2017 – Mainz/Germany
  • 13. Ruleengine Plugin properties  specify:  file path and name containing business logic  main output step (1 row in, 1 row out)  output step for detailed results (1 result per rule and row)  which details to output (failed, passed, all) Pentaho Community Meeting 2017 – Mainz/Germany
  • 14. Ruleengine Technical Details Ruleengine:  filter and/or update data  execute one to many rules (per rulegroup)  execute one to many actions (per rulegroup)  rulegroups, rules, actions in XML format  project file: zip file containing all rulegroups (logic)  rules and actions instantiated and executed using Java Reflection (classnames, methodnames) >> instantiate any Java object >> execute on: any data format: CSV, XML, JSON, database resultsets, ... Pentaho Community Meeting 2017 – Mainz/Germany
  • 15. Business Logic Maintenance: Project Pentaho Community Meeting 2017 – Mainz/Germany
  • 16. Business Logic Maintenance: Rule groups Pentaho Community Meeting 2017 – Mainz/Germany
  • 17. Business Logic Maintenance: Rule groups maintenance by the business user (expert) – not IT ! Pentaho Community Meeting 2017 – Mainz/Germany
  • 18. Business Logic Maintenance: Live Demo Live Demo Business Rules Maintenance Tool if you missed it, there's a video on YouTube: Pentaho Community Meeting 2017 – Mainz/Germany
  • 19. Business Logic Maintenance: Features Pentaho Community Meeting 2017 – Mainz/Germany  copy projects, groups, rules, actions  groups of rules have an effective date and expiry date  plan changes ahead  automatic activation and expiry of logic  logic can be tested within the web application  history of changes, activities, search  project export and import  users, roles >> security  generates documentation of the logic
  • 20. Business Logic Maintenance: Advantages Pentaho Community Meeting 2017 – Mainz/Germany  Business logic is outside of PDI  less clutter in ETL  less duplication  less complex ETL  change to logic does not require change to ETL  Business logic located in a central place  Web application for Business Users  if people come and go, better for continued service  Review easier + documentation of logic
  • 21. Business Logic Maintenance: Results Pentaho Community Meeting 2017 – Mainz/Germany  Business logic is outside of PDI >> agility, quality for IT >> future ETL changes are easier to implement  Business logic is in a central place >> agility, quality for Business User >> more transparent for Business User >> proper separation of responsibilities between IT/Business
  • 22. Ruleengine: Central Logic Pentaho Community Meeting 2017 – Mainz/Germany use Ruleengine in other environments:
  • 23. Ruleengine: Advantages Pentaho Community Meeting 2017 – Mainz/Germany  PDI Step + Web application  PDI step: install from Marketplace  production ready  open source Apache license, documented  rules and actions extendable  use Ruleengine in other environments (logic still centrally!):  Hadoop map-reduce  Nifi (processor available)  Kafka  use in your own java project
  • 24. Thank you Pentaho Community Meeting 2017 – Mainz/Germany Thank you for your precious time ! … and please send feedback or let's discuss
  • 25. Blog Posts Pentaho Community Meeting 2017 – Mainz/Germany • Why a rule engine helps IT • Video: Calculate discount using Pentaho PDI and Business Rule Maintenance Tool • Ruleengine now with client/server mode • Rule Engine: Different Types of checks • Apache Drill - Java Code sample • Apache Drill - Easy access to old data • Apache Drill - CSV Query Sample • Apache Drill - CSV to Parquet files • Apache Drill - Querying Hadoop (HDFS) • Ruleengine - Division of Responsibilities • Apache Nifi - Starter • Apache Nifi combined with Apache Velocity • Twitter Tweets - Apache Nifi combined with MongoDb, Groovy, Velocity and Highcharts • Ruleengine - Project Overview • Ruleengine - Discount example • Business Rules Maintenance Tool - Test your rules • Ruleengine: dynamically process files with Metadata Injection • Ruleengine: Use the ruleengine from code • Hadoop - Raspberry PI Cluster • Hadoop and the Ruleengine - example • Hadoop and the Ruleengine • Nifi Processor: RuleEngine • Nifi Processor: GenerateData • Nifi ExecuteRuleEngine processor: Run sample explanations & screenshot • Nifi: RuleEngine Use Case • Nifi ExecuteRuleEngine processor: Flow Screenshots • Apache Nifi with the Ruleengine - Screencast http://datamelt.weebly.com
  • 26. Contact Pentaho Community Meeting 2017 – Mainz/Germany Uwe Geercken email: uwe.geercken@web.de twitter: uweeegeee github: http://github.com/uwegeercken blog: http://datamelt.weebly.com