Описание технической архитектуры программного обеспечения «DevLink StateCore»

Настоящий документ содержит описание технической архитектуры программы для ЭВМ «DevLink StateCore», распространяемой также под наименованием npm-пакета «devlink-statecore». Версия программного обеспечения на дату подготовки документа: 1.0.3.

1. Общая характеристика архитектуры

DevLink StateCore представляет собой программную библиотеку для JavaScript/TypeScript-проектов, предназначенную для управления состоянием приложений. Библиотека не является самостоятельным серверным приложением, не содержит графического пользовательского интерфейса, не требует отдельного сервера приложений и не использует собственную систему управления базами данных.

Архитектура ПО является модульной. Основная логика поставляется в составе npm-пакета и подключается в целевое JavaScript/TypeScript-приложение как библиотечный модуль.

2. Основные программные компоненты

  • модуль создания и ведения хранилища состояния приложения;
  • модуль получения и обновления текущего состояния;
  • механизм неизменяемых обновлений данных;
  • механизм вычисляемого состояния на основе текущих данных;
  • middleware-механизм для расширения логики обработки изменений;
  • экспортируемый API библиотеки для подключения в JavaScript/TypeScript-проекты.

3. Технологическая схема работы

Исходный текст библиотеки разрабатывается в виде файлов JavaScript/TypeScript. В процессе подготовки к распространению проект собирается средствами Node.js, npm и инструментов JavaScript/TypeScript-проекта. Результатом сборки является комплект JavaScript-файлов и служебных файлов npm-пакета, пригодных для подключения в целевые приложения.

После установки пакета пользовательское приложение импортирует функции и/или модули библиотеки, создаёт хранилище состояния и использует API DevLink StateCore для чтения, обновления и обработки состояния.

4. Инфраструктурные программные средства

ПараметрОписание для DevLink StateCore
Средства хранения данныхНе используются. Библиотека не содержит собственной постоянной системы хранения данных.
Облачное хранилищеНе используется как обязательный компонент функционирования ПО.
Веб-сервер / балансировщик / прокси-серверНе используется. Библиотека не является веб-серверным приложением.
Программная платформаJavaScript/TypeScript; Node.js и npm используются для сборки, установки и публикации пакета.
ПараметрОписание для DevLink StateCore
Сервер приложенийНе используется. Библиотека подключается в составе целевого приложения.
СУБДНе используется.
РеализацияJavaScript; при наличии уточняющего поля рекомендуется указать Node.js / npm / TypeScript tooling.

5. Развёртывание и использование

ПО распространяется в виде npm-пакета. Для использования библиотека устанавливается в целевой JavaScript/TypeScript-проект средствами npm и подключается в исходном коде приложения. Отдельное развёртывание серверной инфраструктуры, базы данных или веб-сервера для работы самой библиотеки не требуется.

6. Заключение

Техническая архитектура «DevLink StateCore» соответствует библиотечному типу программного обеспечения: программный продукт поставляется в виде модулей JavaScript/TypeScript, подключаемых в целевые приложения, и не требует собственной серверной, облачной или СУБД-инфраструктуры для выполнения основной функциональности.