IP Library Granted Patent US 11,212,336
Granted Patent B2
US 11,212,336 · App. 16/862,886 · Granted Dec 28, 2021

Systems and/or methods for dynamically configuring and evaluating rules with dynamic and/or user inputs at runtime

Inventors: Yashwanth Kalva (Bangalore, IN); Shiva Chetan K S (Arsikere, IN)
Assignee: SOFTWARE AG
H04L67/02G06F8/40G06F8/41G06F9/44G06F9/44505G06F9/54G06F16/168G06F16/908H04L67/42G06F8/65H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,212,336
App. No.
16/862,886
Granted
Dec 28, 2021
Kind
B2
Abstract

Certain example embodiments relate to web applications. In certain example embodiments, an instance of a web application is executed using a client device. In response to the instance being started up, metadata is retrieved using a service embedded in the application and invoked at a bootstrap hook. The metadata is associated with earmarked programmatic elements in the application. At the client device and using an evaluation service injected into operation of the instance, one or more configured rules are evaluated against input. The rules are definable in relation to the earmarked programmatic elements using the retrieved metadata. They specify behavior of the web application and are dynamically (re)configurable while the instance of the web application is running. The (re)configured rules are dynamically effective without requiring web application redeployment, even if (re)configured while the instance of the web application is running. The instance is controllable responsive to the evaluation.

Claims (41)

1. A method of executing a web application using a client-side client device including at least one processor and a memory operably coupled thereto, the web application being coded to operate in one of a plurality of different modes, a first mode permitting central rule configuration while prohibiting client-side rule configuration, and a second mode permitting client-side rule configuration, the method comprising:

in response to an instance of the web application being started up, retrieving metadata using a computer-executable retrieval service embedded in the web application and invoked at a bootstrap hook, the metadata being associated with earmarked programmatic elements in the web application;

dynamically evaluating, at the client-side client device using an evaluation service embedded in the web application and injected into operation of the instance of the web application, one or more configured rules against input provided in connection with the instance of the web application, the rules being definable in relation to the earmarked programmatic elements using the retrieved metadata, the rules specifying behavior of the web application and being configured in accordance with the mode in which the web application is coded to operate, the rules being both dynamically configurable and dynamically reconfigurable while the instance of the web application is running and being dynamically effective thereafter in the evaluation without requiring redeployment of the web application, even if (re)configured while the instance of the web application is running; and

controlling the operation of the instance of the web application responsive to the evaluation.

2. The method of claim 1 , wherein the metadata provides path, model, component, and label data for the decorated programmatic element associated therewith.

3. The method of claim 1 , further comprising storing the metadata to the memory provided to the client device.

4. The method of claim 1 , further comprising storing the metadata to a persistent store external to web application.

5. The method of claim 4 , wherein the persistent store is shareable by plural different web applications.

6. The method of claim 5 , wherein the plural different web applications are interoperable with one another.

7. The method of claim 6 , wherein one of the web applications is coded to operate in the first mode and another one of the web applications is coded to operate in the second mode.

8. The method of claim 1 , wherein the earmarked programmatic elements are earmarked at design time prior to deployment of the web application.

9. The method of claim 1 , wherein the rules specifying behavior of the web application are conditioned at least in part on the input.

10. The method of claim 9 , wherein the input comprises user input.

11. The method of claim 9 , wherein the input comprises a value from a database, function, and/or remote API call.

12. The method of claim 1 , wherein a web application context object is used as at least some of the input for the dynamic evaluation.

13. The method of claim 1 , wherein at least some of the rules determine navigation within the instance of the web application.

14. The method of claim 13 , wherein the evaluation service is triggered via hooks inserted at different pages in the web application.

15. The method of claim 1 , further comprising receiving user input reconfiguring one or more of the rules.

16. The method of claim 15 , wherein following the receipt of the user input reconfiguring one of more of the rules, different instances of the web application operating with different client-side client devices function differently in response to the same input.

