SlideShare une entreprise Scribd logo
1  sur  28
Distributed Data Processing
      with ILOG JRules




                      Daniel Selman
                     dselman@ilog.fr
                               ILOG

                      Keith Lindsey
                               UBS
Agenda

  Business Problem
  Distributed Architecture
  Choosing an Execution Algorithm
  Sample Rules
  Sequential Mode
  Results




                      © ILOG, All rights reserved   2
Business Problem

   UBS Bank operates in over 50 countries
   Transform the General Ledger Financial Details
    Database into Regulatory and Internal Reports
      Required by 8AM for the banks in all geographies
      Reports go to corporate centre as well as local banking
       regulators
      Support different accounting standards
   Legacy application based on ETL was too hard to
    maintain and did not meet business or performance
    requirements




                             © ILOG, All rights reserved         3
Performance and Scalability
  Complexity and volume have grown
   beyond the original design
   capabilities
  Was not meeting the business
   requirements for timeliness
  Transformation rules were complex to
   maintain, run and configure

                                                     Branch Performance (Volumes and Runtime)
                          900                                                                                               7,000,000


                          800
                                                                                                                            6,000,000

                          700




                                                                                                                                        Balance Volumes Processed
                                                                                                                            5,000,000
                          600
        Runtimes (mins)




                                                                                                                            4,000,000
                          500


                          400
                                                                                                                            3,000,000


                          300
                                                                                                                            2,000,000

                          200

                                                Batch Run Times                                                             1,000,000
                          100
                                                Branch Volume


                            0                                                                                               0
                            11/04   02/05   05/05   08/05   11/05   02/06   05/06   08/06   11/06   02/07   05/07   08/07
                                                                            Date




                                                                                            © ILOG, All rights reserved                                             44
Distributed Architecture

   Should be able to scale horizontally and
    vertically – distribute the data across numerous
    fast and low cost boxes
      Distribution means less data to process on each box,
       hence faster processing
      Keep data close to code for faster processing – do
       not drop data unless required
      No time wasted storing data that you do not want
      By regulating the amount of data of each box it will
       be possible stabilise performance as volume grows

                         © ILOG, All rights reserved          5
Parallelism

   Applications are often classified according to
    how often their subtasks need to synchronize or
    communicate with each other.
      An application exhibits fine-grained parallelism if its
       subtasks must communicate many times per second;
      It exhibits coarse-grained parallelism if they do not
       communicate many times per second,
      And it is embarrassingly parallel if they rarely or
       never have to communicate.
                                                             Wikipedia




                           © ILOG, All rights reserved                   6
Rules in the Distribution Framework
JVM
                                          Rules Processing Node
                                                                                                                    Business logic is coded in rules
Posting
          Domain
                      Input Data
                                                                      Rulesets                                      When a sum/sort is needed,
           data
Posting
                                                                                                                     data is sent to central node
                                                    Ruleset Locator
                                                                       Netting


                                                                      Collateral
                     iLOG JRules
                        Engine
                                                                      Allocation
                                                                                                                     and the result is returned
                                                                        RWA

                     Output Data
                                                                                                                    The rules only interact with the
                                                                                                                     domain data objects, not the
                     Domain
                      data




                     Data                   Distribution Layer                      Data
                                                                                 Integrator
                                                                                                                     data transfer objects
                   converter

                                                                                                                    This keeps the rules abstracted
                                                                                    Network Optimized
                      Network Optimized




                                                   Network
                                                                                                                     from the distribution framework
                                              Central Node                                                           they run in
                   Input Data                                                 Return Data




                                                                                                        © ILOG, All rights reserved                 7
Implementation Summary

                 Partition dataset into segments
                 Process each segment in parallel
                  using a grid of worker servers
                 Each worker communicates with
                  a central server using a
                  lightweight protocol
                 Synchronization points with the
                  central server are kept to an
                  absolute minimum
                 Rules process data held in-
                  memory


                 © ILOG, All rights reserved         8
JRules Execution Modes

   Compliance and Validation
     Loosely interrelated rules that check a set of
      conditions to yield a go/no go or similar constrained
      result. Compliance business rule applications are
      often used in underwriting, fraud detection, data
      validation and form validation. The business rules in
      this kind of application would generally have a yes/no
      result and would provide some explanation on the
      decision.
   => Sequential or Fastpath


                        © ILOG, All rights reserved            9
