Automating business rule adaptation for web based information systems
Download
1 / 44

Automating Business Rule Adaptation for Web-Based Information Systems - PowerPoint PPT Presentation


  • 117 Views
  • Uploaded on

Automating Business Rule Adaptation for Web-Based Information Systems. Mei Tian 1 , Ajit Singh 2 , Kumaraswamy Ponnambalam 1 , Raymond Lee 2 1 Systems Design Engineering, University of Waterloo 2 Electrical and Computer Engineering, University of Waterloo. Presentation Outline.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Automating Business Rule Adaptation for Web-Based Information Systems' - joann


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Automating business rule adaptation for web based information systems
Automating Business Rule Adaptation for Web-Based Information Systems

Mei Tian1, Ajit Singh2,

Kumaraswamy Ponnambalam1, Raymond Lee2

1Systems Design Engineering, University of Waterloo

2 Electrical and Computer Engineering, University of Waterloo


Presentation outline
Presentation Outline

  • Introduction

  • Business Rule Model

  • Implementation

  • Case Study

  • Future Work


Web based information systems

back-end database

client application

business logic middleware

http

JRMP

Web-Based Information Systems

  • Three-Tier architecture


What are business rules
What Are Business Rules?

  • Formal statements about the data and

  • processes of an enterprise

  • Presented as program logic in enterprise

  • application


Business rule examples
Business Rule Examples

  • If a customer buys product worth more than $100 in an order, he will get a 10% discount.

  • If the product in warehouse is less than 5, reorder this product.

  • Shipping fee is $20 for each order.


Why automation
Why Automation

  • Business rules change quickly

  • Business rules are often embedded with the

  • data access and application logic

  • To speed up the application development

  • To reduce maintenance cost


Research subareas
Research Subareas

  • Business rule representation

  • Business rule extraction

  • Business rule management

  • Business rule processing


Research background
Research Background

  • Business rules representation

Users,analyzers Structured English, etc.

External

Designer, developer BRML, etc.

Conceptual

Internal

Physical machine Binary code


Research background1
Research Background

  • Business rule extraction

    • Data analyzing

    • Programming analyzing

    • Hybrid


Research background2
Research Background

  • Business rule management

    • Repository-based method

    • artificial Intelligence


Research background3
Research Background

  • Business rules processing

    • Procedural programming

    • SQL trigger

    • Declarative programming

    • Constraint programming


Challenges
Challenges

  • No standard business rule model

  • No distributed business rule framework

  • Difficult to define a flexible rule interface

  • How to find the rule firing order without an inference engine


Assumptions
Assumptions

  • Rules have been found somehow

  • Rules are correct with no conflict and redundancy

  • Target to small/middle size information systems

  • Not use artificial intelligence


Solution strategies 1
Solution Strategies (1)

  • A general business rule model

  • A rule system and a distributed business

  • rule framework


Solution strategies 2
Solution Strategies (2)

  • A EJB design pattern and the bean

  • relationship information

  • Rule dependency graph, rule-firing-

  • history, and rule label


Business rule model
Business Rule Model

BusinessRuleSet

name: String

effective:Date

expiration:Date

1

*

*

ApplicationRuleSet

ShareRuleSet

BusinessRule

Organization

Model

*

1

appName:String

setName:String

source:String

name: String

ruleType: String

priority: String

triggeredClass: String

triggerMethod: String

triggerLocation: String

implementor: String

description: String

*

Common

Knowledge

Model

Implementer

RuleChecker

*

1

*

1

1

*

ruleName:String

description: String

TermRule

FactRule

ActionRule

DerivationRule

Legend:

*

1

class

Many-to-one association

generalization


Business rule types
Business Rule Types

BusinessRule

name: String

ruleType: String

priority: String

triggeredClass: String

triggerMethod: String

triggerLocation: String

implementor: String

Description: String

TermRule

FactRule

ActionRule

DerivationRule

ValidationRule

Transformation

Rule

InitialDerivation

Rule

SelfDerivation

Rule

IndirectDerivation

Rule

Inference

Rule

Legend:

class

generalization


Term rule
Term Rule

  • Defines the vocabulary of a business

  • Not implemented as a part of an Information

  • System(IS)

  • Example:

  • A telephone line is an asset.


Fact rule
Fact Rule

  • Documents the relationship between items

    • Aggregation, association, generalization

    • belongs to, identified by

  • In an IS, implemented as relationship between classes, entity beans, or tables

  • Example: A student has a student ID.


Action rule
Action Rule

  • States the conditions under which actions

  • must be taken

    • Transformation Rule: Transforms the execution

    • from one event to another

    • Validation Rule: States what kind of value for an

    • attribute is valid


