SlideShare une entreprise Scribd logo
1  sur  54
 
Les BRMS Business Rules  Management System   Emmanuel Bonnet 15 Juin 2010   JUG Toulouse
Pub
[object Object],[object Object],[object Object],[object Object]
Les BRMS en 5 minutes chrono …
Les règles métiers Les moteurs de règles Le BRMS
Une règle métier Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
Le moteur d’inférence Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine Execute rules with agenda Modify objects BR engine
BRMS ,[object Object],[object Object],[object Object],[object Object],[object Object]
BRMS : what’s in it for me ?
BRMS : Externaliser ,[object Object],[object Object],[object Object],[object Object],[object Object]
Cycle de vie des règles ,[object Object],[object Object],[object Object],Application Règles
BRMS : Expliciter ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BRMS :Gérer ,[object Object],[object Object],[object Object],[object Object],[object Object]
Projets : the Usual Suspects ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tout ce que vous voulez savoir sur  Les règles métiers Les moteurs de règles Les BRMS sans jamais avoir osé le demander …
Tout ce que vous voulez savoir sur … Les règles métiers sans oser le demander
Une règle, c’est quoi? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Le métier, c’est quoi? ,[object Object],[object Object],[object Object],[object Object]
Les règles métier, c’est quoi ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemple Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
Exemple Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
Exemple Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
Mapping ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],arval.fr>
Exemple : JRules Mapping
Règle métier : résumé ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sous le capot ?  (Exemple : Drools)
Le Langage naturel ,[object Object],[object Object],[object Object],[object Object]
Tout ce que vous voulez savoir sur … Les moteurs de règles sans oser le demander
Moteur de règle ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Moteur d’inférence L’ algo  ‘ Red is dead’  Il vaut mieux exécuter  une  fois  une  règle    Il vaut mieux exécuter  mille  fois  une  règle    Il vaut mieux exécuter  une  fois  mille  règles    Il vaut mieux exécuter  mille  fois  mille  règles « Attention, ca va couper « 
La structure (1/3) Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine BR engine
La structure (2/3) Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine Execute rules with agenda Modify objects BR engine
La structure (3/3) Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine BR engine
RETE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Principe du RETE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IF  A.a1 = 1  B.b2 = 2 A.a2 = B.b3 Then R1 (A,B). IF  B.b1 = 2 C.c1 = B.b2 Then R2 (B,C). A a1 a2  B b1 b2  b3  C c1
A B C a1=1 b1=2 a2=b3 R1 (A,B) c1=b2 R2(B,C) B b1 = 2 b2 = 3 b3 = 4 C c1 = 3 A a1 = 1 a2 = 4 B b1 = 2 b2 = 3 b3 = 4
Tout ce que vous voulez savoir sur … Les BRMS sans oser le demander
L’architecture Rules Engine Enter rules Extract rules Deploy rules Software System GUI component Model component Persistency component Rules component Business User IT Architect
Ruleflows (ex : JRules + Drools) ,[object Object]
Différents types de règles (ex : JRules + Drools)
BRMS : intégration ,[object Object],[object Object],[object Object],[object Object],[object Object]
BRMS : outils ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemple de Process
Les BRMS retours d’experiences
Les défis ,[object Object],[object Object],[object Object],[object Object],[object Object]
Les faux problèmes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les anti patterns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Impact sur le projet ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BRMS du marché ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Leaders (1/2) IBM / ILOG JRules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Leaders (2/2) Drools / RedHat JBoss Rules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object]

Contenu connexe

En vedette

Economie du développement soutenable
Economie du développement soutenableEconomie du développement soutenable
Economie du développement soutenable
Pierre Taillant
 
Smart City - Le rôle stratégique des acteurs publics
Smart City - Le rôle stratégique des acteurs publicsSmart City - Le rôle stratégique des acteurs publics
Smart City - Le rôle stratégique des acteurs publics
Jérémie34
 
Introduction au cloud computing
Introduction au cloud computingIntroduction au cloud computing
Introduction au cloud computing
Stéphane Traumat
 
LNG FUEL & DUAL FUEL ENGINE
LNG FUEL & DUAL FUEL ENGINELNG FUEL & DUAL FUEL ENGINE
LNG FUEL & DUAL FUEL ENGINE
Nguyen Tri
 
Testgetriebene Geschäftsprozessmodellierung
Testgetriebene GeschäftsprozessmodellierungTestgetriebene Geschäftsprozessmodellierung
Testgetriebene Geschäftsprozessmodellierung
Zambrovski Simon
 

