Drools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos

Mauricio (Salaboy) Salatino
Mauricio (Salaboy) SalatinoPrincipal Software Engineer at LearnK8s
 
                               
Drools5 Community Training
      Sponsored by Plugtree
Module 5: Drools BLiP
Architectural Overview
   Drools5 Community Training
      version: 1.0-SNAPSHOT
     Release Date: 03/16/2011
Under The Creative Common License
Module 5: Drools BLiP
 Architectural Overview
 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/.
Agenda


● Drools Overview
● Core Components
   ○ Drools Main Modules
● Possible Architectures
● Demos
Drools Overview


● It was born as an Inference Engine
● More functionality was added on top of it
● A Platform was created to create applications
● The declarative approach provided helps us to share the
  knowledge with non technical roles
● A Knowledge Driven Development Approach was proposed
  to build applications on top of the platform
The Drools Project


● Open Source
● Apache Licensed
● Free to use
● Innovative approach
● Community Support
Drools Overview

● Drools Expert (Rule Engine)

● Drools Flow == jBPM5

● Drools Fusion

● Drools Guvnor
Drools Overview
Drools Expert


● Drools Expert
   ○ Contains the Inference Engine
   ○ Pure Java
   ○ Provides a language to write declarative rules
   ○ Provides the APIs to interact with it
   ○ Environmental Agnostic (JSE, JEE, Spring)
   ○ Lightweight
jBPM5 == Drools Flow


● jBPM5 == Drools Flow
    ○ Provides Business Process Management features
    ○ Runs on top of the Rule Engine
    ○ Enable us with dynamic and declarative capabilities to
      create smarter processes
Drools Fusion


● Drools Fusion
   ○ Enables the notion of time to the Rule Engine
   ○ Let us define our meaningful events in our domain
   ○ Defines 13 temporal operators to correlate and aggregate
     stream of events
   ○ It operates in near real-time allowing us to react on
     immediately to an ongoing situation
   ○ Takes advantage of the inference capabilities of the Rule
     Engine
Drools Guvnor


● Drools Guvnor
   ○ Its a centralized Knowledge Repository
   ○ Allow us to store and manage our business knowledge
   ○ Tag, Categorize and Version our knowledge assets
   ○ Provides some UIs to manage our knowledge assets
Drools Artifacts


● Drools Artifacts
   ○ Lightweight Java Library
   ○ Gives us the flexibility to use it no matter the
     environment
   ○ Allows us to define the best architecture for each specific
     situation
Drools Architectural Goals


● Drools was designed and conceived for:
   ○ Express business knowledge declaratively
   ○ Integrate different solutions/applications using a
     declarative approach
   ○ To provide an unified and knowledge driven
     development approach
   ○ To provide a link of communication between business
     people and technical people
   ○ To be non-intrusive
Alternative Architectures


● Drools Alternative Architectures
   ○ Embedded
   ○ As a Service
Embedded


● Drools Embedded Architecture
Embedded -> Centralized Knowledge


● Drools Embedded Architecture, centralized Knowledge
As A Service (Centralized)


● Drools As A Service (Centralized) Architecture
As A Service (Centralized)


● Drools As A Service (Centralized) Architecture
Stateful vs Stateless Services


● Stateful vs Stateless Services
   ○ You need to define the nature of your problems
   ○ Stateless situations are easy to manage
       ■ Replicate services in different nodes becomes trivial
       ■ Caches for data access can be used
   ○ Stateful situations give us more rich set of features
       ■ Require session data replication in different nodes
       ■ We need to analyze what happen if a session breaks
         and how it affects to the overall application
Stateful Knowledge Services


● Stateful Knowledge Services
   ○ Enable us to have long running execution
   ○ We will be able to maintain contextual information to
     work on
   ○ The inference process will much more richer
   ○ Business Processes can run without any problem
   ○ Events require a stateful environment to work
   ○ We need to use some kind of persistence mechanism if
     we want to have fault tolerance
Stateful Knowledge Services with Events


● Stateful Knowledge Services with Events
Demos


● Demos
   ○ Emergency Service Application
   ○ Dynamic Content Selection PoC
Emergency Service Application


● Emergency Service Application
   ○ Simulate a real world situation
   ○ Demonstrate the advantages of using business processes,
     business rules and event processing all together
   ○ Download and Play:
      ■ https://github.com/Salaboy/emergency-service-
        drools-app
Emergency Service Application
Dynamic Content Selection


