| Description: |
This work is dedicated to the creation of a reliable, extensible, and fault-tolerant presentation-layer network subsystem for a distributed electronic document management (EDM) system. The relevance of the topic is due to the need for EDM adaptation to unstable network conditions, ensuring compatibility between different message versions, and enabling schema evolution without interrupting business processes. The research addressed the following tasks: analyzing the limitations of existing EDM architectures under unreliable transport conditions; studying domestic platforms and protocol-level solutions for document exchange; designing an architecture with dynamic message routing and versioning support; implementing four core modules — metadata assembly, message parsing, format extension, and dispatcher logic; optimizing performance through zero-copy processing, static routing tables, and multithreaded execution; testing modules under simulated network delays, packet loss, and high load conditions. The proposed architecture ensures cross-platform compatibility, flexible scalability, and stable operation in environments with intermittent network connectivity. The project was implemented in C++14 using the Qt 5.15 framework and the Protocol Buffers binary serialization format. Данная работа посвящена созданию надёжной, расширяемой и отказоустойчивой сетевой подсистемы уровня представления для распределённого электронного документооборота. Актуальность темы обусловлена необходимостью адаптации ЭДО к нестабильным сетевым условиям, обеспечению совместимости различных версий сообщений и возможности эволюции схем без остановки бизнес-процессов. Задачи, которые решались в ходе работы: анализ проблематики существующих архитектур ЭДО в условиях ненадёжной транспортной среды; исследование отечественных платформ и протокольных решений в области документооборота; проектирование архитектуры с динамической маршрутизацией и поддержкой версионирования сообщений; реализация четырёх модулей: сборки, разбора, расширения формата и диспетчеризации сообщений; оптимизация производительности за счёт применения zero-copy, статических таблиц маршрутов и многопоточности; тестирование модулей в условиях имитации задержек, потерь и повышенной нагрузки. Архитектура проекта обеспечивает кроссплатформенность, гибкое масштабирование и стабильную работу в условиях нестабильного сетевого соединения. Работа выполнена в среде C++14 с использованием фреймворка Qt 5.15 и бинарного формата сериализации Protocol Buffers. |