Dynamic Business Rule Engine
Dynamic Business Rule Engine
Parag Chaudhari
Sheetal Kaul
Tushar Humbe
OUTLINE
INTRODUCTION
GOALS
TECHNOLOGY
SYSTEM ARCHITECTURE
BASIC WORKFLOW
ALTERNATIVE SOLUTION
ADVANTAGES
CONCLUSION
INTRODUCTION
PROBLEM IN CURRENT SYSTEM:
Business Rules change over time.
To apply modified rules:
Develop new rule
Shut down servers
Deploy rule
Test rule
Update the system
System is down for 2-4 hours.
Results in loss of business and customer
dissatisfaction
PROPOSED SOLUTION
Design plug in into existing system
No need to shut down server
Storing rules in Rule Engine
Change in the rule is made on fly
Administrator performs desired changes at run time
Loss associated due to server shut down is thus
eliminated
GOALS
Functional goals
User authentication
Add/modify/delete rules
Technological goals
Easy of maintenance in case of application redeployment.
File security.
Quality Goals
Pluggable with the existing software.
TECHNOLOGY
TECHNOLOGY VERSION
ECLIPSE 3.4+
JAVA SDK 5+
IBATIS 2.3.4
STRUTS 1.1
GROOVY 1.6
JUNIT 4.4+
CORE COMPNENTS
GROOVY RULE ENGINE
To store rules in the form of scripts and manage rule
scripts related functionality
IBATIS
To manage database connectivity framework
STRUTS
To follow MVC architecture
SYSTEM ARCHITECTURE
System architecture of rule engine supports Service
Oriented Architecture(SOA)
Model frequently changing business logic
Agile solutions achieved related to business
Separate business logic from application logic
Rule engine basic principle: Its all about conditions
and actions called in certain order
INTERFACE
DBR System receives and accepts the specifications
and parameters from a target system and reads and
processes the inputs which are stored in the
repository component through the business rules
builder component.
The system creates and constructs a specific-domain
DBR engine based on the target system's parameters
at the end.
Statements in the DBR's format and are semantically
specified regarding the target system.
BASIC WORKFLOW
USE CASE-:ADD RULE
DELETE RULE
MODIFY RULE
ALTERNATE SOLUTIONS
Instead of saving rule in rule engine, store it in
database in the form of individual scripts
Process Engines : allow you to graphically describe
steps in a process - those steps can also involve
decision point which are in themselves a simple rule.
Data-driven systems: control tables that store meta-
data that changes your applications behaviour
ADVANTAGES
Declarative Programming
Logic and Data Separation
Speed and Scalability
Centralization of Knowledge
Tool Integration
Explanation Facility
Understandable Rules
CONCLUSION
Business Rules: logic that are captured by business/system
analyst, and put into application program code by
programmers.
Major problems: Traditional systems development
methodologies tend to create applications that are "Black
Boxes", whose inner workings are often unknowable, and
which are difficult to change.
Tools and techniques are being developed for capturing rule
definitions. In this project we are building the system which
based on rule engine which keeps all the business rule
altogether for specific business domain in our case its banking