JRules Execution Modes

   Computation
     Strongly interrelated rules that compute metrics for a
      complex object model. Computation business rule
      applications are often used for scoring and rating,
      contracts and allocation. The business rules in this
      kind of application would carry out different
      calculations on an object which would be responsible
      for providing a final value (or rating).
   => RetePlus



                        © ILOG, All rights reserved            10
JRules Execution Modes

   Correlation
     Strongly interrelated rules that correlate information
      from a set of objects, to compute some complex
      metrics. Correlation business rule applications are
      often used for billing. The business rules in this kind
      of application insert information.
   => RetePlus or Fastpath




                         © ILOG, All rights reserved            11
JRules Execution Modes

   Stateful Session
     Strongly interrelated rules that correlate events in a
      stateful engine session. Stateful applications are
      often used in alarm filtering and correlation, GUI
      customization, and Web page navigation.
   => RetePlus




                         © ILOG, All rights reserved           12
JRules Execution Modes




                                                  E.g.
                                                Decision
                                                 Tables




                  © ILOG, All rights reserved              13
UBS Rules

   Statistics
      If-then-else BRL rules: 749
      Decision tables: 55
      Decision trees: 5
      Ruleflows: 111




                           © ILOG, All rights reserved   14
Sample Rule 1

  definitions


       set 'the posting' to a Posting in the postings filtered by product types of 'the
       internal data' ;


       set 'the trade balance' to a Trade Balance from the Trade Balance of 'the
       posting' ;


       set 'the Reporting Date' to the Reporting Date ;


  if


       Number of days between 'the Reporting Date' and the Settlement Date (
       TB115 ) of 'the trade balance' is less than 0

                                     © ILOG, All rights reserved                          15
Sample Rule 2
  definitions


     set 'the posting' to a Posting in the list of input postings where this Posting is
     selected for PP50 processing ;


     set 'the GCR entity' to the gcr of 'the posting' ;


     set 'the counterparty' to the counterparty of 'the posting' ;


     set 'the parent' to the Parent Counterparty of 'the counterparty' ;


     set 'the country of ultimate risk' to the Country of Ultimate Risk ( PA060 ) of 'the
     parent' ;


     set 'the code of the country' to the Country Code of 'the country of ultimate risk' ;




                                        © ILOG, All rights reserved                          16
