SlideShare a Scribd company logo
© 2016 IBM Corporation
ODM Rules Compiler
IBM Streams Version 4.2
Chris Recoskie, Streams Developer
recoskie@ca.ibm.com
Ankit Pasricha, Streams Developer
ankitp@ca.ibm.com
© 2016 IBM Corporation2
Important Disclaimer
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL
PURPOSES ONLY.
WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE
INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY
OF ANY KIND, EXPRESS OR IMPLIED.
IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY,
WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR
OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
• CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR
THEIR SUPPLIERS AND/OR LICENSORS); OR
• ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
GOVERNING THE USE OF IBM SOFTWARE.
IBM’s statements regarding its plans, directions, and intent are subject to change or
withdrawal without notice at IBM’s sole discretion. Information regarding potential
future products is intended to outline our general product direction and it should not
be relied on in making a purchasing decision. The information mentioned regarding
potential future products is not a commitment, promise, or legal obligation to deliver
any material, code or functionality. Information about potential future products may
not be incorporated into any contract. The development, release, and timing of any
future features or functionality described for our products remains at our sole
discretion.
THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.
IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
© 2016 IBM Corporation3
Background
 In Streams 4.1: com.ibm.streams.rules toolkit
 ODMRulesetExecutor Java operator
 User workflow
 Develop rules in the Rule Designer IDE
 Export rules to the filesystem or to a DB
 Develop your SPL application and configure an instance of
ODMRulesetExecutor
 Run your SPL application
© 2016 IBM Corporation4
Background
Input Tuple Input Tuple
Ruleset
Execution
Server
ODM Rule Input
Parameters
ODM Rule Output
Parameters
Output Tuple
© 2016 IBM Corporation5
Background
 Issues
 Performance issues
 Sending data to/from ODM rule execution server is inefficient
 Dependency on ODM
 ODM must be installed and ODM_HOME must be set
 Rule Designer IDE for developing rule projects and rules
© 2016 IBM Corporation6
ODM Rules Compiler
Rules
Compiler
Rules Project
Generated SPL Composite
(one operator per package)
© 2016 IBM Corporation7
ODM Rules Compiler
Streams
Compiler
SPL
Application
Application
Bundle
© 2016 IBM Corporation8
Demo
© 2016 IBM Corporation9
Dynamic Rule updates
 Objective: Allow users to update rules used in SPL application WITHOUT
restarting their application, but still retain the performance gain of SPL
compiled rules
 With dynamic updates turned on, the generated composite uses the
ODMCompiledRuleset operator, which compiles the rules logic and places the object
code in a shared object that can be dynamically hot swapped at runtime
 Current ODMRulesetExecutor supports this through the ODM management console
Streams
Compiler
SPL
Application
Application
Bundle
Rules logic
shared
object
Rules logic
shared
object
© 2016 IBM Corporation10
Dynamic Rule updates
 ODMCompiledRuleset operator contains 1 control port
 2 ways to pass new shared object
 Path of the new shared object
 Blob representing the shared object
© 2016 IBM Corporation11
Limitations
 Stateless rule support only
 Custom Java functions have to be converted manually to SPL
 But, the compiler can generate stubs for you to fill out
 Dynamic updates
 Cannot change ruleset parameters
 Cannot add/remove rule packages
 But, can add/remove rules within a package
© 2016 IBM Corporation12
Performance
 Performance gains depend upon the nature of your rules.
 Rules with a lot of common code can be optimized more than those that don’t
 Contrived “best case” scenarios have ranged from the 39x to 600x speedup
range
 A more realistic set of telecom fraud detection rules yielded approximately a
6x speedup
© 2016 IBM Corporation13
Questions?

More Related Content

What's hot (20)

PDF
Geospatial Toolkit Enhancements for IBM InfoSphere Streams V4.0
lisanl
 
PDF
What's New in IBM Streams V4.1
lisanl
 
PDF
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...
lisanl
 
PDF
How Nationwide Insurance use IBM Decision Manager and BPM
sflynn073
 
PDF
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
IBM Systems UKI
 
PPTX
2397 The MQ Appliance as a messaging in a box and MQ MFT hub solution
Sandeep Chellingi
 
