Client-Side Rule Engine for Rich Internet Applications
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If a server-side business rule engine is used, then security and centralized control are improved, but server processing load increases
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.
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.
3Productivity
If explicit user interaction is required to trigger rule evaluation, then server processing is controlled, but fine-grained user actions are not captured
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.
Data Source
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.