Sample Rule 3
  definitions


       set 'the posting' to a Posting in the list of postings;


       set 'the lookup result' to the lookup results for 'the posting' in 'PP72 Input Table Lookup' ;


       set 'the residual maturity' to the selected residual maturity of 'the lookup result' ;


       set 'the original maturity' to the selected original maturity of 'the lookup result' ;


       set 'the product type group' to the product type group of 'the lookup result' ;




  if


       all of the following conditions are true :


                 - 'the lookup result' is not empty is true


                 - (the Transaction Netting ID ( PO998 ) of 'the posting' is not "N" and
                                the Transaction Netting ID ( PO998 ) of 'the posting' is NOT EMPTY )


                 - ('the product type group' is "RV" and
                                                     © ILOG, All rights reserved                        17
Sequential Mode
                                                     Sequential
                                                      Ruleflow
                                                       Tasks
 BAL Rules
 Ruleflows                                                        Machine
                     IRL                  Byte code
 Decision Tables                                                   Code
 …


                    Ruleset
     Rule Project                                    JVM            OS
                    Archive




                       © ILOG, All rights reserved                          18
BAL Rule

  definitions


       set 'the posting' to a Posting in the postings filtered by product types of 'the
       internal data' ;


       set 'the trade balance' to a Trade Balance from the Trade Balance of 'the
       posting' ;


       set 'the Reporting Date' to the Reporting Date ;


  if


       Number of days between 'the Reporting Date' and the Settlement Date (
       TB115 ) of 'the trade balance' is less than 0

                                     © ILOG, All rights reserved                          19
IRL Rule
  rule ClassifyOpenAndFailedTradePosting {


     property status = "new";


     when {


       com.ubs.meridian.internaldata.PP30InternalData() from internalData;


       the_posting: com.ubs.meridian.data.interfaces.Posting() in
     internalData.postingsFilteredByProductType;


       the_trade_balance: com.ubs.meridian.data.interfaces.TradeBalance() from
     the_posting.tradeBalance;


       the_Reporting_Date: com.ubs.meridian.engine.types.CalendarDate() from
     com.ubs.meridian.inputdata.PP30InputData.vgetLBD();


       evaluate (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.settlementDate) <
     0);


     } then {                             © ILOG, All rights reserved                         20
Pseudo (Byte) Code
  protected final void rule_ClassisfyPosting_ClassifyOpenAndFailedTradePosting()
   {
       com.ubs.meridian.internaldata.PP30InternalData __V0 = (com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7);
       if (__V0 != null)
        {
            java.util.List __V1 = ((com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7)).getPostingsFilteredByProductType();
            if (__V1 != null)
              if (__V2 != null)
                  if (__V2 instanceof com.ubs.meridian.data.interfaces.Posting)
                   {
                       com.ubs.meridian.data.interfaces.Posting the_posting = (com.ubs.meridian.data.interfaces.Posting)__V2;
                       {
                           com.ubs.meridian.data.interfaces.TradeBalance the_trade_balance = the_posting.getTradeBalance();
                           if (the_trade_balance != null)
                            {
                                com.ubs.meridian.engine.types.CalendarDate the_Reporting_Date = function_translation_com_ubs_meridian_inputdata_PP30InputData_vgetLBD();
                                if (the_Reporting_Date != null)
                                 if (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.getSettlementDate()) < 0)
                                  {
  function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToOpenTradePostingsList(the_posting); }
                                 else
                                  {
  function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToFailedTradePostingsList(the_posting);
                                  }
                            }
                       }
              }
         }
   }




                                                                                   © ILOG, All rights reserved                                                             21
Sequential Mode

 Limitations
    not, exists, collect conditions without an
     enumerator (as no working memory)
    Lesser used features
       dynamic priorities (as no agenda)
       event-based condition
       Watchdogs
       TMS



                       © ILOG, All rights reserved   22
Parsing Time - Benchmark




                  © ILOG, All rights reserved   23
Execution Time - Benchmark




                  © ILOG, All rights reserved   24
Execution Time - Benchmark




                  © ILOG, All rights reserved   25
Results: UBS Performance




                  © ILOG, All rights reserved   26
Results: UBS Business Benefits

   While data volumes have been steadily increasing,
    dramatic runtime reductions have been achieved since
    the project went live
   Regulatory reporting data is now predictably delivered
    (very low runtime variance)
   Increased agility allows for faster time to market in
    terms of business change
   Common vocabulary now in place between the
    business and technical teams




                           © ILOG, All rights reserved       27
Discussion




                   QuickTime™ an d a
                      decompressor
             are need ed to see this p icture .




                       © ILOG, All rights reserved   28

Contenu connexe

Similaire à October Rules Fest 2008 - Distributed Data Processing with ILOG JRules

Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...Cloudera, Inc.
 
Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Metron
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented ArchitectureBob Rhubart
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBasedarach
 
Oracle BI Server by AORTA
Oracle BI Server by AORTAOracle BI Server by AORTA
Oracle BI Server by AORTAguest066f569
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoJUG Genova
 
Betting On Data Grids
Betting On Data GridsBetting On Data Grids
Betting On Data Gridsgojkoadzic
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
GE Smallworld Overview September2010
GE Smallworld Overview September2010GE Smallworld Overview September2010
GE Smallworld Overview September2010cwilson5496
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudVitor Oliveira
 
Consolidated shared indexes in real time
Consolidated shared indexes in real timeConsolidated shared indexes in real time
Consolidated shared indexes in real timeJeff Mace
 
Move SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsMove SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsAppZero
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81Zalli13
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81Zalli13
 
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young KimIntroduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kimtulipbiru64
 
Meandre 2.0 Alpha Preview
Meandre 2.0 Alpha PreviewMeandre 2.0 Alpha Preview
Meandre 2.0 Alpha PreviewXavier Llorà
 

Similaire à October Rules Fest 2008 - Distributed Data Processing with ILOG JRules (20)

Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
Hadoop World 2011: BI on Hadoop in Financial Services - Stefan Grschupf, Data...
 
Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
Oracle BI Server By AORTA
Oracle BI Server By AORTAOracle BI Server By AORTA
Oracle BI Server By AORTA
 
Oracle BI Server by AORTA
Oracle BI Server by AORTAOracle BI Server by AORTA
Oracle BI Server by AORTA
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
 
Betting On Data Grids
Betting On Data GridsBetting On Data Grids
Betting On Data Grids
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
GE Smallworld Overview September2010
GE Smallworld Overview September2010GE Smallworld Overview September2010
GE Smallworld Overview September2010
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the Cloud
 
Consolidated shared indexes in real time
Consolidated shared indexes in real timeConsolidated shared indexes in real time
Consolidated shared indexes in real time
 
Move SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy StepsMove SAP to Cloud in 3 Easy Steps
Move SAP to Cloud in 3 Easy Steps
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81
 
Packet shaper datasheet 81
Packet shaper datasheet 81Packet shaper datasheet 81
Packet shaper datasheet 81
 
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young KimIntroduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
Introduction of e-Journal Local Hosting and Services - Dr. Kwang Young Kim
 
Meandre 2.0 Alpha Preview
Meandre 2.0 Alpha PreviewMeandre 2.0 Alpha Preview
Meandre 2.0 Alpha Preview
 
Cs753 2a
Cs753 2aCs753 2a
Cs753 2a
 
Aditi
AditiAditi
Aditi
 
Aditi
AditiAditi
Aditi
 

Plus de Dan Selman

Hyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep DiveHyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep DiveDan Selman
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Dan Selman
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGiDan Selman
 
Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013Dan Selman
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT CollaborationDan Selman
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesDan Selman
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...Dan Selman
 
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...Dan Selman
 
Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!Dan Selman
 
European Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule StandardsEuropean Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule StandardsDan Selman
 
European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...Dan Selman
 

Plus de Dan Selman (11)

Hyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep DiveHyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep Dive
 
Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05Hyperledger Composer Update 2017-04-05
Hyperledger Composer Update 2017-04-05
 
Introduction to OSGi
Introduction to OSGiIntroduction to OSGi
Introduction to OSGi
 
Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013Rules SDK IBM WW BPM Forum March 2013
Rules SDK IBM WW BPM Forum March 2013
 
Paris Java User Group : Enabling Agile Business and IT Collaboration
Paris Java User Group : Enabling Agile Business  and IT CollaborationParis Java User Group : Enabling Agile Business  and IT Collaboration
Paris Java User Group : Enabling Agile Business and IT Collaboration
 
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeriesIBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
IBM zUniversity 2004 : ILOG JRules on IBM eServer zSeries
 
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
WebSphere Technical Conference 2009 : Enhancing your BPM Solution with ILOG J...
 
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
TheServerSide Java Symposium 2005 : Business Rule Management, Enables Agile A...
 
Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!Service Oriented Architecture - Agility Rules!
Service Oriented Architecture - Agility Rules!
 
European Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule StandardsEuropean Business Rules Conference 2005 : Rule Standards
European Business Rules Conference 2005 : Rule Standards
 
European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...European Business Rules Conference 2004: The Business Rules Platform and Ente...
European Business Rules Conference 2004: The Business Rules Platform and Ente...
 

Dernier

Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Dernier (20)

Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

October Rules Fest 2008 - Distributed Data Processing with ILOG JRules

  • 1. Distributed Data Processing with ILOG JRules Daniel Selman dselman@ilog.fr ILOG Keith Lindsey UBS
  • 2. Agenda  Business Problem  Distributed Architecture  Choosing an Execution Algorithm  Sample Rules  Sequential Mode  Results © ILOG, All rights reserved 2
  • 3. Business Problem  UBS Bank operates in over 50 countries  Transform the General Ledger Financial Details Database into Regulatory and Internal Reports  Required by 8AM for the banks in all geographies  Reports go to corporate centre as well as local banking regulators  Support different accounting standards  Legacy application based on ETL was too hard to maintain and did not meet business or performance requirements © ILOG, All rights reserved 3
  • 4. Performance and Scalability  Complexity and volume have grown beyond the original design capabilities  Was not meeting the business requirements for timeliness  Transformation rules were complex to maintain, run and configure Branch Performance (Volumes and Runtime) 900 7,000,000 800 6,000,000 700 Balance Volumes Processed 5,000,000 600 Runtimes (mins) 4,000,000 500 400 3,000,000 300 2,000,000 200 Batch Run Times 1,000,000 100 Branch Volume 0 0 11/04 02/05 05/05 08/05 11/05 02/06 05/06 08/06 11/06 02/07 05/07 08/07 Date © ILOG, All rights reserved 44
  • 5. Distributed Architecture  Should be able to scale horizontally and vertically – distribute the data across numerous fast and low cost boxes  Distribution means less data to process on each box, hence faster processing  Keep data close to code for faster processing – do not drop data unless required  No time wasted storing data that you do not want  By regulating the amount of data of each box it will be possible stabilise performance as volume grows © ILOG, All rights reserved 5
  • 6. Parallelism  Applications are often classified according to how often their subtasks need to synchronize or communicate with each other.  An application exhibits fine-grained parallelism if its subtasks must communicate many times per second;  It exhibits coarse-grained parallelism if they do not communicate many times per second,  And it is embarrassingly parallel if they rarely or never have to communicate. Wikipedia © ILOG, All rights reserved 6
  • 7. Rules in the Distribution Framework JVM Rules Processing Node  Business logic is coded in rules Posting Domain Input Data Rulesets  When a sum/sort is needed, data Posting data is sent to central node Ruleset Locator Netting Collateral iLOG JRules Engine Allocation and the result is returned RWA Output Data  The rules only interact with the domain data objects, not the Domain data Data Distribution Layer Data Integrator data transfer objects converter  This keeps the rules abstracted Network Optimized Network Optimized Network from the distribution framework Central Node they run in Input Data Return Data © ILOG, All rights reserved 7
  • 8. Implementation Summary  Partition dataset into segments  Process each segment in parallel using a grid of worker servers  Each worker communicates with a central server using a lightweight protocol  Synchronization points with the central server are kept to an absolute minimum  Rules process data held in- memory © ILOG, All rights reserved 8
  • 9. JRules Execution Modes  Compliance and Validation  Loosely interrelated rules that check a set of conditions to yield a go/no go or similar constrained result. Compliance business rule applications are often used in underwriting, fraud detection, data validation and form validation. The business rules in this kind of application would generally have a yes/no result and would provide some explanation on the decision.  => Sequential or Fastpath © ILOG, All rights reserved 9
  • 10. JRules Execution Modes  Computation  Strongly interrelated rules that compute metrics for a complex object model. Computation business rule applications are often used for scoring and rating, contracts and allocation. The business rules in this kind of application would carry out different calculations on an object which would be responsible for providing a final value (or rating).  => RetePlus © ILOG, All rights reserved 10
  • 11. JRules Execution Modes  Correlation  Strongly interrelated rules that correlate information from a set of objects, to compute some complex metrics. Correlation business rule applications are often used for billing. The business rules in this kind of application insert information.  => RetePlus or Fastpath © ILOG, All rights reserved 11
  • 12. JRules Execution Modes  Stateful Session  Strongly interrelated rules that correlate events in a stateful engine session. Stateful applications are often used in alarm filtering and correlation, GUI customization, and Web page navigation.  => RetePlus © ILOG, All rights reserved 12
  • 13. JRules Execution Modes E.g. Decision Tables © ILOG, All rights reserved 13
  • 14. UBS Rules  Statistics  If-then-else BRL rules: 749  Decision tables: 55  Decision trees: 5  Ruleflows: 111 © ILOG, All rights reserved 14
  • 15. Sample Rule 1 definitions set 'the posting' to a Posting in the postings filtered by product types of 'the internal data' ; set 'the trade balance' to a Trade Balance from the Trade Balance of 'the posting' ; set 'the Reporting Date' to the Reporting Date ; if Number of days between 'the Reporting Date' and the Settlement Date ( TB115 ) of 'the trade balance' is less than 0 © ILOG, All rights reserved 15
  • 16. Sample Rule 2 definitions set 'the posting' to a Posting in the list of input postings where this Posting is selected for PP50 processing ; set 'the GCR entity' to the gcr of 'the posting' ; set 'the counterparty' to the counterparty of 'the posting' ; set 'the parent' to the Parent Counterparty of 'the counterparty' ; set 'the country of ultimate risk' to the Country of Ultimate Risk ( PA060 ) of 'the parent' ; set 'the code of the country' to the Country Code of 'the country of ultimate risk' ; © ILOG, All rights reserved 16
  • 17. Sample Rule 3 definitions set 'the posting' to a Posting in the list of postings; set 'the lookup result' to the lookup results for 'the posting' in 'PP72 Input Table Lookup' ; set 'the residual maturity' to the selected residual maturity of 'the lookup result' ; set 'the original maturity' to the selected original maturity of 'the lookup result' ; set 'the product type group' to the product type group of 'the lookup result' ; if all of the following conditions are true : - 'the lookup result' is not empty is true - (the Transaction Netting ID ( PO998 ) of 'the posting' is not "N" and the Transaction Netting ID ( PO998 ) of 'the posting' is NOT EMPTY ) - ('the product type group' is "RV" and © ILOG, All rights reserved 17
  • 18. Sequential Mode Sequential Ruleflow Tasks BAL Rules Ruleflows Machine IRL Byte code Decision Tables Code … Ruleset Rule Project JVM OS Archive © ILOG, All rights reserved 18
  • 19. BAL Rule definitions set 'the posting' to a Posting in the postings filtered by product types of 'the internal data' ; set 'the trade balance' to a Trade Balance from the Trade Balance of 'the posting' ; set 'the Reporting Date' to the Reporting Date ; if Number of days between 'the Reporting Date' and the Settlement Date ( TB115 ) of 'the trade balance' is less than 0 © ILOG, All rights reserved 19
  • 20. IRL Rule rule ClassifyOpenAndFailedTradePosting { property status = "new"; when { com.ubs.meridian.internaldata.PP30InternalData() from internalData; the_posting: com.ubs.meridian.data.interfaces.Posting() in internalData.postingsFilteredByProductType; the_trade_balance: com.ubs.meridian.data.interfaces.TradeBalance() from the_posting.tradeBalance; the_Reporting_Date: com.ubs.meridian.engine.types.CalendarDate() from com.ubs.meridian.inputdata.PP30InputData.vgetLBD(); evaluate (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.settlementDate) < 0); } then { © ILOG, All rights reserved 20
  • 21. Pseudo (Byte) Code protected final void rule_ClassisfyPosting_ClassifyOpenAndFailedTradePosting() { com.ubs.meridian.internaldata.PP30InternalData __V0 = (com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7); if (__V0 != null) { java.util.List __V1 = ((com.ubs.meridian.internaldata.PP30InternalData)this.globalDriver.getGlobalObject(4,7)).getPostingsFilteredByProductType(); if (__V1 != null) if (__V2 != null) if (__V2 instanceof com.ubs.meridian.data.interfaces.Posting) { com.ubs.meridian.data.interfaces.Posting the_posting = (com.ubs.meridian.data.interfaces.Posting)__V2; { com.ubs.meridian.data.interfaces.TradeBalance the_trade_balance = the_posting.getTradeBalance(); if (the_trade_balance != null) { com.ubs.meridian.engine.types.CalendarDate the_Reporting_Date = function_translation_com_ubs_meridian_inputdata_PP30InputData_vgetLBD(); if (the_Reporting_Date != null) if (the_Reporting_Date.numberOfDaysBetween(the_trade_balance.getSettlementDate()) < 0) { function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToOpenTradePostingsList(the_posting); } else { function_translation_com_ubs_meridian_internaldata_PP30InternalData_vAddToFailedTradePostingsList(the_posting); } } } } } } © ILOG, All rights reserved 21
  • 22. Sequential Mode  Limitations  not, exists, collect conditions without an enumerator (as no working memory)  Lesser used features  dynamic priorities (as no agenda)  event-based condition  Watchdogs  TMS © ILOG, All rights reserved 22
  • 23. Parsing Time - Benchmark © ILOG, All rights reserved 23
  • 24. Execution Time - Benchmark © ILOG, All rights reserved 24
  • 25. Execution Time - Benchmark © ILOG, All rights reserved 25
  • 26. Results: UBS Performance © ILOG, All rights reserved 26
  • 27. Results: UBS Business Benefits  While data volumes have been steadily increasing, dramatic runtime reductions have been achieved since the project went live  Regulatory reporting data is now predictably delivered (very low runtime variance)  Increased agility allows for faster time to market in terms of business change  Common vocabulary now in place between the business and technical teams © ILOG, All rights reserved 27
  • 28. Discussion QuickTime™ an d a decompressor are need ed to see this p icture . © ILOG, All rights reserved 28