jboss drools and drools fusion (cep): making business rules react to rte
TRANSCRIPT
JBoss Drools and Drools Fusion (CEP): Making Business Rules react to RTE
Tihomir Surdilovic [email protected], a Division of Red Hat
Agenda
Project (Drools) vs. Product (BRMS)
Drools Vision
Drools History
Drools at a glance
Expert
Guvnor
JBPM5
Focus on Drools Fusion (CEP Extensions)
Event Declaration and Semantics
Event Cloud, Streams and the Session Clock
Temporal Reasoning
Sliding Window Support
Streams Support
Memory Management
Questions & Answers
Project vs. Product
Drools
Grid
Drools
Planner
Drools
Semantics
Drools
Chance Business Logic integration System
Drools
Guvnor
Drools
Fusion
jBPM5(Drools
Flow)
Drools
Expert
RepositoryRules and MetadataJBoss Enterprise BRMS Platform
JBoss RulesRules Engine/ Execution
Rules Development & Management
CEPComplex Events
Jboss EWP
Project vs. Product Cont.
derived Stand-alone Framework
Innovation
Fast and Frequent Releases
Tested on developer environments
Suitable for development and prototype
No Patches On to next big thing
Non SLA bound forum support
Fully Integrated Platform
Same Innovated Code + Stability
Stability Includes usability, performance and security issues identified during productization
Certified for Multi-OS, Multi-DB
Best for Development and Production
5 Yr lifecycle Includes patches, updates, backward compatibility
SLA based full support from dedicated support engineers
Open Source Assurance legal protection
Jboss community and Enterprise
Changes
Community / Enterprise Platform Delta
BRMS
5.0
5.1
5.1.0 Drools
Enterprise Platforms - Performance, Scalability, Security and
Quality improves over time without
compromising long-term compatibility.
08/0912/1003/1105/11
44 bug fixes
8 perf. enhancements
6 security fixes
3 new features
41 bug fixes
4 security fixes
2 additional certs.
22 bug fixes
11 perf. enhancements
60 additional certs.
4 new features
5.1.05.1.1
Over 150+ defect fixes & 35+ OS/JVM/DB certifications (& counting) between Drools Community 5.1 & JBoss BRMS 5.1.x
150+ bug fixes
5 Security Fixes
5+ perf. enhancements
20+ additional certs.
Post GA Certs
15+ additional certs.
15+ bug fixes
Additional certs
Evolution of Jboss BRMS
Drools Framework05/08 04/09 12/10 ?
?
Lightweight Business Rules Engine
Business Rules Engine
Authoring and Management App
Repository
EAP Certified
DBs, JVMs
Business Rules Engine
Authoring and Management App
Choice of Repository
Integrated Container
CEP Tech Preview
EAP, EWS, EWP, JVMs, Dbs and more
Performance
Repository
JBoss Enterprise BRMS Platform 5.0
JBoss Rules
BRM
Repository
JBoss Enterprise BRMS Platform 5.1
JBoss Rules
BRM
CEP
Jboss EWP
A common platform to model and govern the business logic of the enterprise.
Drools Vision
EventProcessesSemantic
OntologiesWorkflowsRulesDrools Vision Cont.
Rules Workflows
EventProcesses
Semantic
Ontologies
Drools History Business Rule Engines
OPS5ARTClipsJessDrools 2JRules
1980s
2010s
Drools 3
1990s
2000s
Drools 4Drools 5
Drools History
Drools 2Rete like XML Scripting language
Drools 3 Based on Clips functionality
Iterative improves to JRules syntax with Clips functionality
Drools 4More declarative
Basic functional programming feature with from
Basic Rule Flow
Basic BRMS
Drools 5Improved functional programming with 'accumulate'
More Advanced Rule Flow integration
Complex Event ProcessTemporal Comparators
Sliding Time Windows
Production ready BRMS (Guvnor)
Drools History Cont.
Drools 5.1Differential Diff (true modify)
Drools 5.2 (this month, 5.2.0.CR1 available for download)Freeform expressions between patterns
Multi-function accumulates
Prolog like derivation queries
Decision tables and rule templates (Guvnor)
Pure GWT (Guvnor)
Sample Industries and Users
InvestmentMillennium Investment Group (MIG)
LogisticsFedex
AirlineSabre
MortgageFranklin American
HealthcareOSDE
Drools at a glance - Declarative programming
Production Rule Systems PRD (forward chaining)Reactive
when Alarm( status == alert )
then send( warning )
Logic Programming LP (backward chaining)Query
descendant( mary, jane)
Functional Programming FPMap,Fold, Filter
avg([12, 16, 4, 6])Returns single value 9.5
round([10.3, 4.7, 7.8] )Returns List [10, 5, 8]
Description Logic (model concepts, roles, and individuals)Person
Has Name and
lives at Address
Drools Expert at a glance Example A - SQL comparison example
select * from Account acc, Cashflow cf, AccountPeriod apwhere acc.accountNo == cf.accountNo and cf.type == CREDIT cf.date >= ap.start and cf.date = ap.start && = ap.start && = ap.start &&