Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
DROOLS COMMUNITYDROOLS COMMUNITY
WORKSHOPWORKSHOP
November 2015
Mauricio Salatino
http://salaboy.com
@salaboy
AGENDAAGENDA
I N T R O D U C T I O N TO D R O O L SI N T R O D U C T I O N TO D R O O L S
K I E P L AT FO R MK I E P L AT ...
DISCLAIMERDISCLAIMER
COMMUNITY VS PRODUCTCOMMUNITY VS PRODUCT
HTTP://BLOG.ATHICO.COM/2011/04/DROOLS-JBPM-HTTP://BLOG.ATHIC...
ABOUT MYSELFABOUT MYSELF
SENIOR SOFTWARE ENGINEER @ RED HAT / JBOSSSENIOR SOFTWARE ENGINEER @ RED HAT / JBOSS
System Integ...
KIEKIE (DISCLAIMER)(DISCLAIMER)
KNOWLEDGE IS EVERYTH INGKNOWLEDGE IS EVERYTH ING
Umbrella for a set of Projects
Knowledge ...
INTRODUCTION TO DROOLSINTRODUCTION TO DROOLS
H ISTORYH ISTORY
WHAT IS DROO LS?WHAT IS DROO LS?
H OW DO ES IT F IT I N O UR...
HISTORYHISTORY
BEGININ GBEGININ G
2003: Created by Mark Proctor and Bob McWhirter @ Codehaus
2005: Acquired by JBoss
2008:...
HISTORYHISTORY
DROOLS 3.X (2009)DROOLS 3.X (2009)
Build with the Java Ecosystem in mind
First version of the RETE OO Algor...
HISTORYHISTORY
DROOLS 4.X (2011)DROOLS 4.X (2011)
Focused on performance
Focused on real life implementation
Huge adoption...
HISTORYHISTORY
DROOLS 5 .X (201 3)DROOLS 5 .X (201 3)
Focused on integration and unification
Drools Expert
Drools Fusion
Dr...
HISTORYHISTORY
DROOLS 6.X (201 5)DROOLS 6.X (201 5)
Focused on Infrastructure, Deployment and Tooling
KIE Platform definiti...
WHAT IS DROOLS?WHAT IS DROOLS?
RU LE E NGIN E / I NFERENCE ENGINERU LE E NGIN E / I NFERENCE ENGINE
Technically depends on...
RULE ENGINERULE ENGINE
SIMPLE RULESIMPLE RULE
rule “Large Orders require approval”
when
Order(items.size >= 10 &&
total >= 100000)
then
// Trigge...
MATCHING CYCLEMATCHING CYCLE
HOW DOES IT FIT?HOW DOES IT FIT?
... IN O UR IN FRASTRUCTURE ...... IN O UR IN FRASTRUCTURE ...
You choose based on your s...
SIMPLE APPSIMPLE APP
APP + REPOSITORYAPP + REPOSITORY
(MICRO) SERVICE(MICRO) SERVICE
SERVICE + KIE SERVERSERVICE + KIE SERVER
CENTRAL KIE SERVERCENTRAL KIE SERVER
KIE SERVER ASKIE SERVER AS
INTEGRATION HUBINTEGRATION HUB
THE CLOUD AND BEYONDTHE CLOUD AND BEYOND
KIE APISKIE APIS
HI GH LIG HTSHI GH LIG HTS
Packaging
KJAR
kmodule.xml
Runtime
KieContainer
KieBase
KieSession
KIE APISKIE APIS
KIESES SIONKIESES SION
REPRESENTS ONE INSTANCE OF THE RULE ENGINEREPRESENTS ONE INSTANCE OF THE RULE ENGI...
EXAMPLESEXAMPLES
... CHOOSE YOUR OWN ...... CHOOSE YOUR OWN ...
My First Drools Project: Drools + CDI + Test (Arquillian)
...
KIE PLATFORMKIE PLATFORM
PROJECTS/ COMPON ENTSPROJECTS/ COMPON ENTS
Drools Expert
Drools Fusion
OptaPlanner
jBPM
KIE Serve...
KIE WORKBENCHKIE WORKBENCH
ARCHIT ECTUREARCHIT ECTURE
KIE WORKBENCHKIE WORKBENCH
DEMODEMO
ROADMAPROADMAP
COMMUNITYCOMMUNITY
Cloud Deployments (tooling for the Cloud)
Self-Service Applications
Different Vertical's...
COMMUNITYCOMMUNITY
RES OURCESRES OURCES
Official KIE Blog: http://blog.athico.com
Sites: drools.org, jbpm.org, uberfireframe...
twitter.com/salaboy
THANK YOU!THANK YOU!
linkedin.com/u/salaboy
BONUS TRACKBONUS TRACK
PHREAKPHREAK
PHREAK ALGORITHMPHREAK ALGORITHM
RE TE EVO LUTIO NRE TE EVO LUTIO N
SMALLER TITLESMALLER TITLE
PHREAK takes some of the co...
RETE NETWORK EXAMPLERETE NETWORK EXAMPLE
PHREAK SEGMENTSPHREAK SEGMENTS
PARTITIONINGPARTITIONING
Prochain SlideShare
Chargement dans…5
×

