IP Library Granted Patent US 10,997,269
Granted Patent B1
US 10,997,269 · App. 16/673,052 · Granted May 4, 2021

Using web application components with different web application frameworks in a web application

Inventor: Raphaël Aubert (Montreal, CA)
Assignee: EMC IP Holding Company LLC
G06F16/958G06F11/302G06F11/3051H04L67/02
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 10,997,269
App. No.
16/673,052
Granted
May 4, 2021
Kind
B1
Abstract

A method includes executing a web application that utilizes different web application frameworks, registering web application components of the web application by defining lifecycle triggers for loading the web application components in pages of the web application, and monitoring for the lifecycle triggers on a communication channel. The method also includes detecting a given lifecycle trigger to load a given web application component at a specified location on a given page of the web application, the given page utilizing a first web application framework and the given web application component utilizing a second web application framework. The method further includes loading an instance of the given web application component at the specified location of the given page of the web application, and processing interactions between the instance of the given web application component and the given page of the web application via the communication channel.

Claims (60)

1. A method comprising steps of:

executing a web application, the web application utilizing two or more different web application frameworks;

registering one or more web application components of the web application by defining one or more lifecycle triggers for loading the one or more web application components in one or more pages of the web application;

monitoring for the one or more lifecycle triggers on a communication channel for the web application;

detecting a given one of the lifecycle triggers to load a given one of the one or more web application components at a specified location on a given one of the one or more pages of the web application, wherein the given page of the web application utilizes a first one of the two or more different web application frameworks and the given web application component utilizes a second one of the two or more different web application frameworks;

loading an instance of the given web application component at the specified location of the given page of the web application; and

processing one or more interactions between the instance of the given web application component and the given page of the web application via the communication channel;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 wherein the given web application component comprises at least one of a chart, a table, a plot, a visualization, and a user interface feature for controlling one or more elements of the given web page.

3. The method of claim 1 wherein registering the one or more web application components comprises at least one of bootstrapping and loading a first component provider for the first web application framework and a second component provider for the second application framework.

4. The method of claim 3 wherein:

the first component provider registers one or more lifecycle triggers for one or more web application components that utilize the first web application framework and listens for events on the communication channel corresponding to the one or more lifecycle triggers for the one or more web application components that utilize the first web application framework; and

the second component provider registers one or more lifecycle triggers for one or more web application components that utilize the second web application framework and listens for events on the communication channel corresponding to the one or more lifecycle triggers for the one or more web application components that utilize the second web application framework.

5. The method of claim 1 wherein detecting the given lifecycle trigger comprises detecting a request to display the given page of the web application.

6. The method of claim 5 further comprising, responsive to detecting the request to display the given page of the web application:

publishing a component listing request to the communication channel;

receiving metadata for the registered web application components from the communication channel, the metadata comprising information regarding availability of the registered web application components; and

determining whether the given web application component is available and compatible with the given page of the web application based at least in part on the received metadata.

7. The method of claim 1 wherein detecting the given lifecycle trigger comprises publishing a component request for the given web application component to the communication channel.

8. The method of claim 7 wherein the component request specifies a container for the given web application component, a configuration of the given web application component and one or more listeners for the given web application component.

9. The method of claim 8 wherein loading the instance of the given web application component at the specified location of the given page of the web application comprises:

analyzing the specified configuration of the given web application component in the component request for compatibility;

creating an instance of the given web application component running in the second web application framework;

injecting the instance of the given web application component at the specified location of the given page; and

instantiating the one or more listeners to monitor for events on the communication channel corresponding to defined lifecycle triggers of the given web application component.

10. The method of claim 1 further comprising repeating the detecting, loading and processing steps for one or more additional detected lifecycle triggers for one or more additional web application components.

11. The method of claim 10 wherein the one or more additional web application components utilize the first web application framework.

12. The method of claim 10 wherein the one or more additional web application frameworks utilize a third one of the two or more different web application frameworks.

13. The method of claim 1 wherein registering the one or more web application components further comprises defining one or more lifecycle triggers for unloading the one or more web application components, and further comprising:

detecting a given one of the lifecycle triggers to unload the given web application component; and

removing the instance of the given web application component from the given page of the web application.

14. The method of claim 13 wherein detecting the given lifecycle trigger to unload the given web application component comprises detecting a request to change to another page of the web application.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

executing a web application, the web application utilizing two or more different web application frameworks;

registering one or more web application components of the web application by defining one or more lifecycle triggers for loading the one or more web application components in one or more pages of the web application;

monitoring for the one or more lifecycle triggers on a communication channel for the web application;

detecting a given one of the lifecycle triggers to load a given one of the one or more web application components at a specified location on a given one of the one or more pages of the web application, wherein the given page of the web application utilizes a first one of the two or more different web application frameworks and the given web application component utilizes a second one of the two or more different web application frameworks;

loading an instance of the given web application component at the specified location of the given page of the web application; and

processing one or more interactions between the instance of the given web application component and the given page of the web application via the communication channel.

16. The computer program product of claim 15 wherein detecting the given lifecycle trigger comprises publishing a component request for the given web application component to the communication channel, the component request specifying a container for the given web application component, a configuration of the given web application component and one or more listeners for the given web application component.

17. The computer program product of claim 15 wherein loading the instance of the given web application component at the specified location of the given page of the web application comprises:

analyzing the specified configuration of the given web application component in the component request for compatibility;

creating an instance of the given web application component running in the second web application framework;

injecting the instance of the given web application component at the specified location of the given page; and

instantiating the one or more listeners to monitor for events on the communication channel corresponding to defined lifecycle triggers of the given web application component.

18. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

executing a web application, the web application utilizing two or more different web application frameworks;

registering one or more web application components of the web application by defining one or more lifecycle triggers for loading the one or more web application components in one or more pages of the web application;

monitoring for the one or more lifecycle triggers on a communication channel for the web application;

detecting a given one of the lifecycle triggers to load a given one of the one or more web application components at a specified location on a given one of the one or more pages of the web application, wherein the given page of the web application utilizes a first one of the two or more different web application frameworks and the given web application component utilizes a second one of the two or more different web application frameworks;

loading an instance of the given web application component at the specified location of the given page of the web application; and

processing one or more interactions between the instance of the given web application component and the given page of the web application via the communication channel.

19. The apparatus of claim 18 wherein detecting the given lifecycle trigger comprises publishing a component request for the given web application component to the communication channel, the component request specifying a container for the given web application component, a configuration of the given web application component and one or more listeners for the given web application component.

20. The apparatus of claim 18 wherein loading the instance of the given web application component at the specified location of the given page of the web application comprises:

analyzing the specified configuration of the given web application component in the component request for compatibility;

creating an instance of the given web application component running in the second web application framework;

injecting the instance of the given web application component at the specified location of the given page; and

instantiating the one or more listeners to monitor for events on the communication channel corresponding to defined lifecycle triggers of the given web application component.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2019
From: AUBERT, RAPHAËL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050907/0330 →