АННОТАЦИЯ 3
Перечень условных обозначений, символов, сокращений, терминов 4
Введение 5
1 Анализ требований 6
1.1 Предназначение системы 6
1.2 Модель предметной области 6
1.3 Обзор компонентов системы 8
1.4 Ролевая модель 9
1.5 Функциональные требования к клиентскому приложению 9
1.5.1 Просмотр информации о заданиях и их выполнениях 9
1.5.2 Управление запусками заданий 10
1.5.3 Управление заданиями и группами 11
1.5.4 Управления скриптами 13
1.5.5 Конфигурация групп доступа 14
1.6 Нефункциональные требования к клиентскому приложению 15
1.7 Разделы клиентского веб-приложения 15
2 Проектирование 17
2.1 Сценарии вариантов использования 17
2.1.1 Создание задания 17
2.1.2 Анализ подходов для создания и редактирования скрипта 20
2.1.3 Добавление скрипта 22
2.1.4 Редактирование скрипта 23
2.1.5 Добавление расписания 25
2.1.6 Валидация задания 28
2.2 Выбор технологий 30
2.2.1 Angular 30
2.2.2 Инструменты реактивной обработки данных 30
2.2.3 NgRx 31
2.2.4 Nx 31
2.2.5 Taiga UI 32
2.2.6 Инструменты тестирования 32
2.3 Взаимодействие с серверной частью 32
2.3.1 Протоколы взаимодействия 32
2.3.2 Авторизация 33
2.3.3 Структура данных 34
2.4 Архитектура клиентского приложения 36
2.4.1 Структура проекта 36
2.4.2 Хранение и распределение данных 39
2.4.3 Организация компонентов 41
3 Реализация 42
3.1 Ограничение доступа 42
3.2 Панель заданий 44
3.3 Редактор кода 46
3.4 Компонент для ввода значения параметра 50
3.5 Добавление параметров 53
3.6 Установка расписания запуска 56
3.7 Выбор подходящего времени запуска 61
3.8 Обновление статусов запусков 63
Заключение 67
Список использованных источников и литературы 68
Приложение А 71
Неотъемлемую часть деятельности современных крупных организаций составляют регулярные процессы, связанные с интеграцией внешних и внутренних систем. К таким процессам, например, относятся согласование данных с партнерами, подтверждение операций на основе полученных реестров , подготовка и передача данных во внешние источники. Ручное выполнение этих действий не только неэффективно, но и сопряжено с вероятностью возникновения ошибок.
В свою очередь, автоматизация подобных процессов неразрывно связана со сложностями, возникающими при описании их типовой логики и выстраивании коммуникаций со смежными системами. В случае отсутствия общего подхода каждая команда вынуждена преодолевать их самостоятельно, что приводит к дублированию усилий и усложнению поддержки разработанных решений.
С целью оптимизации затрат и устранения непрофильной нагрузки с команд была разработана централизованная система, предназначенная для автоматизации повторяющихся процессов. Они представлены в виде отложенных заданий с унифицированной логикой и гибкой настройкой расписания выполнения. В настоящее время система поддерживает более тысячи таких заданий, обеспечивая устойчивость и предсказуемость их работы.
Однако в условиях непрерывного роста количества процессов важным критерием становится удобство управления через общий веб-интерфейс, доступный сотрудникам с разным уровнем технической подготовки и осведомленности о внутреннем устройстве системы.
Таким образом, целью данной работы стала разработка клиентского веб-приложения для системы запуска отложенных заданий.
Для достижения поставленной цели были выделены следующие задачи:
1) провести анализ требований,
2) спроектировать пользовательские сценарии и архитектуру,
3) разработать клиентское веб-приложение.
В результате проделанной работы был проведен анализ требований заказчика, определены и проработаны ключевые пользовательские сценарии, спроектировано и реализовано клиентское веб-приложение для системы запуска отложенных заданий. Рисунки А1-А4 обзорно иллюстрируют некоторые разделы итогового приложения.
На каждом этапе от проектирования до реализации рассматривались архитектурные альтернативы и выбирались наиболее подходящие решения с учетом выявляемых ограничений. Трудности, возникшие в процессе разработки, были успешно преодолены, в том числе благодаря взаимодействию с командой серверной части. Архитектура клиентского приложения спроектирована с учетом предполагаемых расширений для упрощенной поддержки в будущем. Ключевая функциональность покрыта автоматизированными тестами. Также проведено ручное тестирование с участием группы заинтересованных пользователей; обратная связь от них проанализирована и будет учтена при формировании планов по дальнейшему развитию проекта.
На данный момент веб-приложение введено в эксплуатацию для внутреннего использования сотрудниками, причастными к сопровождению процессов в рамках данной системы. Следующим этапом развития проекта станет поддержка сложных сценариев запуска, при которых задания будут выполняются в определенном порядке с учетом зависимостей между ними.