Drools Workshop 2015 - LATAM

1 621 vues

Publié le

Here are my slides from the drools workshops in LATAM. For more information visit: http://salaboy.com

Publié dans : Technologie
  • Soyez le premier à commenter

Drools Workshop 2015 - LATAM

  1. 1. DROOLS COMMUNITYDROOLS COMMUNITY WORKSHOPWORKSHOP November 2015 Mauricio Salatino http://salaboy.com @salaboy
  2. 2. AGENDAAGENDA I N T R O D U C T I O N TO D R O O L SI N T R O D U C T I O N TO D R O O L S K I E P L AT FO R MK I E P L AT FO R M D R O O L S F U S I O ND R O O L S F U S I O N R OAD MAPR OAD MAP C O M M U N I T Y T I M E !C O M M U N I T Y T I M E !
  3. 3. DISCLAIMERDISCLAIMER COMMUNITY VS PRODUCTCOMMUNITY VS PRODUCT HTTP://BLOG.ATHICO.COM/2011/04/DROOLS-JBPM-HTTP://BLOG.ATHICO.COM/2011/04/DROOLS-JBPM- COMMUNITY-VERSUS-PRODUCT.HTMLCOMMUNITY-VERSUS-PRODUCT.HTML
  4. 4. ABOUT MYSELFABOUT MYSELF SENIOR SOFTWARE ENGINEER @ RED HAT / JBOSSSENIOR SOFTWARE ENGINEER @ RED HAT / JBOSS System Integrator / App Builder / Tools Dev Author of some books about jBPM & Drools My Blog: http://salaboy.com My twitter: @salaboy Passionate about Drools & jBPM
  5. 5. KIEKIE (DISCLAIMER)(DISCLAIMER) KNOWLEDGE IS EVERYTH INGKNOWLEDGE IS EVERYTH ING Umbrella for a set of Projects Knowledge formalisation, automation & monitoring KIE Api is about all these projects Open the doors for other projects sharing similar approaches
  6. 6. INTRODUCTION TO DROOLSINTRODUCTION TO DROOLS H ISTORYH ISTORY WHAT IS DROO LS?WHAT IS DROO LS? H OW DO ES IT F IT I N O URH OW DO ES IT F IT I N O UR INFRASTRUCTURE?INFRASTRUCTURE? LE T'S WRITE SOM E RULES!LE T'S WRITE SOM E RULES!
  7. 7. HISTORYHISTORY BEGININ GBEGININ G 2003: Created by Mark Proctor and Bob McWhirter @ Codehaus 2005: Acquired by JBoss 2008: Drools 3.x released - Rete OO initial version
  8. 8. HISTORYHISTORY DROOLS 3.X (2009)DROOLS 3.X (2009) Build with the Java Ecosystem in mind First version of the RETE OO Algorithm Big competitor of JESS -> CLIPS port for Java Team size = 3 approx.
  9. 9. HISTORYHISTORY DROOLS 4.X (2011)DROOLS 4.X (2011) Focused on performance Focused on real life implementation Huge adoption in real life scenarios Several Bootcamps around the world World wide community around the project Team size = 7 approx.
  10. 10. HISTORYHISTORY DROOLS 5 .X (201 3)DROOLS 5 .X (201 3) Focused on integration and unification Drools Expert Drools Fusion Drools Flow (jBPM) Unified APIs (first version) Team size = 12 approx.
  11. 11. HISTORYHISTORY DROOLS 6.X (201 5)DROOLS 6.X (201 5) Focused on Infrastructure, Deployment and Tooling KIE Platform definition & initial version Uberfire (GWT / ERRAI) Workbench first version Team size = 27 approx.
  12. 12. WHAT IS DROOLS?WHAT IS DROOLS? RU LE E NGIN E / I NFERENCE ENGINERU LE E NGIN E / I NFERENCE ENGINE Technically depends on your needs Core: lightweight java library that you can embed in your apps Server: standalone server Rule Engine -> Inference Engine Data Driven -> Forward Chaining Goal Driven -> Backward Chaining Nowadays Drools is a Hybrid Engine
  13. 13. RULE ENGINERULE ENGINE
  14. 14. SIMPLE RULESIMPLE RULE rule “Large Orders require approval” when Order(items.size >= 10 && total >= 100000) then // Trigger approval process end
  15. 15. MATCHING CYCLEMATCHING CYCLE
  16. 16. HOW DOES IT FIT?HOW DOES IT FIT? ... IN O UR IN FRASTRUCTURE ...... IN O UR IN FRASTRUCTURE ... You choose based on your scenario Framework approach Server approach Both Hype on MicroServices Deployment / Distribution / Scaling Docker / Kubernetes Openshift Origin
  17. 17. SIMPLE APPSIMPLE APP
  18. 18. APP + REPOSITORYAPP + REPOSITORY
  19. 19. (MICRO) SERVICE(MICRO) SERVICE
  20. 20. SERVICE + KIE SERVERSERVICE + KIE SERVER
  21. 21. CENTRAL KIE SERVERCENTRAL KIE SERVER
  22. 22. KIE SERVER ASKIE SERVER AS INTEGRATION HUBINTEGRATION HUB
  23. 23. THE CLOUD AND BEYONDTHE CLOUD AND BEYOND
  24. 24. KIE APISKIE APIS HI GH LIG HTSHI GH LIG HTS Packaging KJAR kmodule.xml Runtime KieContainer KieBase KieSession
  25. 25. KIE APISKIE APIS KIESES SIONKIESES SION REPRESENTS ONE INSTANCE OF THE RULE ENGINEREPRESENTS ONE INSTANCE OF THE RULE ENGINE Operations FactHandle insert(Object fact); delete(FactHandle handle); update(FactHandle handle, Object fact); fireAllRules() & fireAllRules(int max) getQueryResults(String queryName, Object... arguments)
  26. 26. EXAMPLESEXAMPLES ... CHOOSE YOUR OWN ...... CHOOSE YOUR OWN ... My First Drools Project: Drools + CDI + Test (Arquillian) Drools Rules Examples: some rules examples with different filters and patterns You can analyse these rules using phreak-inspector KIE CI (Continuous Integration) Packing Drools as a MicroService using Wildfly Swarm Drools & Docker Drools Shopping Cart Example: REST endpoint hiding Drools, intermediate rules Drools Fusion CEP example KIE Server & Docker
  27. 27. KIE PLATFORMKIE PLATFORM PROJECTS/ COMPON ENTSPROJECTS/ COMPON ENTS Drools Expert Drools Fusion OptaPlanner jBPM KIE Server Uberfire Workbench KIE Workbench: Drools & jBPM Authoring + Runtime + Monitoring Drools Workbench: Rules Authoring + KIE Server integration OptaPlanner Future
  28. 28. KIE WORKBENCHKIE WORKBENCH ARCHIT ECTUREARCHIT ECTURE
  29. 29. KIE WORKBENCHKIE WORKBENCH DEMODEMO
  30. 30. ROADMAPROADMAP COMMUNITYCOMMUNITY Cloud Deployments (tooling for the Cloud) Self-Service Applications Different Vertical's Packages (Healthcare, Finance, HR, etc) Phreak Optimisations + Tuning API refactoring towards Services Miscellaneous jBPM Modeller Migration to Lienzo GWT(work in progress) Governance revision Migration to microservice architecture Livespark project
  31. 31. COMMUNITYCOMMUNITY RES OURCESRES OURCES Official KIE Blog: http://blog.athico.com Sites: drools.org, jbpm.org, uberfireframework.org Report issues: http://jira.jboss.org -> please with a reproducer Github: github.com/droolsjbpm/ -> feel free to fork and send pull requests If you want to contribute get in touch! IRC: freenode.net #drools #jbpm #uberfire Look for Drools & jBPM books on Amazon
  32. 32. twitter.com/salaboy THANK YOU!THANK YOU! linkedin.com/u/salaboy
  33. 33. BONUS TRACKBONUS TRACK PHREAKPHREAK
  34. 34. PHREAK ALGORITHMPHREAK ALGORITHM RE TE EVO LUTIO NRE TE EVO LUTIO N SMALLER TITLESMALLER TITLE PHREAK takes some of the concepts in the RETE, RETE/UL, LEAPS and Collection Oriented Match to optimise how the evaluations are performed. Some characteristics: The RETE network is still the same (it maintains the same static structure) In runtime PHREAK performs lazy evaluations in contrast with RETE Three levels of memory segments that can be linked/unlinked for splitting evaluations
  35. 35. RETE NETWORK EXAMPLERETE NETWORK EXAMPLE
  36. 36. PHREAK SEGMENTSPHREAK SEGMENTS PARTITIONINGPARTITIONING

×