PPTX
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...
Sandeep Chellingi
 
PDF
Best Practices for Monitoring Your Cloud Environment and Applications
Prolifics
 
PPT
IBM PureSystems
IBM WebSphereIndia
 
PDF
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14
IBM Systems UKI
 
PPTX
Ibm PureApplication system
khawkwf
 
PDF
Mastering DevOps Automation: Webinar
Claudia Ring
 
PDF
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
PDF
Continuous Delivery in the Enterprise - with IBM UrbanCode
IBM UrbanCode Products
 
PPTX
F5 Networks BIG-IP LTM Virtual Edition
DSorensenCPR
 
PDF
Automate and customise application services and deployment
Christina Hoh
 
PDF
Ibm pure systems pov_idr_spig_v1
Marco Laucelli
 
PDF
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0
lisanl
 
PDF
UrbanCode Deploy DevOps Best Practices
Michael Elder
 
PDF
Converting to the latest COBOL Compiler made simple with the right tools
DevOps for Enterprise Systems
 
Geospatial Toolkit Enhancements for IBM InfoSphere Streams V4.0
lisanl
 
What's New in IBM Streams V4.1
lisanl
 
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...
lisanl
 
How Nationwide Insurance use IBM Decision Manager and BPM
sflynn073
 
Pure Systems Patterns of Expertise - John Kaemmerer and Gerry Kovan, 11th Sep...
IBM Systems UKI
 
2397 The MQ Appliance as a messaging in a box and MQ MFT hub solution
Sandeep Chellingi
 
3158 - Cloud Infrastructure & It Optimization - Application Performance Manag...
Sandeep Chellingi
 
Best Practices for Monitoring Your Cloud Environment and Applications
Prolifics
 
IBM PureSystems
IBM WebSphereIndia
 
PureSystems on the Private Cloud, John Kaemmerer and Gerry Novan, 11th Sept 14
IBM Systems UKI
 
Ibm PureApplication system
khawkwf
 
Mastering DevOps Automation: Webinar
Claudia Ring
 
An Overview of IBM Streaming Analytics for Bluemix
lisanl
 
Continuous Delivery in the Enterprise - with IBM UrbanCode
IBM UrbanCode Products
 
F5 Networks BIG-IP LTM Virtual Edition
DSorensenCPR
 
Automate and customise application services and deployment
Christina Hoh
 
Ibm pure systems pov_idr_spig_v1
Marco Laucelli
 
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0
lisanl
 
UrbanCode Deploy DevOps Best Practices
Michael Elder
 
Converting to the latest COBOL Compiler made simple with the right tools
DevOps for Enterprise Systems
 

Viewers also liked (9)

PPT
Best practices in deploying IBM Operation Decision Manager Standard 8.8.0
Pierre Feillet
 
PPTX
IBM Decision Server Insights
Alain Neyroud
 
PPTX
IBM Operational Decision Manager - Decision Governance Framework
Arun Mathews
 
PPT
Common linux ubuntu commands overview
Ameer Sameer
 
PPT
Introduction to Ubantu
OpenSource Technologies Pvt. Ltd.
 
PPT
Best practices in IBM Operational Decision Manager Standard 8.7.0 topologies
Pierre Feillet
 
ODP
What is Ubuntu - presentation
Ahmed Mamdouh
 
PDF
Docker introduction
Julien Maitrehenry
 
PDF
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Docker, Inc.
 
Best practices in deploying IBM Operation Decision Manager Standard 8.8.0
Pierre Feillet
 
IBM Decision Server Insights
Alain Neyroud
 
IBM Operational Decision Manager - Decision Governance Framework
Arun Mathews
 
Common linux ubuntu commands overview
Ameer Sameer
 
Introduction to Ubantu
OpenSource Technologies Pvt. Ltd.
 
Best practices in IBM Operational Decision Manager Standard 8.7.0 topologies
Pierre Feillet
 
What is Ubuntu - presentation
Ahmed Mamdouh
 
Docker introduction
Julien Maitrehenry
 
Integrating Docker EE into Société Générale's Existing Enterprise IT Systems
Docker, Inc.
 
Ad

More from lisanl (20)

