Skip to main content

Layered Architecture Details

◀◀ Top ▶▶

Layered Architecture by responsibility

As we previously saw, the MaXXdesktop layered architecture is divided into three (3) responsibility layers from which a MaXX aware application or service can be built. 

Here are the layers in question with a list of components (applications/services).

User Experience & Presentation

This layer is performing visual-oriented tasks like displaying User Interfaces and/or capturing user's input. Components and/or applications on that layer are communicating with the Desktop Support layer for computation and resources access via MaXXlinks, a high performance messaging  library for inter-process communication.

User Experience & Presentation Components

Component Name
Responsibility
5Dwm  Enhanced Motif Window Manager.
Toolchest Desktop Application Menus and Launcher.
IconCatalog Visual and Interactive Application catalogue using vector based icons.
File Manager - fm Visual and Interactive File Manager using vector based icons.
Desktop Desktop/Workspace manager.
 
Desktop Support

This is layer provides desktop computation support while also providing an abstraction-layer to various Back-end Services, where most of the actions is taking place. 

The exposed computations falls into  the following category:

  • functionally aggregator (composition and proxy design pattern) where a specific Desktop Support functionally is realized by combining one or more Back-end Service.
  • orchestration service that can coordinate the execution of other services/components/tasks.
  • session management keeps track of all application's layout and state, can create and retrieve snapshots of specific moments.
  • application launcher with real-time insights of current computation loads, application settings and preferences.

Desktop Support Components

Component Name
Responsibility
MaXXlauncher  Smart Application and Service Launcher.
MaXXscope Smart Application and Service Orchestration for multi-core systems with CPU cores affinity & partitioning in mind.
MaXXsession User Desktop Session Manager with snapshot capability.
MaXXgpes General Purpose Execution Service - Centralize and Unified Task Execution Environment.
 
Back-end Services

This layer is where low-level system work is performed. For better security, this layer can only communicate with components/services from the Desktop Support layer.  Among the functionalities exposed by this layer are: hardware and application monitoring (MaXXmonitor), file-system accesses(MaXXfileservice) and configuration management (MaXXsettings).

Back-end Services Components

Component Name
Responsibility
MaXXsettings  System Settings and User Preferences Management Service.
MaXXmonitor Centralized Hardware and Application monitoring with metric aggregation.
MaXXfileservice High Performance and Multi-threaded File System Service.

 

updated - 2021-06-23

Work in progress...

 

◀◀ Top ▶▶