DROOLS

From OasisSoftTech.com - Knowledge Base/Java/Springframework/Microservices/Cloud-AWS/AI
Revision as of 10:59, 30 May 2018 by Rasimsen (talk | contribs)
Jump to: navigation, search

Drools - Introduction

Any Java enterprise level application can be split into three parts:

  • UI – User Interface (Frontend)
  • Service layer which is in turn connected to a database
  • Business layer

We have a number of frameworks that handle the UI and service layer together, for example, Spring and Struts. Yet, we did not have a standard way to handle the business logic until Drools came into existence.

What is Drools?

Drools is a Business Logic integration Platform (BLiP). It is written in Java. It is an open source project that is backed by JBoss and Red Hat, Inc. It extends and implements the Rete Pattern matching algorithm.

In layman’s terms, Drools is a collection of tools that allow us to separate and reason over logic and data found within business processes. The two important keywords we need to notice are Logic and Data.

Drools is split into two main parts: Authoring and Runtime.

  • Authoring: Authoring process involves the creation of Rules files (.DRL files).
  • Runtime: It involves the creation of working memory and handling the activation.

What is a Rule Engine?

Drools is Rule Engine or a Production Rule System that uses the rule-based approach to implement and Expert System. Expert Systems are knowledge-based systems that use knowledge representation to process acquired knowledge into a knowledge base that can be used for reasoning.

A Production Rule System is Turing complete with a focus on knowledge representation to express propositional and first-order logic in a concise, non-ambiguous and declarative manner.

The brain of a Production Rules System is an Inference Engine that can scale to a large number of rules and facts. The Inference Engine matches facts and data against Production Rules – also called Productions or just Rules – to infer conclusions which result in actions.

A Production Rule is a two-part structure that uses first-order logic for reasoning over knowledge representation. A business rule engine is a software system that executes one or more business rules in a runtime production environment.

A Rule Engine allows you to define “What to Do” and not “How to do it.”


What is a Rule?

Rules are pieces of knowledge often expressed as, "When some conditions occur, then do some tasks."

<source>When

   <Condition is true>

Then

   <Take desired Action><source>

The most important part of a Rule is its when part. If the when part is satisfied, the then part is triggered.

<source>rule <rule_name>

     <attribute> <value>
     
     when
        <conditions>
     
     then
        <actions>

end<source>



Drools Quick Start : https://www.tutorialspoint.com/drools/drools_quick_guide.htm Drools comprahensive document: https://docs.jboss.org/drools/release/5.4.0.Final/droolsjbpm-introduction-docs/html_single/

DROOLS link : http://www.drools.org/

DROOLS - eClipse tutorial : https://www.youtube.com/watch?v=POVe4QY_9p8