● Dynamic Content Selection Application
   ○ Proof of Concept to show Drools features
   ○ Demonstrate the information that we can capture from
     the user interaction with different visual components
   ○ Demonstrate how we can create a simple to enable non
     technical roles to define/validate what the application
     needs to do in different situations
   ○ Demonstrate how we can react on different identified
     situations
   ○ Download and Test:
       ■ https://github.com/Salaboy/smart-content-selection
Dynamic Content Selection
Dynamic Content Selection


● Dynamic Content Selection Application
   ○ Drools will keep track of the status of our visual
     components for each use
   ○ Drools will be listening events that will be generated
     during the user interaction
   ○ Temporal rules will be defined to correlate the streams of
     events generated by one or multiple users
Dynamic Content Selection



● Events Correlation for a Single User
   ○ Behavioral Event Stream
      ■ Navigation Events
      ■ Browsing Events
      ■ Component Interaction Events
   ○ Shopping Cart Event Stream
Dynamic Content Selection



● Events Correlation for a Multiple Users
   ○ Trends Analysis
      ■ More than X users selecting interacting with a
        Product in the last 2 minutes
      ■ More than X users with similar products in their
        shopping carts
      ■ More than X searches for a specific topic
Dynamic Content Selection


● Behavioral Event Stream
   ○ Page Navigation Events
      ■ Links Clicks, Search Events
   ○ Browsing Information Events
      ■ Analyzing a component information (Focus,
        Scrolling, Resizing, etc)
      ■ Multi Focus Analysis (selection patterns)
   ○ Component Interaction Events
      ■ Changing the component state (submitting a form,
        select a value that changes the state of the
        component)
Dynamic Content Selection


● Shopping Cart Event Stream
   ○ Add Product To Cart
   ○ Remove Product From Cart
   ○ Checkout Products
   ○ Empty Cart
Dynamic Content Selection


● Use Cases for Single User
   ○ Single Focus Interest Period
      ■ Offer Discount
   ○ Multi Focus / Pattern Selection
      ■ Related Product Suggestion
   ○ Abandoned Shopping Cart
      ■ Warning
   ○ Checkout Shopping Cart Quickly
      ■ Related Product Offer
Dynamic Content Selection


● Single Focus Interest Period
   ○ Offer Discount
Dynamic Content Selection


● Multi Focus / Pattern Selection
   ○ Related Product Suggestion
Dynamic Content Selection


● Abandoned Shopping Cart
   ○ Warning
Dynamic Content Selection


● Checkout Shopping Cart Quickly
   ○ 10% Discount Voucher for future shops
Related Links


● You can find more information, examples, tutorials and
  more in:
   ○ Salaboy Blog
      ■ http://salaboy.wordpress.com
   ○ Esteban Blog
      ■ http://ilesteban.wordpress.com
   ○ Plug Tree Blog
      ■ http://www.plugtree.com
 
              
Questions?
Enjoy! Questions and Feedback are
always appreciated!
 
                     
    Contact us at
www.plugtree.com
1 of 41

Recommended

JBoss Drools - Open-Source Business Logic Platform by
JBoss Drools - Open-Source Business Logic PlatformJBoss Drools - Open-Source Business Logic Platform
JBoss Drools - Open-Source Business Logic Platformelliando dias
4.3K views41 slides
Drools Workshop 2015 - LATAM by
Drools Workshop 2015 - LATAMDrools Workshop 2015 - LATAM
Drools Workshop 2015 - LATAMMauricio (Salaboy) Salatino
1.9K views36 slides
Drools by
DroolsDrools
DroolsJohn Paulett
10K views27 slides
Cork JUG - Drools basics & pitfalls by
Cork JUG - Drools basics & pitfallsCork JUG - Drools basics & pitfalls
Cork JUG - Drools basics & pitfallsMauricio (Salaboy) Salatino
2.8K views18 slides
Getting Started With #Drools 6 Slides - JBUG Denmark by
Getting Started With #Drools 6 Slides - JBUG DenmarkGetting Started With #Drools 6 Slides - JBUG Denmark
Getting Started With #Drools 6 Slides - JBUG DenmarkMauricio (Salaboy) Salatino
1.6K views20 slides
Rule Engine & Drools by
Rule Engine & DroolsRule Engine & Drools
Rule Engine & DroolsSandip Jadhav
33.5K views30 slides

More Related Content

Viewers also liked