Action rule examples
Action Rule Examples

  • Transformation Rule Example:

  • After a user pays, ship the products and

  • deduct the quantity from product inventory.

  • Validation Rule Example:

  • The product inventory must be greater than zero.


Initialderivation rule
InitialDerivation Rule

  • Describes initialization value of an class attribute.

  • Example:

  • The first customer ID is “1000”


Selfderivation rule
SelfDerivation Rule

  • Describes how an attribute’ value is derived from former instance’s value on the same attribute.

  • Example:

    a new customer ID = max(customerID) + 1


Indirectderivation rule
IndirectDerivation Rule

  • Describes how the value of one attribute is derived by some other attributes through a mathematic formula or inference.

  • Example:

  • invoice total value = product total value

  • + tax value – discount


Rule automation technologies
Rule Automation Technologies

  • Java Technology

    • Ensures portability and vendor independency

  • Enterprise Java Beans

    • Simplifies building of distributed application

  • MS-SQL 6.5 as back-end database


Enterprise java beans
Enterprise Java Beans

  • Server-side component architecture

  • Simplifies building distributed applications

  • Enterprise beans

    • Entity beans

    • Session beans


Rule adaptation automation system
Rule Adaptation Automation System

Rule Adaptation Automation System

Rule Builder

JDBC

Application Server

Rule Repository

EJB Finder

Deploy

HTTP

Rule Engine

Rule Beans

JDBC

EJB Beans Generator


Case maria s computer product store
Case: Maria’s Computer Product Store

  • User authentication

  • An Online catalogue and shopping cart

  • Invoice generation

  • Bill Functionality

  • Special price promotion


Mcps business flow
MCPS-Business Flow

New Customer

Invoice

Product List

View Shopping Cart

Check Out

Login

Service List

Rule Execution Feedback

User Profile


Mcps object model business logic tier
MCPS-Object Model (Business Logic Tier)

Account Wrapper

Customer Wrapper

Invoice Wrapper

1

1

1

1

1

1

1

1

1

*

Account

Customer

Invoice

1

1

1

*

ShoppingCart

1

1

Transactions Wrapper

Transactions

1

1

*

1

Product

1

1

Product Wrapper


Rules in mcps 1
Rules in MCPS (1)

  • Validation Rule

    • The account balance must be greater than 0.

  • Transformation Rule

    • After generating an invoice, deduct the user’s

    • account balance by the invoice amount.


Rules in mcps 2
Rules in MCPS (2)

  • InitialDerivation Rule

    • The customer ID for the first customer is 1000.

    • The account ID for the first account is 1000.

    • The invoice ID for the first invoice is 1000.


Rules in mcps 3
Rules in MCPS (3)

  • SelfDerivation Rule

    • A new customer ID is the current maximum

    • customer ID add one.

    • the rule for new account ID

    • the rule for new invoice ID


Rules in mcps 4
Rules in MCPS (4)

  • IndirectDerivation Rule

    • The Shipping fee is $20 for each order.

    • The tax value is 15% of the product total value


Rules in mcps 5
Rules in MCPS (5)

  • IndirectDerivation Rule

    • The invoice total value is the amount of product total value, tax value, and shipping fee.


Rules in mcps 6
Rules in MCPS (6)

  • IndirectDerivation Rule

    • If a customer buys products worth more than $100, he will get a 10% discount.


Case build procedure
Case Build Procedure

Object model

for business

logic tier

Design

Object Model

for

Presentation

tier

Business rules

Develop

Generate beans

Write

ShoppingCart

session bean

Build rules

Arrange

rule sequence

Write Jsp files

Test and

Modification


Mcps architecture technology view
MCPS Architecture(Technology View)

Application Server

UI Logic

JSP

HTTP Request

Java Bean

HTML

WorkStation

Database

Business Logic

Browser

Session bean

Rule Engine

Entity Bean


Metrics analysis

Line Of Code (Loc)

CPS

MCPS

MCPS

(Hand-coded)

Hand-code

Percentage

Java Files

8643

13774

1588

12%

JSP Files

9316

1159

1159

100%

Deployment Files

681

1025

9

0.1%

Other

315

Overall

18955

15958

2756

17%

Metrics Analysis


Raas features 1
RAAS Features (1)

  • 3-tier architecture

  • Automatically triggers the rules at run time

  • Changes the rules without re-deploying the

  • application systems


Raas features 2
RAAS Features (2)

  • Decides rule sequence for IndirectDerivation rules

  • Re-evaluates rules based on changed conditions


Contributions
Contributions

  • Proposed a general and extensible business rule model

  • Explored a component-based distributed business rule framework


Future work
Future Work

  • Enhance the rule model

  • Performance issue

  • Extracting rules from legacy system and specification documents



ad