17. The method of claim 1 , wherein the rules are (re)configurable by an end user of the client device.

18. A non-transitory computer readable storage medium tangibly storing instruction that, when executed by a processor of a client-side client device, execute a web application, the web application being coded to operate in one of a plurality of different modes, a first mode permitting central rule configuration while prohibiting client-side rule configuration, and a second mode permitting client-side rule configuration, the execution of the web application comprising:

in response to an instance of the web application being started up, retrieving metadata using a computer-executable retrieval service embedded in the web application and invoked at a bootstrap hook, the metadata being associated with earmarked programmatic elements in the web application;

dynamically evaluating, at the client-side client device using an evaluation service embedded in the web application and injected into operation of the instance of the web application, one or more configured rules against input provided in connection with the instance of the web application, the rules being definable in relation to the earmarked programmatic elements using the retrieved metadata, the rules specifying behavior of the web application and being configured in accordance with the mode in which the web application is coded to operate, the rules being both dynamically configurable and dynamically reconfigurable while the instance of the web application is running and being dynamically effective thereafter in the evaluation without requiring redeployment of the web application, even if (re)configured while the instance of the web application is running; and

controlling the operation of the instance of the web application responsive to the evaluation.

19. The non-transitory computer readable storage medium of claim 18 , wherein the metadata provides path, model, component, and label data for the decorated programmatic element associated therewith.

20. The non-transitory computer readable storage medium of claim 18 , wherein the metadata is stored to a persistent store external to web application.

21. The non-transitory computer readable storage medium of claim 20 , wherein the persistent store is shareable by plural different web applications.

22. The non-transitory computer readable storage medium of claim 21 , wherein the plural different web applications are interoperable with one another.

23. The non-transitory computer readable storage medium of claim 22 , wherein one of the web applications is coded to operate in the first mode and another one of the web applications is coded to operate in the second mode.

24. The non-transitory computer readable storage medium of claim 18 , wherein the rules specifying behavior of the web application are conditioned at least in part on the input, and

wherein the input comprises a value from a database, function, and/or remote API call.

25. The non-transitory computer readable storage medium of claim 18 , wherein a web application context object is used as at least some of the input for the dynamic evaluation.

26. The non-transitory computer readable storage medium of claim 18 , wherein at least some of the rules determine navigation within the instance of the web application, and

wherein the evaluation service is triggered via hooks inserted at different pages in the web application.

27. The non-transitory computer readable storage medium of claim 18 , wherein user input is received to reconfigure one or more of the rules, and

wherein following the receipt of the user input reconfiguring one of more of the rules, different instances of the web application operating with different client-side client devices function differently in response to the same input.

28. A client-side client device, comprising:

at least one processor and a memory, the at least one processor being configured to execute a web application, the web application being coded to operate in one of a plurality of different modes, a first mode permitting central rule configuration while prohibiting client-side rule configuration, and a second mode permitting client-side rule configuration, wherein

in response to an instance of the web application being started up, metadata is retrieved using a computer-executable retrieval service embedded in the web application and invoked at a bootstrap hook, the metadata being associated with earmarked programmatic elements in the web application;

using an evaluation service embedded in the web application and injected into operation of the instance of the web application, one or more configured rules is/are dynamically evaluated against input provided in connection with the instance of the web application, the rules being definable in relation to the earmarked programmatic elements using the retrieved metadata, the rules specifying behavior of the web application and being configured in accordance with the mode in which the web application is coded to operate, the rules being both dynamically configurable and dynamically reconfigurable while the instance of the web application is running and being dynamically effective thereafter in the evaluation without requiring redeployment of the web application, even if (re)configured while the instance of the web application is running; and

the operation of the instance of the web application is controlled responsive to the evaluation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2024
From: SOFTWARE AG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 069048/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: KALVA, YASHWANTH; K S, SHIVA CHETAN
To: SOFTWARE AG
Reel/Frame 052536/0995 →
Continuity (1)
Related Publication 20210344739A1 · Nov 4, 2021