Layered Architecture Details
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
|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.|
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
|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.|
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
|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...