Open source and business rules by
Open source and business rulesOpen source and business rules
Open source and business rulesGeoffrey De Smet
1.2K views35 slides
FOSS in the Enterprise by
FOSS in the EnterpriseFOSS in the Enterprise
FOSS in the EnterpriseCrishantha Nanayakkara
1.4K views53 slides
Jboss drools 4 scope - benefits, shortfalls by
Jboss drools   4 scope - benefits, shortfalls Jboss drools   4 scope - benefits, shortfalls
Jboss drools 4 scope - benefits, shortfalls Zoran Hristov
2.9K views13 slides
Drools & jBPM Workshop London 2013 by
Drools & jBPM Workshop London 2013Drools & jBPM Workshop London 2013
Drools & jBPM Workshop London 2013Mauricio (Salaboy) Salatino
7.2K views50 slides
Drools BeJUG 2010 by
Drools BeJUG 2010Drools BeJUG 2010
Drools BeJUG 2010Geoffrey De Smet
3K views107 slides
Apache Beam (incubating) by
Apache Beam (incubating)Apache Beam (incubating)
Apache Beam (incubating)Apache Apex
762 views74 slides

Viewers also liked(20)

Jboss drools 4 scope - benefits, shortfalls by Zoran Hristov
Jboss drools   4 scope - benefits, shortfalls Jboss drools   4 scope - benefits, shortfalls
Jboss drools 4 scope - benefits, shortfalls
Zoran Hristov2.9K views
Apache Beam (incubating) by Apache Apex
Apache Beam (incubating)Apache Beam (incubating)
Apache Beam (incubating)
Apache Apex762 views
Drools & jBPM Info Sheet by Mark Proctor
Drools & jBPM Info SheetDrools & jBPM Info Sheet
Drools & jBPM Info Sheet
Mark Proctor5.9K views
Intro to Drools - St Louis Gateway JUG by Ray Ploski
Intro to Drools - St Louis Gateway JUGIntro to Drools - St Louis Gateway JUG
Intro to Drools - St Louis Gateway JUG
Ray Ploski1.3K views
Rules Programming tutorial by Srinath Perera
Rules Programming tutorialRules Programming tutorial
Rules Programming tutorial
Srinath Perera22.1K views
Scio - A Scala API for Google Cloud Dataflow & Apache Beam by Neville Li
Scio - A Scala API for Google Cloud Dataflow & Apache BeamScio - A Scala API for Google Cloud Dataflow & Apache Beam
Scio - A Scala API for Google Cloud Dataflow & Apache Beam
Neville Li5.7K views
Apache Beam @ GCPUG.TW Flink.TW 20161006 by Randy Huang
Apache Beam @ GCPUG.TW Flink.TW 20161006Apache Beam @ GCPUG.TW Flink.TW 20161006
Apache Beam @ GCPUG.TW Flink.TW 20161006
Randy Huang366 views
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016 by Sergio Fernández
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Introduction to Apache Beam (incubating) - DataCamp Salzburg - 7 dec 2016
Sergio Fernández1.1K views
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel... by Dan Halperin
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Dan Halperin1.4K views
Extending the Yahoo Streaming Benchmark + MapR Benchmarks by Jamie Grier
Extending the Yahoo Streaming Benchmark + MapR BenchmarksExtending the Yahoo Streaming Benchmark + MapR Benchmarks
Extending the Yahoo Streaming Benchmark + MapR Benchmarks
Jamie Grier4.8K views
Stream data from Apache Kafka for processing with Apache Apex by Apache Apex
Stream data from Apache Kafka for processing with Apache ApexStream data from Apache Kafka for processing with Apache Apex
Stream data from Apache Kafka for processing with Apache Apex
Apache Apex830 views
JBoss Drools - Pure Java Rule Engine by Anil Allewar
JBoss Drools - Pure Java Rule EngineJBoss Drools - Pure Java Rule Engine
JBoss Drools - Pure Java Rule Engine
Anil Allewar19.3K views
Drools and jBPM 6 Overview by Mark Proctor
Drools and jBPM 6 OverviewDrools and jBPM 6 Overview
Drools and jBPM 6 Overview
Mark Proctor20.1K views
Drools 6 deep dive by Mario Fusco
Drools 6 deep diveDrools 6 deep dive
Drools 6 deep dive
Mario Fusco8.6K views

