Программный комплекс выполнен по трехуровневой клиент-серверной архитектуре:
В трехзвенной архитектуре Сервер приложений является промежуточным слоем: для получения данных клиент вызывает функции сервера приложений, а тот отправляет соответствующий запрос на сервер БД или другой сервер приложений, получает данные, обрабатывает их и передает клиенту.
На Web-сервере происходят все необходимые вычисления и подготовка данных для отображения на устройствах клиента через веб браузер.
Для работы комплекса также используются вспомогательные сервисы:
Каждый блок на схеме может быть как виртуальная машина (рекомендуется), так и физическая машина или просто отдельный сервис (не рекомендуется).
Схема и требования примерны. Для более эффективной работы требуется консультация с профессиональным специалистом!
ПК «Бюджет-NEXT» представляет собой сайт, реализованный на ASP.NET. Большая часть расчетов и вычислений производится на сервере БД. Сервер приложений «Бюджет-NEXT» осуществляет обработку данных перед отображением и формирует интерфейсную часть web-страницы.
Работа возможна на серверах:
Необходим пакет .NET Core 6+ и веб сервер Kestrel (входит в пакет Core) + Apache или Nginx.
При создании клиентской стороны использованы программные стандартные технологии презентационного уровня, средствами HTML, JavaScript и CSS.
Компоненты системы информационной безопасности реализуют функции управления доступом пользователей к приложению, а также функции идентификации, аутентификации авторизации и защиты обрабатываемых данных. Компоненты системы информационной безопасности обеспечивают аудит действий пользователя. Система информационной безопасности участвует при интеграции с внешними системами.
Система импорта-экспорта в базу данных предназначена для импорта преобразованных в промежуточном хранилище данных в базу данных программного комплекса и обратных процедур.
Единая система справочников и классификаторов обеспечивает информационную совместимость данных, циркулирующих в процессе информационного взаимодействия.
Центральная система хранения, анализа и систематизации оперативных данных обеспечивает централизованное ведение базы данных по электронным документам. За оперативное пополнение базы данных отвечает Система импорта-экспорта в базу данных. Кроме того, центральная система оперативных данных служит централизованным хранилищем данных.
Компоненты администрирования обеспечивают выполнение функций по настройке приложения и адаптации его к конкретным условиям функционирования. Компоненты мониторинга позволяют вести наблюдение за работоспособностью системы и обеспечивать получение заинтересованными лицами информации о сбоях в работе и прочих нештатных ситуациях (включая угрозы и нарушения безопасности). Компоненты логирования обеспечивают накопление информации о работе системы в объеме, достаточном для анализа причин сбоев и прочих нештатных ситуаций. Так же система логирования обеспечивает достаточный объем информации для последующего использования в аналитических системах для подготовки всякого рода отчетности о функционировании операционной системы.
Внутренняя почта представляет собой полнофункциональный почтовый клиент, предоставляющий возможность обмена файлами. Все отправленные и полученные письма, а также прикрепленные к ним файлы и история переписки хранятся в информационной базе. Реализована функция контроля прочтения сообщений.
Функциональные части программного комплекса:
Клиенты совместимы с большинством широко используемых браузеров последних версий - Google Chrome, Firefox, Opera, и т.д. (IE – устарел и не поддерживается!). Локальные данные находятся внутри интернет браузера. Интернет браузер в свою очередь взаимодействует с криптомодулем для подписи. Если подписи нет, то криптомодуль не требуется. Клиенты подключаются к серверу вместе с протоколом http или https, используется протокол ws (поэтому надо аккуратнее с настройками firewall).
Одной из подсистем продукта является Криптомодуль – утилита для осуществления квалифицированной подписи документов и прикрепленных файлов. Криптомодуль является само-обновляемым кроссплатформенным продуктом, не требует квалификации при установке и обслуживании. Устанавливается на клиентских машинах и требует свободный локальный порт 9090 (за пределы машины открывать не нужно). Также в реестре регистрируется протокол передачи данных keysystems.cryptomodule://
ПК «Бюджет-NEXT» взаимодействует с различными сервисами, в том числе и с сервисом оправдательных документов. Для работы с оправдательными (и различными прикрепленными к базе) документами, а также для проверки ЭП документов и файлов, используется «Сервис оправдательных документов» (UploadService). Он может располагаться в любом сегменте сети при условии наличия доступа со стороны клиентских мест по порту, которому развернут (стандартно http - 80 и https - 443 соответственно), т.е. ставится отдельно и возможна установка на другой сервер. Сервис устанавливается на хост с установленным веб-сервером (IIS для Windows, Apache\Nginx для Linux) и криптопровайдером, обеспечивающим работу по алгоритмам ГОСТ РФ.
Для хранения локальных данных у клиентов (для быстрой отображения интерфейса и для кэша) используется LocalStorage и IndexedDB (встроены во все современные браузеры).
Ограниченно используются Cookies для идентификации уникальности клиента и для запоминания имени входа. Необходимо предусмотреть, чтобы данные функции не отключались доменной политикой или настройками антивируса.
Безопасность веб сайта может быть реализована посредством включения SSL средствами сервера, на котором установлено приложение. Также возможна аппаратная реализация защиты канала. Кроме этого, безопасность программного комплекса осуществляется через средства авторизации БД либо сервис AuthenticationService, по выбору администратора комплекса. В требованиях Госкомсвязи обозначено, что для работы в приложениях публичных каналов связи, требуется настройка шифровального протокола связи. Необходимо использовать безопасное подключение в соответствии с Приказом ФСТЭК России от 11.02.13 г.№17.
Обновление Веб-приложения и сервисов осуществляется посредством ПО «Управление сервисами и серверами Кейсистемс», либо прямой перезаписью файлов на сервере из архива, предварительно скаченного с сайта разработчика.
ри проектировании и разработке программного обеспечения предпочтение отдавалось архитектурным решениям и программным продуктам, уже доказавшим свою пригодность при решении подобных задач. Программное обеспечение создано на модульной основе с использованием объектно-ориентированного подхода, позволяющего добавлять/изменять функциональные возможности подсистемы.
Пользовательский интерфейс системы ПК «Бюджет-NEXT» представляет собой набор HTML-страниц с управляющими элементами. Бизнес-логика и хранение данных реализованы на стороне сервера БД. Сервер приложений осуществляет минимальную подготовку данных (разбитие на страницы, сортировку, фильтрацию) и подготовку HTML страниц. В клиентской части в основном реализована логика по отображению интерфейса и обеспечению его интерактивностью, посредством JavaScript. Таким образом, клиентская часть должна быть настроена так, чтобы различные подсистемы не мешали и не блокировали загрузку и выполнение JavaScript. Для хранения данных сессии и обеспечения работы системы лицензирования, используются cookies, LocalStorage, IDB.