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.
Claims1
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 single page application (SPA);
- the SPA is part of a web application that includes multiple SPAs;
- the SPA comprises a global module that is common to the multiple SPAs in the web application and a child module that is specific to the SPA;
- and
- a portion of the URL is a first child module identifier that uniquely identifies the 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:
- Javascript code that defines the global module;
- Javascript code that defines the first child module;
- and
- a first child module configuration object that includes configuration data for the first child module;
- generating a page in the web application by loading the global module and loading the first child module, wherein the loading the first child module includes:
- using the first child module identifier to obtain a reference to the first child module configuration object;
- initializing the first child module;
- and
- configuring the first child module based on the first child module configuration object;
- 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;
- receiving, from the web server, one or more subsequent HTTP response messages, wherein the HTTP response messages include at least a second child module configuration object that includes configuration data for the second child module;
- and
- updating the page in the web application by loading the second child module, wherein the loading the second child module includes:
- using the second child module identifier to obtain a reference to the second child module configuration object;
- initializing the second child module;
- and
- configuring the second child module based on the second child module configuration object.
Dependencies are inferred from the claim text.