Similar to Drools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos

Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H... by
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...Data Con LA
291 views19 slides
Blockade.io : One Click Browser Defense by
Blockade.io : One Click Browser DefenseBlockade.io : One Click Browser Defense
Blockade.io : One Click Browser DefenseRiskIQ, Inc.
405 views28 slides
Prototyping Workshop - Wireframes, Mockups, Prototypes by
Prototyping Workshop - Wireframes, Mockups, PrototypesPrototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, PrototypesMarta Soncodi
3.6K views66 slides
Easy Microservices with JHipster - Devoxx BE 2017 by
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Deepu K Sasidharan
2.9K views75 slides
Devoxx Belgium 2017 - easy microservices with JHipster by
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterJulien Dubois
4.7K views75 slides
The Final Frontier, Automating Dynamic Security Testing by
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingMatt Tesauro
195 views33 slides

Similar to Drools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos(20)

Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H... by Data Con LA
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Data Con LA 2018 - Enabling real-time exploration and analytics at scale at H...
Data Con LA291 views
Blockade.io : One Click Browser Defense by RiskIQ, Inc.
Blockade.io : One Click Browser DefenseBlockade.io : One Click Browser Defense
Blockade.io : One Click Browser Defense
RiskIQ, Inc.405 views
Prototyping Workshop - Wireframes, Mockups, Prototypes by Marta Soncodi
Prototyping Workshop - Wireframes, Mockups, PrototypesPrototyping Workshop - Wireframes, Mockups, Prototypes
Prototyping Workshop - Wireframes, Mockups, Prototypes
Marta Soncodi3.6K views
Easy Microservices with JHipster - Devoxx BE 2017 by Deepu K Sasidharan
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
Deepu K Sasidharan2.9K views
Devoxx Belgium 2017 - easy microservices with JHipster by Julien Dubois
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
Julien Dubois4.7K views
The Final Frontier, Automating Dynamic Security Testing by Matt Tesauro
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security Testing
Matt Tesauro195 views
How to Write a Winning Session Submission by Docker, Inc
How to Write a Winning Session SubmissionHow to Write a Winning Session Submission
How to Write a Winning Session Submission
Docker, Inc556 views
Tenants for Going at DevSecOps Speed - LASCON 2023 by Matt Tesauro
Tenants for Going at DevSecOps Speed - LASCON 2023Tenants for Going at DevSecOps Speed - LASCON 2023
Tenants for Going at DevSecOps Speed - LASCON 2023
Matt Tesauro55 views
Agile Development Practices May 2017 by Jaroslav Gergic
Agile Development Practices May 2017Agile Development Practices May 2017
Agile Development Practices May 2017
Jaroslav Gergic329 views
Umbraco development across large and distributed teams by Janusz Stabik
Umbraco development across large and distributed teamsUmbraco development across large and distributed teams
Umbraco development across large and distributed teams
Janusz Stabik523 views
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo... by MysoreMuleSoftMeetup
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...
Log4j2 - A deep dive into the logging services in Mulesoft with On-Prem deplo...
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations by Tag1 Consulting, Inc.
Symantec - From Early Drupal Adoption to the Latest Drupal InnovationsSymantec - From Early Drupal Adoption to the Latest Drupal Innovations
Symantec - From Early Drupal Adoption to the Latest Drupal Innovations
The future of CMS @T3UNI 2013 Annecy France by Olivier Dobberkau
The future of CMS @T3UNI 2013 Annecy FranceThe future of CMS @T3UNI 2013 Annecy France
The future of CMS @T3UNI 2013 Annecy France
Olivier Dobberkau1.2K views
(Greach 2015) Decathlon Sport Meeting by Alonso Torres
(Greach 2015) Decathlon Sport Meeting(Greach 2015) Decathlon Sport Meeting
(Greach 2015) Decathlon Sport Meeting
Alonso Torres2.5K views
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar by AgileNetwork
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday KumarAgile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
Agile Gurugram 2016 | Conference | Demystifying DevOps | Uday Kumar
AgileNetwork244 views
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2... by Ravindra Singh
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Ravindra Singh772 views
Multiplier Effect: Case Studies in Distributions for Publishers by Jon Peck
Multiplier Effect: Case Studies in Distributions for PublishersMultiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for Publishers
Jon Peck423 views
DevOps for TYPO3 Teams and Projects by Fedir RYKHTIK
DevOps for TYPO3 Teams and ProjectsDevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
Fedir RYKHTIK1K views

More from Mauricio (Salaboy) Salatino

