Multi-SPA Web Architecture Dynamic Module Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing single-page application (SPA) frameworks face challenges in efficiently managing multiple SPAs within a single web application, particularly in dynamically loading components specific to each page while maintaining common components across all pages.

Innovation Solution

The proposed software application architecture introduces a multiple-SPA web application framework that utilizes a global module and content module shared across all SPAs, with child modules dynamically loaded based on an identifier in the URL path, allowing for efficient management of unique content for each SPA.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a traditional multi-page web application architecture is used, then each page can be independently managed and loaded, but the application requires multiple HTTP requests and page reloads which increases loading time and reduces user experience

Engineering Contradiction:
Improvepage loading speedVSAvoidapplication architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The application is segmented into multiple Single Page Applications (SPAs) that can be independently managed and loaded. Each SPA represents a distinct functional module within the larger web application, allowing selective loading and execution of specific application components without requiring complete page reloads.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The architecture implements dynamic loading of SPA modules based on runtime conditions and user navigation. The system can dynamically determine which SPA to load and execute, switching between different single-page applications without full page reloads, thereby improving loading speed and user experience.

Inventive Principle:
Principle #15Dynamics

2Loss of energy

If multiple SPAs are managed within a single web application, then code reusability and memory efficiency improve, but the complexity of dynamically loading and managing child modules increases

Engineering Contradiction:
Improvememory usageVSAvoidmodule management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system implements a universal parent module structure that can host multiple child SPA modules. This parent module framework provides common functionality and management mechanisms that work across all SPAs, reducing the need for duplicate code and improving memory efficiency through shared resources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The architecture pre-defines the structure and relationships between parent and child modules during application design. Child modules are registered and configured in advance, allowing the system to efficiently load and manage them without complex runtime decisions, thereby reducing management complexity.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If child modules are dynamically loaded based on URL path identifiers, then the application can efficiently route to specific SPAs, but the system must implement complex routing and module identification logic

Engineering Contradiction:
Improveapplication routing efficiencyVSAvoidrouting logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary routing mechanism that translates URL path identifiers into module loading instructions. This intermediary layer handles the complexity of module identification and loading logic, separating it from the core SPA execution, thereby improving routing efficiency while managing complexity through abstraction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12316710B2Software application architecture
Publication Date: 2025.05.27 NASDAQ INC
  • US12316710B2 patent drawing
  • US12316710B2 patent drawing
  • US12316710B2 patent drawing

AI summary

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.