A Keynote presentation given at two community days, once in NYC the other DC. It covers the history of how the projects grew over time, the agile practices used by those teams and also the project and product differences. It also highlights some key 7.x aspects, that were not shown in the later conference talks.
30. • Branding
• 100% Open Source
• Product is a branch off community
Project and Product
31. • Branding
• 100% Open Source
• Product is a branch off community
• Sanity through sanitisation
Project and Product
32. • Branding
• 100% Open Source
• Product is a branch off community
• Sanity through sanitisation
• Cross platform and version compatibility
• Fuse, EAP
Project and Product
33. • Branding
• 100% Open Source
• Product is a branch off community
• Sanity through sanitisation
• Cross platform and version compatibility
• 3rd party certifications
• Oracle DB
Project and Product
34. • Branding
• 100% Open Source
• Product is a branch off community
• Sanity through sanitisation
• Cross platform and version compatibility
• 3rd party certifications
• Direct impact on roadmap
Project and Product
35. • Branding
• 100% Open Source
• Product is a branch off community
• Sanity through sanitisation
• Cross platform and version compatibility
• 3rd party certifications
• Direct impact on roadmap
• Community independence
Project and Product
36. • Drools
• Rule Engine
• CEP
KIE - Current Top Level Projects
37. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
KIE - Current Top Level Projects
38. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
• Optaplanner
• Optimisation with Constraint Solving
KIE - Current Top Level Projects
39. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
• Optaplanner
• Optimisation with Constraint Solving
KIE - Current Top Level Projects
40. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
• Optaplanner
• Optimisation with Constraint Solving
KIE - Current Top Level Projects
41. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
• Optaplanner
• Optimisation with Constraint Solving
KIE - Current Top Level Projects
42. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
• Optaplanner
• Optimisation with Constraint Solving
• Workbench / Console
KIE - Current Top Level Projects
43. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
• Optaplanner
• Optimisation with Constraint Solving
• Workbench / Console
• Execution Server
KIE - Current Top Level Projects
44. • Drools
• Rule Engine
• CEP
• jBPM
• Workflow
• Human Tasks
• Optaplanner
• Optimisation with Constraint Solving
• Workbench / Console
• Execution Server
• AppFormer
• Coming Soon
KIE - Current Top Level Projects
45. • UberFire
• Will become AppFormer-Core
KIE - Projects to be renamed / moved
46. • UberFire
• Guvnor
• Terminated
• Merged into other projects
KIE - Projects to be renamed / moved
47. • UberFire
• Guvnor
• DashBuilder
• Moved to AppFormer - Insight
KIE - Projects to be renamed / moved
48. • Cognitive Platform
• e.g. CDSS
KIE AI - Knowledge is Everything
Because not everyone
is as smart as House
49. • Cognitive Platform
• Knowledge Representation and Reasoning (KRR)
• Core AI
KIE AI - Knowledge is Everything
50. • Cognitive Platform
• Knowledge Representation and Reasoning (KRR)
• Hybrid and Integrated Reasoning
• Hybrid - forward, backward, relational,
object graph, defeasible, beliefs
• Integrated - Drools integration with
jBPM, Optaplanner,
Bayesian Networks
KIE AI - Knowledge is Everything
51. • Cognitive Platform
• Knowledge Representation and Reasoning (KRR)
• Hybrid and Integrated Reasoning
• Hybrid - forward, backward, relational,
object graph, defeasible, beliefs
• Integrated - Drools integration with
jBPM, OptaPlanner,
Bayesian Networks
• Coming Soon
• Bayesian Networks
• PMML
• Imperfect Reasoning (fuzzy, probability, certainty factors)
KIE AI - Knowledge is Everything
73. • For entire Table.
• Rows subsuming each other.
• Row redundancy.
• Conflicting rows.
• Unique single hit.
• Missing range (gap analysis) when row contains
• current supports booleans, number and dates.
• other types on way, such as enumerations
• For each row
• Missing actions/conditions
• Redundant actions/conditions
• Conflicting conditions
Supported Validation and Verification
88. • Immutable Data
• Supports revision, if new instance provided
• Partitions the rules
• Propagation queue per partition
• Partitioning for most used class + field
• As long as that field is used in each
pattern for that class. And each constraint
on that field is equality, ‘==‘.
• Round robin rule allocation for all other
rules
• Downsides is all data goes to all partitions.
Only shows an advantage if a partition has
enough match attempts to justify the cost
of parallelising.
Focus on Immutable CEP use cases
90. Unit
unit HouseUnit
rule WhileAlarmOn when
/house/alarm[power == on]
then
drools.guard( new AlarmUnit(persons, c.age) );
end
unit AlarmUnit
rule TurnSprinklerOn when when
/home/alarm[status == ALERT]
s : /rooms/sprinklers[status == OFF]
then
s.sprinkler(ON)
end
rule TurnSprinklerOf when
/home/alarm[status == NORMAL]
s : /rooms/sprinklers[status == ON]
then
s.sprinkler(OFF)
end
public class HouseUnit implements RuleUnit {
private House house;
private DataSource<Room> rooms;
public HouseUnit( House house
DataSource<Room> rooms ) {
this.house = house;
}
. . .
public class AlarmUnit implements RuleUnit {
private House house;
private DataSource<Room> rooms;
public AlarmUnit( House house
DataSource<Room> rooms ) {
this.house = house;
}
. . .