Client-Side Rule Engine for Rich Internet Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional web-based applications with server-side business rule engines are limited by requiring explicit user interactions to trigger rule evaluations, leading to delayed user interface updates and increased server processing loads due to continuous client-server communication for fine-grained user actions.

Innovation Solution

Implementing a client-side business rule engine that compiles and executes business rules and facts, allowing for immediate user interface manipulation and feedback without server communication, using a RETE algorithm for condition analysis and rule execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a server-side business rule engine is used, then business rules can be centralized and securely managed, but user interface updates are delayed and server processing load increases

Engineering Contradiction:
Improvecentralized rule managementVSAvoiduser interface update delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the business rule execution system into server-side components (rule repository, management system) and client-side components (rule engine, fact base). This segmentation allows centralized management of rules while enabling local execution to eliminate update delays. The client-side rule engine independently evaluates rules using local facts without requiring continuous server communication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the rule execution capability from the server and places it on the client. The business rule engine is deployed as a client-side application that can autonomously evaluate rules and manipulate the user interface. This extraction eliminates the bottleneck of server round-trips for every UI update while maintaining centralized rule definition through the repository.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If a server-side business rule engine is used, then security and centralized control are improved, but server processing load increases

Engineering Contradiction:
Improvecentralized controlVSAvoidserver processing load
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts rule evaluation and execution from the server to the client. The client-side rule engine processes business rules locally using facts derived from user interactions, eliminating the need for continuous server processing. The server maintains centralized control through the rule repository but performs minimal processing, only compiling and distributing rules to clients.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The client-side rule engine enables the application to serve itself by autonomously evaluating business rules and updating the user interface without server intervention. The system self-manages rule execution, fact derivation, and UI manipulation, dramatically reducing server processing load while maintaining centralized rule management.

Inventive Principle:
Principle #25Self-service

3Productivity

If explicit user interaction is required to trigger rule evaluation, then server processing is controlled, but fine-grained user actions are not captured

Engineering Contradiction:
Improveserver processing controlVSAvoiduser action detection
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements preliminary action by continuously monitoring user interactions and deriving facts in advance before rule evaluation is needed. The system captures cursor movements, selections, and other fine-grained actions, maintaining a fact base that is ready for immediate rule evaluation. This eliminates the need for explicit trigger requests while maintaining server processing control.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8112377B2Client-side rule engine for executing business rules in rich internet applications
Publication Date: 2012.02.07 SAP SE
  • US8112377B2 patent drawing
  • US8112377B2 patent drawing
  • US8112377B2 patent drawing

AI summary

A client-side business rule engine for executing business rules, at a client, in a rich internet application is disclosed. A set of business rules and a fact base are compiled at a server in accordance with a platform definition model, such that the compiled rules and facts are formatted to conform for use with a business rule engine based on the platform specified in the platform definition model. The business rule engine, embodied in a code module, is served to a requesting web browser application along with a subset of the compiled business rules and facts. At the client, the business rule engine evaluates conditions expressed in the business rules in light of facts received from the server, and facts derived at the client.