Layered Architecture Details
Layered Architecture by responsibility
As we previously saw, the MaXX Desktop 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 MaXX Links, a high performance messaging library for inter-process communication.
User Experience & Presentation Components
|5Dwm||Enhanced Motif Window Manager.|
|Toolchest||Desktop Application Menus and Launcher.|
|IconCatalog||Visual and Interactive Application catalog using vector based icons.|
|File Manager - fm||Visual and Interactive File Manager using vector based icons.|
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
|MaXX Launcher||Smart Application and Service Launcher.|
|MaXX Scope||Smart Application and Service Orchestration for multi-core systems with CPU cores affinity & partitioning in mind.|
|MaXX Session||User Desktop Session Manager with snapshot capability.|
|MaXX GPES||General Purpose Execution Service - Centralize and Unified Task Execution Environment.|
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 (MaXX Monitor), file-system accesses(MaXX File Service) and configuration management (MaXX Settings).
Back-end Services Components
|MaXX Settings||System Settings and User Preferences Management Service.|
|MaXX Monitor||Centralized Hardware and Application monitoring with metric aggregation.|
|MaXX File Service||High Performance and Multi-threaded File System Service.|
updated - 2021-01-19
Work in progress...