En vedette (15)

Affinity Engine - Recommandations personnalisées - Offre Affinity Items
Affinity Engine - Recommandations personnalisées - Offre Affinity ItemsAffinity Engine - Recommandations personnalisées - Offre Affinity Items
Affinity Engine - Recommandations personnalisées - Offre Affinity Items
 
Affinity Engine - Recommandations personnalisées - Offre Affinity Items
Affinity Engine - Recommandations personnalisées - Offre Affinity ItemsAffinity Engine - Recommandations personnalisées - Offre Affinity Items
Affinity Engine - Recommandations personnalisées - Offre Affinity Items
 
Economie du développement soutenable
Economie du développement soutenableEconomie du développement soutenable
Economie du développement soutenable
 
Recommandations avec Neo4j et le GraphAware Recommendation Engine
Recommandations avec Neo4j et le GraphAware Recommendation EngineRecommandations avec Neo4j et le GraphAware Recommendation Engine
Recommandations avec Neo4j et le GraphAware Recommendation Engine
 
Smart City - Le rôle stratégique des acteurs publics
Smart City - Le rôle stratégique des acteurs publicsSmart City - Le rôle stratégique des acteurs publics
Smart City - Le rôle stratégique des acteurs publics
 
Introduction au cloud computing
Introduction au cloud computingIntroduction au cloud computing
Introduction au cloud computing
 
Search Engine Optimization
Search Engine Optimization Search Engine Optimization
Search Engine Optimization
 
LNG FUEL & DUAL FUEL ENGINE
LNG FUEL & DUAL FUEL ENGINELNG FUEL & DUAL FUEL ENGINE
LNG FUEL & DUAL FUEL ENGINE
 
Network Meeting - Integration von Camunda mit Liferay
Network Meeting - Integration von Camunda mit LiferayNetwork Meeting - Integration von Camunda mit Liferay
Network Meeting - Integration von Camunda mit Liferay
 
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und JavaJUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
 
Introduction to Oracle Grid Engine
Introduction to Oracle Grid Engine Introduction to Oracle Grid Engine
Introduction to Oracle Grid Engine
 
Slidedeck Datenanalysen auf Speed - Oracle R Enterprise (ORE) Demo - DOAG Big...
Slidedeck Datenanalysen auf Speed - Oracle R Enterprise (ORE) Demo - DOAG Big...Slidedeck Datenanalysen auf Speed - Oracle R Enterprise (ORE) Demo - DOAG Big...
Slidedeck Datenanalysen auf Speed - Oracle R Enterprise (ORE) Demo - DOAG Big...
 
Testgetriebene Geschäftsprozessmodellierung
Testgetriebene GeschäftsprozessmodellierungTestgetriebene Geschäftsprozessmodellierung
Testgetriebene Geschäftsprozessmodellierung
 
WJAX 2012: Dreamteam "BPM + Java EE"
WJAX 2012: Dreamteam "BPM + Java EE"WJAX 2012: Dreamteam "BPM + Java EE"
WJAX 2012: Dreamteam "BPM + Java EE"
 
Ein Prozess lernt laufen: LEGO Mindstorms Steuerung mit BPMN
Ein Prozess lernt laufen: LEGO Mindstorms Steuerung mit BPMNEin Prozess lernt laufen: LEGO Mindstorms Steuerung mit BPMN
Ein Prozess lernt laufen: LEGO Mindstorms Steuerung mit BPMN
 

Similaire à BRMS JUG Toulouse 20100615

Introduction BRMS Paris JUG 20101109
Introduction BRMS Paris JUG 20101109Introduction BRMS Paris JUG 20101109
Introduction BRMS Paris JUG 20101109
Emmanuel Bonnet
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Emmanuel Hugonnet
 
2.presentation merise
2.presentation merise2.presentation merise
2.presentation merise
shaheenyaar
 

Similaire à BRMS JUG Toulouse 20100615 (20)

Introduction BRMS Paris JUG 20101109
Introduction BRMS Paris JUG 20101109Introduction BRMS Paris JUG 20101109
Introduction BRMS Paris JUG 20101109
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
 
X-Rules - FR
X-Rules - FRX-Rules - FR
X-Rules - FR
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
 
Comment accélérer le DevOps avec l’ATDD/BDD?
Comment accélérer le DevOps avec l’ATDD/BDD?Comment accélérer le DevOps avec l’ATDD/BDD?
Comment accélérer le DevOps avec l’ATDD/BDD?
 
Décryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data scienceDécryptage des LLMs au-delà de la hype - Lyon Data science
Décryptage des LLMs au-delà de la hype - Lyon Data science
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)JBoss clustering et tuning (lab 3/3)
JBoss clustering et tuning (lab 3/3)
 
Développement agile de logiciel avec la méthode SCRUM
Développement agile de logiciel avec la méthode SCRUMDéveloppement agile de logiciel avec la méthode SCRUM
Développement agile de logiciel avec la méthode SCRUM
 
20100608 01 - Points de fonctions (Renault)
20100608 01 - Points de fonctions (Renault)20100608 01 - Points de fonctions (Renault)
20100608 01 - Points de fonctions (Renault)
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
devops REX 2018 - Comment la qualité reflète-t-elle nos organisations ?
devops REX 2018 - Comment la qualité reflète-t-elle nos organisations ?devops REX 2018 - Comment la qualité reflète-t-elle nos organisations ?
devops REX 2018 - Comment la qualité reflète-t-elle nos organisations ?
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
 
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...
IBM Bluemix Paris Meetup #24   2017-06-26 - Société Générale testimony  Decis...IBM Bluemix Paris Meetup #24   2017-06-26 - Société Générale testimony  Decis...
IBM Bluemix Paris Meetup #24 2017-06-26 - Société Générale testimony Decis...
 
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
 
BPM Concepts de base
BPM Concepts de baseBPM Concepts de base
BPM Concepts de base
 
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
 
2.presentation merise
2.presentation merise2.presentation merise
2.presentation merise
 

BRMS JUG Toulouse 20100615

  • 1.  
  • 2. Les BRMS Business Rules Management System Emmanuel Bonnet 15 Juin 2010 JUG Toulouse
  • 3. Pub
  • 4.
  • 5. Les BRMS en 5 minutes chrono …
  • 6. Les règles métiers Les moteurs de règles Le BRMS
  • 7. Une règle métier Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
  • 8. Le moteur d’inférence Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine Execute rules with agenda Modify objects BR engine
  • 9.
  • 10. BRMS : what’s in it for me ?
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Tout ce que vous voulez savoir sur Les règles métiers Les moteurs de règles Les BRMS sans jamais avoir osé le demander …
  • 17. Tout ce que vous voulez savoir sur … Les règles métiers sans oser le demander
  • 18.
  • 19.
  • 20.
  • 21. Exemple Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
  • 22. Exemple Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
  • 23. Exemple Si le conducteur n’a pas eu d’accident depuis 3 ans Et le bonus actuel du conducteur est 0.5 Alors appliquer au conducteur une remise de 15% arval.fr>
  • 24.
  • 25. Exemple : JRules Mapping
  • 26.
  • 27. Sous le capot ? (Exemple : Drools)
  • 28.
  • 29. Tout ce que vous voulez savoir sur … Les moteurs de règles sans oser le demander
  • 30.
  • 31. Moteur d’inférence L’ algo ‘ Red is dead’  Il vaut mieux exécuter une fois une règle  Il vaut mieux exécuter mille fois une règle  Il vaut mieux exécuter une fois mille règles  Il vaut mieux exécuter mille fois mille règles « Attention, ca va couper « 
  • 32. La structure (1/3) Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine BR engine
  • 33. La structure (2/3) Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine Execute rules with agenda Modify objects BR engine
  • 34. La structure (3/3) Fact DB Rules DB if then if then if then R1 R2 R3 Inférence engine BR engine
  • 35.
  • 36.
  • 37. IF A.a1 = 1 B.b2 = 2 A.a2 = B.b3 Then R1 (A,B). IF B.b1 = 2 C.c1 = B.b2 Then R2 (B,C). A a1 a2 B b1 b2 b3 C c1
  • 38. A B C a1=1 b1=2 a2=b3 R1 (A,B) c1=b2 R2(B,C) B b1 = 2 b2 = 3 b3 = 4 C c1 = 3 A a1 = 1 a2 = 4 B b1 = 2 b2 = 3 b3 = 4
  • 39. Tout ce que vous voulez savoir sur … Les BRMS sans oser le demander
  • 40. L’architecture Rules Engine Enter rules Extract rules Deploy rules Software System GUI component Model component Persistency component Rules component Business User IT Architect
  • 41.
  • 42. Différents types de règles (ex : JRules + Drools)
  • 43.
  • 44.
  • 46. Les BRMS retours d’experiences
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.