PDF
What's New Overview for IBM Streams V4.3
lisanl
 
PDF
SPL Event-Time Processing in IBM Streams V4.3
lisanl
 
PDF
Option Data Types in IBM Streams V4.3
lisanl
 
PDF
Dynamic and Elastic Scaling in IBM Streams V4.3
lisanl
 
PDF
Data Governance with IBM Streams V4.1
lisanl
 
PDF
Github Projects Overview and IBM Streams V4.1
lisanl
 
PDF
What's New in Toolkits for IBM Streams V4.1
lisanl
 
PDF
IBM Streams V4.1 and Incremental Checkpointing
lisanl
 
PDF
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)
lisanl
 
PDF
IBM Streams V4.1 and User Authentication with Client Certificates
lisanl
 
PDF
IBM Streams V4.1 and JAAS Login Module Support
lisanl
 
PDF
IBM Streams V4.1 Integration with IBM Platform Symphony
lisanl
 
PDF
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
lisanl
 
PDF
What's New in the Streams Console in IBM Streams V4.1
lisanl
 
PDF
Expanding beyond SPL -- More language support in IBM Streams V4.1
lisanl
 
PDF
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
lisanl
 
PDF
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
lisanl
 
PDF
What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
lisanl
 
PDF
Streams Studio Support for IBM InfoSphere Streams V4.0
lisanl
 
PDF
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
lisanl
 
What's New Overview for IBM Streams V4.3
lisanl
 
SPL Event-Time Processing in IBM Streams V4.3
lisanl
 
Option Data Types in IBM Streams V4.3
lisanl
 
Dynamic and Elastic Scaling in IBM Streams V4.3
lisanl
 
Data Governance with IBM Streams V4.1
lisanl
 
Github Projects Overview and IBM Streams V4.1
lisanl
 
What's New in Toolkits for IBM Streams V4.1
lisanl
 
IBM Streams V4.1 and Incremental Checkpointing
lisanl
 
IBM Streams V4.1 REST API Support for Cross-Origin Resource Sharing (CORS)
lisanl
 
IBM Streams V4.1 and User Authentication with Client Certificates
lisanl
 
IBM Streams V4.1 and JAAS Login Module Support
lisanl
 
IBM Streams V4.1 Integration with IBM Platform Symphony
lisanl
 
Introduction to IBM Platform Symphony Integration with IBM Streams V4.1
lisanl
 
What's New in the Streams Console in IBM Streams V4.1
lisanl
 
Expanding beyond SPL -- More language support in IBM Streams V4.1
lisanl
 
Introduction to the Spark MLLib Toolkit in IBM Streams V4.1
lisanl
 
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
lisanl
 
What's New in the Timeseries Toolkit for IBM InfoSphere Streams V4.0
lisanl
 
Streams Studio Support for IBM InfoSphere Streams V4.0
lisanl
 
Streams GitHub Products Overview for IBM InfoSphere Streams V4.0
lisanl
 
Ad

Recently uploaded (20)

PDF
apidays Singapore 2025 - From API Intelligence to API Governance by Harsha Ch...
apidays
 
PPTX
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
PPTX
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
PDF
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
PDF
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
PPTX
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
PDF
OPPOTUS - Malaysias on Malaysia 1Q2025.pdf
Oppotus
 
PDF
apidays Singapore 2025 - The API Playbook for AI by Shin Wee Chuang (PAND AI)
apidays
 
PDF
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 
PPTX
Listify-Intelligent-Voice-to-Catalog-Agent.pptx
nareshkottees
 
PDF
Using AI/ML for Space Biology Research
VICTOR MAESTRE RAMIREZ
 
PDF
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PDF
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
PPTX
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
PDF
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
PPTX
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
PDF
NIS2 Compliance for MSPs: Roadmap, Benefits & Cybersecurity Trends (2025 Guide)
GRC Kompas
 
PDF
apidays Singapore 2025 - Building a Federated Future, Alex Szomora (GSMA)
apidays
 
PDF
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 
apidays Singapore 2025 - From API Intelligence to API Governance by Harsha Ch...
apidays
 
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
apidays Munich 2025 - Building Telco-Aware Apps with Open Gateway APIs, Subhr...
apidays
 
