Software application architecture
AssigneeNasdaq, Inc.
InventorSivakumaresan Thangeswaran
Life of this patent
Estimating the term…
Abstract
The described technology relates to a software application architecture allowing for creation of a web application that has multiple Single Page Applications (SPAs) within the application. The software application architecture includes components that are common to each page of the web application while also having components that are dynamically loaded to cater to specific respective pages within the application. The dynamically loadable components can be identified based on an identifier in a path being browsed using a web browser application. The described application architecture may be used in the context of AngularJS, as well as other SPA technologies and non-SPA technologies.
Claims13
A method, comprising:
- at a client device that includes a processor, a memory, and a network interface device:
- transmitting, to a web server and via the network interface device, a Hypertext Transfer Protocol (HTTP) request message, wherein:
- the HTTP request message indicates a Uniform Resource Locator (URL) for a first single page application (SPA);
- the first SPA is part of a web application that includes multiple SPAs, wherein the multiple SPAs include the first SPA and a second SPA;
- the first SPA comprises a global module that is common to the multiple SPAs, a content module that is common to the multiple SPAs, and a first child module;
- and
- a portion of the URL is a first child module identifier that uniquely identifies the first SPA within the web application;
- receiving, from the web server and via the network interface device, one or more HTTP response messages, wherein the HTTP response messages include code that defines the global module, code that defines the content module, code that defines the first child module, and a first child module configuration object that includes configuration data for the first child module;
- loading the global module and the content module;
- loading, by the content module, the first child module using the first child module configuration object;
- displaying a first user interface for the first SPA, wherein the first user interface includes content defined by the global module;
- transmitting, to the web server, a subsequent HTTP request message that includes a second child module identifier in the URL of the subsequent HTTP request, wherein the second child module identifier uniquely identifies the second SPA within the web application;
- receiving, from the web server, one or more subsequent HTTP response messages, wherein the HTTP response messages include code that defines the global module, code that defines the content module, code that defines the second child module, and a second child module configuration object that includes configuration data for the second child module;
- loading, by the content module, the second child module using the second child module configuration object;
- and
- displaying a second user interface for the second SPA, wherein the second user interface includes the content defined by the global module.
A client device, comprising:
- at least one processor;
- at least one memory;
- and
- at least one network interface device;
- wherein the at least one processor, the at least one memory, and the at least one network interface device are configured to perform actions that include:
- transmitting, to a server, a request message that includes a Uniform Resource Locator (URL), wherein:
- a first single page application (SPA) is hosted at the URL;
- the first SPA is part of a web application that includes multiple SPAs, wherein the multiple SPAs include the first SPA and a second SPA;
- the first SPA includes a global module that is common to the multiple SPAs, a content module that is common to the multiple SPAs, and a first child module that is specific to the first SPA;
- and
- a portion of the URL is a first child module identifier that uniquely identifies the SPA;
- receiving, from the server, one or more response messages, wherein the one or more response message include a first child module configuration object that includes configuration data for the first child module;
- loading, by the content module, the first child module;
- generating a first user interface based on the global module and the first child module;
- displaying the first user interface on a display device;
- transmitting, to the server, a subsequent request message that includes a second child module identifier in the URL of the subsequent request, wherein the second child module identifier identifies the second child module;
- receiving, from the server, one or more subsequent response messages, wherein the response messages include a second child module configuration object that includes configuration data for the second child module;
- loading, by the content module, the second child module;
- generating a second user interface based on the global module and the second child module;
- and
- displaying the second user interface on the display device.
Dependencies are inferred from the claim text.