Drools5 Community Training Module#1: Drools5 BLiP Introduction
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Drools5 Community Training Module#1: Drools5 BLiP Introduction






Total Views
Views on SlideShare
Embed Views



9 Embeds 1,597

http://salaboy.com 1303
http://salaboy.wordpress.com 269
http://www.linkedin.com 9
http://srvpsat.gpm.int 9
http://translate.googleusercontent.com 3
http://static.slideshare.net 1
http://www.slideshare.net 1
https://twitter.com 1
https://www.google.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Drools5 Community Training Module#1: Drools5 BLiP Introduction Presentation Transcript

  • 1.    Drools5 Community Training Sponsored by Plugtree
  • 2. Module 1: Drools BLiPTheoretical Introduction Drools5 Community Training version: 1.0-SNAPSHOT Release Date: 03/16/2011Under The Creative Common License
  • 3. Module 1: Drools BLiPTheoretical Introduction Drools5 Community Training Course by Mauricio "Salaboy" Salatino and Esteban Aliverti is licensed under a Creative Commons Attribution 3.0 Unported License.Based on a work at salaboy.wordpress. com. Permissions beyond the scope of this license may be available at http: //salaboy.wordpress.com/.
  • 4. OverviewTheoretical BackgroundDrools Business Logic Integration Platform Introduction Drools Expert jBPM5 / Drools Flow Drools Fusion Drools Guvnor
  • 5. Theoretical BackgroundArtificial Intelligence Expert Systems Knowledge Engineering Inference Engines Rules Based Production SystemsDrools History
  • 6. Artificial Intelligence (AI) "The study and design of intelligent agents."An intelligent agent is a system that perceives its environmentand takes actions which maximize its chances of success.The ability of a machine to perform tasks that require humanintelligence.
  • 7. Expert Systems"An expert system is software that attempts to provide ananswer to a problem where normally one or more humanexperts would be consulted." In the begining was replace and now its assist Software that knows about a specific domain It can solve/answer specific questions
  • 8. Expert SystemsCommon Uses of Expert Systems+ Medicine -> Diagnosis based on patient symptoms+ Field Analysis -> Evaluation of geographical regions (Petrol Prospecting)+ Mortgages and Loans -> Used for risk evaluation (scoring)
  • 9. Knowledge Engineering"Knowledge engineering" is the art and science ofobserving human experts to build models of their expertise thatthey can validate.
  • 10. Inference Engines"An inference engine is a computer program that tries toderive answers from a knowledge base. It is the "brain" thatexpert systems use to reason to formulate new conclusions for acertain situation."
  • 11. Inference EnginesAn inference engine will be in charge of using the formalizedknowledge from our expert to answer questions for a specificsituation.
  • 12. Production SystemsA production system (or production rule system) aresoftware that are composed of a set of rules about behavior.These rules are a simple and basic representation ofknowledge.A production system provides the mechanism to executeactions (behavior) in order to achieve some goal for the system.
  • 13. RuleIf / When / Where / On ConditionsThen / Do Actions
  • 14. Chaining StrategiesMethods of Reasoning in Inference Engines Backward Chaining: goal-driven -> Prolog Forward Chaining: data-driven -> Drools
  • 15. Chaining Strategies ExampleScenario:Pet (name == "Fritz", behavior =="croaks")Question: What is the color of my Pet?Rules / Knowledge:1) When Pet(behavior == "croaks") Then Pet.type = "Frog"2) When Pet(behavior == "sings") Then Pet.type = "Canary"3) When Pet(type == "Frog") Then Pet.color = "green"4) When Pet(type == "Canary") Then Pet.color = "yellow"
  • 16. Backward Chaining
  • 17. Forward Chaining
  • 18. Full Picture
  • 19. Some characteristicsOutput answers will contain the justificationThese kinds of systems are created to support large amountsof knowledge to solve complex situationsThe knowledge can be: Expressed by Domain Specific users Reused Iteratively improved Maintained decoupled from your application code
  • 20. Drools HistoryThe project was born in 03Mark Proctor in the project leaderBorn as an Inference EngineIt started using the LEAPS algorithm for pattern matchingIn Drools 3.x they implemented RETE algorithmIn Drools 4.x the RETE algorithm was tuned for highperformance
  • 21. Drools 5 BLiPNamed as Business Logic integration Platform (BLiP)Modules: Drools Expert (leader Mark Proctor) jBPM5 / Drools Flow (leader Kris Verlaenen) Drools Fusion (leader Edson Tirelli) Drools Guvnor (leader Toni Rikkola)* There are other experimental modules (Planner, Chance, Gridetc.) that will be not covered here.
  • 22. Drools ExpertThe core of DroolsContains the inference engineUses the RETE algorithm for pattern matchingProvides us with a way to create a knowledge baseProvides us with a simple API to interact with the inferenceengine
  • 23. Business Rule Structurerule "My Rule" <attributes> when <LHS> Person(name == "John") <CEs> then <RHS> System.out.println("Hi John!"); <Actions>end
  • 24. Drools ExpertCommon use cases:+ Validations+ Decision Making+ Scoring+ Games
  • 25. jBPM5Focused on BPMImplements the main stages of the discipline: Model/Design Execute MonitorPretty close to finish BPMN2 implementationUses the same APIs that we use in Drools ExpertFully integrated with the inference engine
  • 26. Business ProcessDefinition:"A sequence of activities, performed by humans or systems to complete a business goal."
  • 27. Business Process ExampleNew Bank Account process:
  • 28. Business Process ManagementIterative/continuous DisciplineFour main stages: Discover Design / Model Execution Monitoring / Improvements / Optimizations
  • 29. jBPM5Common use cases In every company Business Processes are used implicitly or explicitly In every business activity In every non-business situation that defines a logical set of activities that needs to be executed/performed
  • 30. Drools FusionFocused in Complex Event ProcessingTemporal reasoning13 temporal operators (before, after, during, and so on)Enables us to detect complex events (event correlationpatterns)
  • 31. Drools FusionBig Picture
  • 32. Drools FusionTemporal Operators Table
  • 33. Drools FusionCommon use cases: Fraud Detection Stock Trading Hardware monitoring Transport and Logistics Everywhere we need to correlate or aggregate events
  • 34. Drools GuvnorCommonly tagged as a BRMSCentralized Knowledge Repository (JCR)Handles the Knowledge versioning and categorizationNow it includes more User Friendly features like: Guided Rules Authoring Test Cases Creation Rule Constraints Meta-Model Rule Validation and Verification Business Process Modeling
  • 35. Drools GuvnorGuided Editor:
  • 36. Briefing UpCovered Topics: Conceptual background of Drools Project Drools Main Modules Introduction
  • 37.    Questions?
  • 38. Enjoy! Questions and Feedback arealways appreciated!Stay Tuned!
  • 39.     Contact us atwww.plugtree.com