apidays Helsinki & North 2025 - How (not) to run a Graphql Stewardship Group,...
apidays
 
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
OPPOTUS - Malaysias on Malaysia 1Q2025.pdf
Oppotus
 
apidays Singapore 2025 - The API Playbook for AI by Shin Wee Chuang (PAND AI)
apidays
 
apidays Helsinki & North 2025 - API-Powered Journeys: Mobility in an API-Driv...
apidays
 
Listify-Intelligent-Voice-to-Catalog-Agent.pptx
nareshkottees
 
Using AI/ML for Space Biology Research
VICTOR MAESTRE RAMIREZ
 
JavaScript - Good or Bad? Tips for Google Tag Manager
📊 Markus Baersch
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
Context Engineering for AI Agents, approaches, memories.pdf
Tamanna
 
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
NIS2 Compliance for MSPs: Roadmap, Benefits & Cybersecurity Trends (2025 Guide)
GRC Kompas
 
apidays Singapore 2025 - Building a Federated Future, Alex Szomora (GSMA)
apidays
 
OOPs with Java_unit2.pdf. sarthak bookkk
Sarthak964187
 

IBM ODM Rules Compiler support in IBM Streams V4.2.

  • 1. © 2016 IBM Corporation ODM Rules Compiler IBM Streams Version 4.2 Chris Recoskie, Streams Developer [email protected] Ankit Pasricha, Streams Developer [email protected]
  • 2. © 2016 IBM Corporation2 Important Disclaimer THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF: • CREATING ANY WARRANTY OR REPRESENTATION FROM IBM (OR ITS AFFILIATES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS); OR • ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF IBM SOFTWARE. IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
  • 3. © 2016 IBM Corporation3 Background  In Streams 4.1: com.ibm.streams.rules toolkit  ODMRulesetExecutor Java operator  User workflow  Develop rules in the Rule Designer IDE  Export rules to the filesystem or to a DB  Develop your SPL application and configure an instance of ODMRulesetExecutor  Run your SPL application
  • 4. © 2016 IBM Corporation4 Background Input Tuple Input Tuple Ruleset Execution Server ODM Rule Input Parameters ODM Rule Output Parameters Output Tuple
  • 5. © 2016 IBM Corporation5 Background  Issues  Performance issues  Sending data to/from ODM rule execution server is inefficient  Dependency on ODM  ODM must be installed and ODM_HOME must be set  Rule Designer IDE for developing rule projects and rules
  • 6. © 2016 IBM Corporation6 ODM Rules Compiler Rules Compiler Rules Project Generated SPL Composite (one operator per package)
  • 7. © 2016 IBM Corporation7 ODM Rules Compiler Streams Compiler SPL Application Application Bundle
  • 8. © 2016 IBM Corporation8 Demo
  • 9. © 2016 IBM Corporation9 Dynamic Rule updates  Objective: Allow users to update rules used in SPL application WITHOUT restarting their application, but still retain the performance gain of SPL compiled rules  With dynamic updates turned on, the generated composite uses the ODMCompiledRuleset operator, which compiles the rules logic and places the object code in a shared object that can be dynamically hot swapped at runtime  Current ODMRulesetExecutor supports this through the ODM management console Streams Compiler SPL Application Application Bundle Rules logic shared object Rules logic shared object
  • 10. © 2016 IBM Corporation10 Dynamic Rule updates  ODMCompiledRuleset operator contains 1 control port  2 ways to pass new shared object  Path of the new shared object  Blob representing the shared object
  • 11. © 2016 IBM Corporation11 Limitations  Stateless rule support only  Custom Java functions have to be converted manually to SPL  But, the compiler can generate stubs for you to fill out  Dynamic updates  Cannot change ruleset parameters  Cannot add/remove rule packages  But, can add/remove rules within a package
  • 12. © 2016 IBM Corporation12 Performance  Performance gains depend upon the nature of your rules.  Rules with a lot of common code can be optimized more than those that don’t  Contrived “best case” scenarios have ranged from the 39x to 600x speedup range  A more realistic set of telecom fraud detection rules yielded approximately a 6x speedup
  • 13. © 2016 IBM Corporation13 Questions?