Devoxx UK - Platforms on top of K8s by
Devoxx UK - Platforms on top of K8sDevoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8sMauricio (Salaboy) Salatino
222 views39 slides
WTF_is_SRE_DeveloperEnabledPlatforms.pdf by
WTF_is_SRE_DeveloperEnabledPlatforms.pdfWTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdfMauricio (Salaboy) Salatino
124 views29 slides
Lessons Learnt from creating platforms on Kubernetes @ Rejekts by
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsMauricio (Salaboy) Salatino
31 views53 slides
Building Developer Experiences for the Cloud .pdf by
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfMauricio (Salaboy) Salatino
37 views28 slides
The Challenges of building Cloud Native Platforms by
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsMauricio (Salaboy) Salatino
698 views31 slides
Functions Working Group Update - August 2022.pdf by
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfMauricio (Salaboy) Salatino
70 views8 slides

More from Mauricio (Salaboy) Salatino(20)

KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering by Mauricio (Salaboy) Salatino
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering

Recently uploaded

Future of AR - Facebook Presentation by
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentationssuserb54b561
15 views27 slides
Design Driven Network Assurance by
Design Driven Network AssuranceDesign Driven Network Assurance
Design Driven Network AssuranceNetwork Automation Forum
15 views42 slides
PRODUCT PRESENTATION.pptx by
PRODUCT PRESENTATION.pptxPRODUCT PRESENTATION.pptx
PRODUCT PRESENTATION.pptxangelicacueva6
15 views1 slide
Vertical User Stories by
Vertical User StoriesVertical User Stories
Vertical User StoriesMoisés Armani Ramírez
14 views16 slides
Voice Logger - Telephony Integration Solution at Aegis by
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at AegisNirmal Sharma
39 views1 slide
Five Things You SHOULD Know About Postman by
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About PostmanPostman
36 views43 slides

Recently uploaded(20)

Future of AR - Facebook Presentation by ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56115 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman36 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely25 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc11 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software280 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10300 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson92 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays17 views

