Patent ID: 11895553
Assignee: RED HAT, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC H  G | IPC G  H

Claim 6:
7. An apparatus, comprising:
a memory to store state information;
a processing device of a computing device operatively coupled to the memory, the processing device to:
receive, by the computing device from a client device, a set of requests to access a web application comprising a plurality of components, wherein the computing device is different than the client device;
route the set of requests to a set of virtual environments, wherein each component of the web application is located in a respective virtual environment, and wherein each component comprises corresponding sets of graphical features from a library comprising a plurality of graphical features having a visual appearance of the web application, and wherein a first component of the web application comprises a first programming language and a second component of the web application comprises a second programming language that is different from the first programming language;
provide, to the client device, a graphical user interface (GUI) for each component of the web application, the GUI for each component of the web application having a visual appearance of the web application using the corresponding sets of graphical features from the library, wherein the sets of graphical features of the library corresponding to the components of the web application provide a common visual styling for the corresponding components of the web application, the common visual styling comprising one or more of the same fonts, menus, text, color scheme, images, and icons;
receive a request to add a new component to the web application;
generate a new virtual environment that uses a new runtime environment to execute the new component, wherein each virtual environment of the set of virtual environments comprises a virtual machine and the new virtual environment comprises a container, and wherein the container is a proxy component to direct the set of requests to the corresponding components of the web application, and wherein a first virtual environment executing the first component of the web application supports the first programming language and a second virtual environment executing the second component of the web application supports the second programming language and the GUI for the first component and the second component present a common visual appearance for the first component in the first programming language and the second component in the second programming language via the common visual styling of the plurality of graphical features of the library;
store, in the container of the new virtual environment, state information associated with the plurality of components of the web application, wherein the state information comprises information of the web application that is consistent across the plurality of components of the web application and wherein the state information is accessible by each of the plurality of components;
update the state information in view of a first set of interactions between the client device and the first component of the web application and the new virtual environment;
provide the state information to the second component of the web application, wherein the state information comprises first data that is used by the second component for a second set of interactions between the client device and the second component of the web application;
add an additional component to the web application within an additional virtual environment, wherein the additional virtual environment comprises a third programming language different from the first programming language and the second programming language; and
update the container comprising the proxy component to allow the additional component to communicate with each of the other components of the web application, wherein the state information comprises information of the web application that is consistent across the first, second, and additional components of the web application.