Структура и компоненты

  1. Структурная схема
  2. Структура программного обеспечения
  3. Компоненты программного обеспечения
  4. Функциональные части ПК
  5. Функции частей программного обеспечения
  6. Методы и средства разработки программного обеспечения

Структурная схема.

Программный комплекс выполнен по трехуровневой клиент-серверной архитектуре:

  • Клиент – графическая/интерфейсная часть;
  • Сервер приложений – программа, реализующая часть логики;
  • Сервер СУБД – управление данными.

В трехзвенной архитектуре Сервер приложений является промежуточным слоем: для получения данных клиент вызывает функции сервера приложений, а тот отправляет соответствующий запрос на сервер БД или другой сервер приложений, получает данные, обрабатывает их и передает клиенту.

На Web-сервере происходят все необходимые вычисления и подготовка данных для отображения на устройствах клиента через веб браузер.

Для работы комплекса также используются вспомогательные сервисы:

  • Хранение прикрепленных файлов и проверку ЭП осуществляет сервис оправдательных документов.
  • Сервис кэша списков необходим для разгрузки сервера БД.
  • Сервис отчетов используется для организации работы очереди формирования отчетов и разгрузки сервера приложений.

Каждый блок на схеме может быть как виртуальная машина (рекомендуется), так и физическая машина или просто отдельный сервис (не рекомендуется).

image1

Схема и требования примерны. Для более эффективной работы требуется консультация с профессиональным специалистом!


Структура программного обеспечения.

ПК «Бюджет-NEXT» представляет собой сайт, реализованный на ASP.NET. Большая часть расчетов и вычислений производится на сервере БД. Сервер приложений «Бюджет-NEXT» осуществляет обработку данных перед отображением и формирует интерфейсную часть web-страницы.

Работа возможна на серверах:

  • Windows (Server 2012). Необходим установленный IIS и пакет Microsoft .NET Core Windows Server Hosting 6+;
  • Linux (любая сборка из РОПО).

Необходим пакет .NET Core 6+ и веб сервер Kestrel (входит в пакет Core) + Apache или Nginx.


Компоненты программного обеспечения.

image2

Клиентский интерфейс.

При создании клиентской стороны использованы программные стандартные технологии презентационного уровня, средствами 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.