Drools5 Community Training Module 5 Drools BLIP Architectural Overview + Demos

  • 1.     Drools5 Community Training Sponsored by Plugtree
  • 2. Module 5: Drools BLiP Architectural Overview Drools5 Community Training version: 1.0-SNAPSHOT Release Date: 03/16/2011 Under The Creative Common License
  • 3. Module 5: Drools BLiP Architectural Overview 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. Agenda ● Drools Overview ● Core Components ○ Drools Main Modules ● Possible Architectures ● Demos
  • 5. Drools Overview ● It was born as an Inference Engine ● More functionality was added on top of it ● A Platform was created to create applications ● The declarative approach provided helps us to share the knowledge with non technical roles ● A Knowledge Driven Development Approach was proposed to build applications on top of the platform
  • 6. The Drools Project ● Open Source ● Apache Licensed ● Free to use ● Innovative approach ● Community Support
  • 7. Drools Overview ● Drools Expert (Rule Engine) ● Drools Flow == jBPM5 ● Drools Fusion ● Drools Guvnor
  • 9. Drools Expert ● Drools Expert ○ Contains the Inference Engine ○ Pure Java ○ Provides a language to write declarative rules ○ Provides the APIs to interact with it ○ Environmental Agnostic (JSE, JEE, Spring) ○ Lightweight
  • 10. jBPM5 == Drools Flow ● jBPM5 == Drools Flow ○ Provides Business Process Management features ○ Runs on top of the Rule Engine ○ Enable us with dynamic and declarative capabilities to create smarter processes
  • 11. Drools Fusion ● Drools Fusion ○ Enables the notion of time to the Rule Engine ○ Let us define our meaningful events in our domain ○ Defines 13 temporal operators to correlate and aggregate stream of events ○ It operates in near real-time allowing us to react on immediately to an ongoing situation ○ Takes advantage of the inference capabilities of the Rule Engine
  • 12. Drools Guvnor ● Drools Guvnor ○ Its a centralized Knowledge Repository ○ Allow us to store and manage our business knowledge ○ Tag, Categorize and Version our knowledge assets ○ Provides some UIs to manage our knowledge assets
  • 13. Drools Artifacts ● Drools Artifacts ○ Lightweight Java Library ○ Gives us the flexibility to use it no matter the environment ○ Allows us to define the best architecture for each specific situation
  • 14. Drools Architectural Goals ● Drools was designed and conceived for: ○ Express business knowledge declaratively ○ Integrate different solutions/applications using a declarative approach ○ To provide an unified and knowledge driven development approach ○ To provide a link of communication between business people and technical people ○ To be non-intrusive
  • 15. Alternative Architectures ● Drools Alternative Architectures ○ Embedded ○ As a Service
  • 17. Embedded -> Centralized Knowledge ● Drools Embedded Architecture, centralized Knowledge
  • 18. As A Service (Centralized) ● Drools As A Service (Centralized) Architecture
  • 19. As A Service (Centralized) ● Drools As A Service (Centralized) Architecture
  • 20. Stateful vs Stateless Services ● Stateful vs Stateless Services ○ You need to define the nature of your problems ○ Stateless situations are easy to manage ■ Replicate services in different nodes becomes trivial ■ Caches for data access can be used ○ Stateful situations give us more rich set of features ■ Require session data replication in different nodes ■ We need to analyze what happen if a session breaks and how it affects to the overall application
  • 21. Stateful Knowledge Services ● Stateful Knowledge Services ○ Enable us to have long running execution ○ We will be able to maintain contextual information to work on ○ The inference process will much more richer ○ Business Processes can run without any problem ○ Events require a stateful environment to work ○ We need to use some kind of persistence mechanism if we want to have fault tolerance
  • 22. Stateful Knowledge Services with Events ● Stateful Knowledge Services with Events
  • 23. Demos ● Demos ○ Emergency Service Application ○ Dynamic Content Selection PoC
  • 24. Emergency Service Application ● Emergency Service Application ○ Simulate a real world situation ○ Demonstrate the advantages of using business processes, business rules and event processing all together ○ Download and Play: ■ https://github.com/Salaboy/emergency-service- drools-app
  • 26. Dynamic Content Selection ● Dynamic Content Selection Application ○ Proof of Concept to show Drools features ○ Demonstrate the information that we can capture from the user interaction with different visual components ○ Demonstrate how we can create a simple to enable non technical roles to define/validate what the application needs to do in different situations ○ Demonstrate how we can react on different identified situations ○ Download and Test: ■ https://github.com/Salaboy/smart-content-selection
  • 28. Dynamic Content Selection ● Dynamic Content Selection Application ○ Drools will keep track of the status of our visual components for each use ○ Drools will be listening events that will be generated during the user interaction ○ Temporal rules will be defined to correlate the streams of events generated by one or multiple users
  • 29. Dynamic Content Selection ● Events Correlation for a Single User ○ Behavioral Event Stream ■ Navigation Events ■ Browsing Events ■ Component Interaction Events ○ Shopping Cart Event Stream
  • 30. Dynamic Content Selection ● Events Correlation for a Multiple Users ○ Trends Analysis ■ More than X users selecting interacting with a Product in the last 2 minutes ■ More than X users with similar products in their shopping carts ■ More than X searches for a specific topic
  • 31. Dynamic Content Selection ● Behavioral Event Stream ○ Page Navigation Events ■ Links Clicks, Search Events ○ Browsing Information Events ■ Analyzing a component information (Focus, Scrolling, Resizing, etc) ■ Multi Focus Analysis (selection patterns) ○ Component Interaction Events ■ Changing the component state (submitting a form, select a value that changes the state of the component)
  • 32. Dynamic Content Selection ● Shopping Cart Event Stream ○ Add Product To Cart ○ Remove Product From Cart ○ Checkout Products ○ Empty Cart
  • 33. Dynamic Content Selection ● Use Cases for Single User ○ Single Focus Interest Period ■ Offer Discount ○ Multi Focus / Pattern Selection ■ Related Product Suggestion ○ Abandoned Shopping Cart ■ Warning ○ Checkout Shopping Cart Quickly ■ Related Product Offer
  • 34. Dynamic Content Selection ● Single Focus Interest Period ○ Offer Discount
  • 35. Dynamic Content Selection ● Multi Focus / Pattern Selection ○ Related Product Suggestion
  • 36. Dynamic Content Selection ● Abandoned Shopping Cart ○ Warning
  • 37. Dynamic Content Selection ● Checkout Shopping Cart Quickly ○ 10% Discount Voucher for future shops
  • 38. Related Links ● You can find more information, examples, tutorials and more in: ○ Salaboy Blog ■ http://salaboy.wordpress.com ○ Esteban Blog ■ http://ilesteban.wordpress.com ○ Plug Tree Blog ■ http://www.plugtree.com
  • 39.     Questions?
  • 40. Enjoy! Questions and Feedback are always appreciated!
  • 41.     Contact us at www.plugtree.com