Изменения документа Сервисная архитектура
Редактировал(а) Александра Баруткина 2024/06/27 13:20
От версии 6.1
отредактировано Александра Баруткина
на 2024/03/27 16:16
на 2024/03/27 16:16
Изменить комментарий:
К данной версии нет комментариев
К версии 7.1
отредактировано Александра Баруткина
на 2024/03/27 16:28
на 2024/03/27 16:28
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
-
Вложения (0 изменено, 1 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,2 +1,197 @@ 1 +**Сервисная архитектура** 1 1 3 +{{toc/}} 2 2 5 +((( 6 += 1. Системная архитектура решения = 7 +))) 8 + 9 +== 1.1 Описание сервисов == 10 + 11 +(% class="table-bordered" %) 12 +|(% rowspan="2" %)**№ п/п**|(% rowspan="2" %)**Наименование сервиса**|(% colspan="2" %)**Система и ПО**|(% rowspan="2" %)**Описание** 13 +|**ПО**|**Поставщик** 14 +|1|Сервис точки входа|Nginx|Nginx|Сервис единой точки входа на базе Nginx 15 +|2|Сервис веб приложений|Nginx|Nginx|Сервис веб приложений на базе Nginx 16 +|3|Сервис логирования действий пользователя|Nginx|Nginx|((( 17 +Сервис, реализующий логирование действий 18 + 19 +пользователя на основании запросов, отправляемых им на веб сервер. 20 +))) 21 +|4|Сервис авторизации|Keycloak|Keycloak|Сервис авторизации с поддержкой SSO и различных систем авторизации на базе Keycloak (LDAP, AD и т.д.) 22 +|5|Сервис управления ролями и полномочиями|Java|Goodt|Сервис управления ролями и полномочиями пользователей системы. Настройка доступа к объектам и данным системы. 23 +|6|Сервис конфигурации системы|Java|Goodt|Сервис для конфигурирования системы. 24 +|7|Сервис приложения Ядро системы|Java|Goodt|((( 25 +Сервис оргструктуры и работы с базовыми компонентами системы. 26 + 27 +Любые данные по организационной структуре получаются у данного сервиса. Необходим для работы практически любого сервиса бизнес 28 + 29 +процессов. 30 + 31 +Работа с “тасками” (карточки целей, цели, карточки развития и т.д.), сервисы справочных данных и другие. 32 + 33 +Является логическим центром системы, объединяющим логику выполнения большинства бизнес задач системы. Например, задач, требующих ряд последовательных вызовов различных сервисов с последовательной обработкой результата, 34 + 35 +полученного от каждого из них. 36 +))) 37 +|8|Сервис приложения Опросы|Java|Goodt|Сервис управления и прохождения опросов, включающий в себя работу с каталогами опросов, назначение участников и фиксацию результатов. 38 +|9|Сервис приложения Отчеты|Java|Goodt|Сервис формирования печатных форм. 39 +|10|Сервис приложения Оценка эффективности|Java|Goodt|Сервис оценки эффективности персонала на базе мониторинга основных показателей по процессу управления сотрудниками. 40 +|11|Сервис приложения Менеджер управления сообщениями|Java|Goodt|Сервис управления конфигурациями и правилами отправки сообщений. Формирование и отправка сообщений в каналы брокера сообщений. 41 +|12|Сервис приложения Менеджер отправки сообщений|Java|Goodt|Сервис, осуществляющий передачу сообщений системы их адресатам (пользователям системы). 42 +|13|Сервис приложения Менеджер загрузки файлов|Java|Goodt|Сервис загрузки и хранения файлов, появляющихся в процессе работы системы. 43 +|14|Сервис фоновых процессов|Java|Goodt|Сервис хранения и выполнения фоновых процессов системы. С собственным планировщиком выполнения задач. 44 +|15|Коннектор данных|Java|Goodt|Сервис обработки запросов к витринам. 45 +|16|Фронт приложения Редактор|Nginx|Goodt|Сервис фронтэнд редактора приложений (СУП). Для работы с приложениями и их метаданными. 46 +|17|Сервис приложения Редактор|Java|Goodt|Сервис бэкэнд редактора приложений (СУП). Для работы с приложениями и их метаданными. 47 +|18|Брокер сообщений|Apache Kafka|Apache|Брокер, осуществляющий сбор сообщений в системе на базе Apache Kafka. 48 +|19|Сервис СУБД|PostgreSQL|PostgreSQL|((( 49 +Структурированное хранилище данных на базе PostgreSQL. Обеспечивает данными практически 50 + 51 +любой сервис системы, в том числе витрины данных. 52 +))) 53 +|20|Сервис хранилища S3|S3|Custom|Хранилище данных на базе архитектуры S3. 54 +|21|((( 55 +Сервис приложения 56 + 57 +Интеграционная шина 58 +)))|Java|Goodt|Сервис для получения данных по интеграции. 59 + 60 +== 1.2 Схема соответствия сервисов и баз данных == 61 + 62 +[[image:Сервисная архитектура 20240125-1_84f002e06ef648b0.jpg||height="666" width="724"]] 63 + 64 +== 1.3 Таблица соответствия сервисов и баз данных. == 65 + 66 +(% class="table-bordered" %) 67 +|(% style="width:57px" %)№ **п/п**|(% style="width:592px" %)**Наименование сервиса**|**Схема Базы Данных**|**База Данных** 68 +|(% style="width:57px" %)1|(% style="width:592px" %)Сервис авторизации|public|keycloak 69 +|(% style="width:57px" %)2|(% style="width:592px" %)Сервис управления ролями и полномочиями|public|authority 70 +|3|(% style="width:594px" %)Сервис конфигурации системы|(% style="width:281px" %)configuration|(% style="width:191px" %)rtl 71 +|4|(% style="width:594px" %)Сервис приложения Ядро системы|(% style="width:281px" %)rt_core|(% style="width:191px" %)rtl 72 +|5|(% style="width:594px" %)Сервис приложения Опросы|(% style="width:281px" %)quiz|(% style="width:191px" %)rtl 73 +|6|(% style="width:594px" %)Сервис приложения Отчеты|(% style="width:281px" %)report|(% style="width:191px" %)rtl 74 +|7|(% style="width:594px" %)Сервис приложения Оценка эффективности|(% style="width:281px" %)monitor|(% style="width:191px" %)rtl 75 +|8|(% style="width:594px" %)Сервис приложения Менеджер управления сообщениями|(% style="width:281px" %)notifications|(% style="width:191px" %)rtl 76 +|9|(% style="width:594px" %)Сервис приложения Менеджер отправки сообщений|(% style="width:281px" %)fileupload|(% style="width:191px" %)rtl 77 +|10|(% style="width:594px" %)Сервис приложения Менеджер загрузки файлов|(% style="width:281px" %)kafka_messenger|(% style="width:191px" %)rtl 78 +|11|(% style="width:594px" %)Сервис фоновых процессов|(% style="width:281px" %)public|(% style="width:191px" %)job 79 +|12|(% style="width:594px" %)Коннектор данных|(% style="width:281px" %)public|(% style="width:191px" %)connector 80 +|13|(% style="width:594px" %)Сервис приложения Редактор|(% style="width:281px" %)public|(% style="width:191px" %)supeditor 81 +|14|(% style="width:594px" %)Сервис приложения Интеграционная шина|(% style="width:281px" %)integration|(% style="width:191px" %)rtl 82 + 83 +== 1.4 Схема соответствия сервисов и программного обеспечения == 84 + 85 +[[image:Сервисная архитектура 20240125-1_5e6b2915be2a96ca.jpg||height="782" width="724"]] 86 + 87 +== 1.5 Таблица соответствия сервисов и программного обеспечения == 88 + 89 +(% class="table-bordered" %) 90 +|(% style="width:68px" %)**№ п/п**|(% style="width:705px" %)**Наименование сервиса**|**Программное обеспечение** 91 +|(% style="width:68px" %)1|(% style="width:705px" %)Сервис приложения Ядро системы|S3 92 +|(% style="width:68px" %)2|(% style="width:705px" %)Сервис приложения Менеджер отправки сообщений|Apache Kafka 93 +|(% style="width:68px" %)3|(% style="width:705px" %)Сервис приложения Менеджер загрузки файлов|S3 94 +|(% rowspan="2" style="width:68px" %)4|(% rowspan="2" style="width:705px" %)Сервис фоновых процессов|Apache Kafka 95 +|S3 96 +|(% style="width:68px" %)5|(% style="width:705px" %)Сервис приложения Менеджер управления сообщениями|S3 97 + 98 +== 1.6 Схема соответствия процессов системы и сервисов == 99 + 100 +[[image:Сервисная архитектура 20240125-1_c805e6b7166876b4.jpg||height="801" width="548"]] 101 + 102 +== 1.7 Таблица соответствия процессов системы и сервисов == 103 + 104 +(% class="table-bordered" %) 105 +|**№ п/п**|**Процесс модуля**|**Модуль системы**|**Наименования сервисов** 106 +|1|((( 107 +Профиль 108 + 109 +подразделения 110 +)))|Базовая функциональность|Сервис приложения Ядро системы 111 +|2|Организационная структура|Базовая функциональность|Сервис приложения Ядро системы 112 +|3|Фоновые процессы|Базовая функциональность|Сервис фоновых процессов 113 +|4|Ролевая модель|Базовая функциональность|Сервис управления ролями и полномочиями 114 +|5|Главная страница|Базовая функциональность|Сервис конфигурации системы 115 +|6|Профиль работника|Базовая функциональность|Сервис приложения Ядро системы 116 +|7|Целеполагание V1|Целеполагание|Сервис приложения Ядро системы 117 +|8|Целеполагание V2|Целеполагание|Сервис приложения Ядро системы 118 +|9|Оценка персонала|Оценка|Сервис приложения Ядро системы 119 +|10|Управление компетенциями|Оценка|Сервис приложения Ядро системы 120 +|(% rowspan="2" %)11|(% rowspan="2" %)Аттестация|(% rowspan="2" %)Оценка|Сервис приложения Ядро системы 121 +|Сервис приложения Опросы 122 +|12|((( 123 +Управление 124 + 125 +профилями должностей 126 +)))|Оценка|Сервис приложения Ядро системы 127 +|13|Адаптация|Адаптация|Сервис приложения Ядро системы 128 +|14|((( 129 +Управление 130 + 131 +преемственностью 132 +)))|Карьера и развитие|Сервис приложения Ядро системы 133 +|15|Управление кадровым резервом|Карьера и развитие|Сервис приложения Ядро системы 134 +|(% rowspan="2" %)16|(% rowspan="2" %)Управление ротацией|(% rowspan="2" %)Карьера и развитие|Сервис приложения Ядро системы 135 +|Сервис приложения Опросы 136 +|17|Управление планами развития|Карьера и развитие|Сервис приложения Ядро системы 137 +|(% rowspan="2" %)18|(% rowspan="2" %)Управление карьерным планированием|(% rowspan="2" %)Карьера и развитие|Сервис приложения Ядро системы 138 +|Сервис приложения Опросы 139 +|19|Управление проектным персоналом|Карьера и развитие|Сервис приложения Ядро системы 140 +|20|Рассылка нотификаций|Сервис системных нотификаций|Сервис приложения Менеджер отправки сообщений 141 +|21|Средства аналитики нотификаций|Сервис системных нотификаций|Сервис приложения Менеджер управления сообщениями 142 +|22|Типовые нотификации|Сервис системных нотификаций|Сервис приложения Менеджер управления сообщениями 143 +|23|Оформление нотификаций|Сервис системных нотификаций|Сервис приложения Менеджер управления сообщениями 144 +|24|Подписчики нотификаций|Сервис системных нотификаций|Сервис приложения Менеджер управления сообщениями 145 +|25|Массовые нотификации|Сервис системных нотификаций|Сервис приложения Менеджер управления сообщениями 146 + 147 +== 1.8 Схема взаимодействия между сервисами == 148 + 149 +[[image:Сервисная архитектура 20240125-1_4e153383e5843e66.jpg||height="436" width="723"]] 150 + 151 +== 1.9 Порты и протоколы взаимодействия == 152 + 153 +(% class="table-bordered" style="width:1007px" %) 154 +|(% style="width:72px" %)**№ п/п **|(% style="width:472px" %)**Наименование сервиса**|(% style="width:251px" %)**Имя хоста**|(% style="width:209px" %)**Порты** 155 +|(% style="width:72px" %)1|(% style="width:472px" %)Сервис точки входа|(% style="width:251px" %)[host]-balancer|(% style="width:209px" %)22, 443 156 +|(% style="width:72px" %)2|(% style="width:472px" %)Сервис веб приложений|(% style="width:251px" %)[host]-webserver|(% style="width:209px" %)22, 443 157 +|(% style="width:72px" %)3|(% style="width:472px" %)Сервис логирования действий пользователя|(% style="width:251px" %)[host]-weblog|(% style="width:209px" %)22, 443 158 +|(% style="width:72px" %)4|(% style="width:472px" %)Сервис авторизации|(% style="width:251px" %)[host]-auth|(% style="width:209px" %)22, 9443 159 +|(% style="width:72px" %)5|(% style="width:472px" %)Сервис управления ролями и полномочиями|(% style="width:251px" %)[host]-app-authority|(% style="width:209px" %)22, 8091 160 +|(% style="width:72px" %)6|(% style="width:472px" %)Сервис конфигурации системы|(% style="width:251px" %)[host]-configuration|(% style="width:209px" %)22, 8092 161 +|(% style="width:72px" %)7|(% style="width:472px" %)Сервис приложения Ядро системы|(% style="width:251px" %)[host]-app-rt-core|(% style="width:209px" %)22, 8071 162 +|(% style="width:72px" %)8|(% style="width:472px" %)Сервис приложения Опросы|(% style="width:251px" %)[host]-app-quiz|(% style="width:209px" %)22, 8025 163 +|(% style="width:72px" %)9|(% style="width:472px" %)Сервис приложения Отчеты|(% style="width:251px" %)[host]-app-report|(% style="width:209px" %)22, 8089 164 +|(% style="width:72px" %)10|(% style="width:472px" %)Сервис приложения Оценка эффективности|(% style="width:251px" %)[host]-app-monitor|(% style="width:209px" %)22, 8095 165 +|(% style="width:72px" %)11|(% style="width:472px" %)Сервис приложения Менеджер управления сообщениями|(% style="width:251px" %)[host]-notify|(% style="width:209px" %)22, 8094 166 +|(% style="width:72px" %)12|(% style="width:472px" %)Сервис приложения Менеджер отправки сообщений|(% style="width:251px" %)[host]-app-messenger|(% style="width:209px" %)22, 8030 167 +|(% style="width:72px" %)13|(% style="width:472px" %)Сервис приложения Менеджер загрузки файлов|(% style="width:251px" %)[host]-fileupload|(% style="width:209px" %)22, 8099, 9000, 9090 168 +|(% style="width:72px" %)14|(% style="width:472px" %)Сервис фоновых процессов|(% style="width:251px" %)[host]-job|(% style="width:209px" %)22, 8094 169 +|(% style="width:72px" %)15|(% style="width:472px" %)Коннектор данных|(% style="width:251px" %)[host]-connector|(% style="width:209px" %)22, 4000 170 +|(% style="width:72px" %)16|(% style="width:472px" %)Фронт приложения Редактор|(% style="width:251px" %)[host]-editor-front|(% style="width:209px" %)22, 443 171 +|(% style="width:72px" %)17|(% style="width:472px" %)Сервис приложения Редактор|(% style="width:251px" %)[host]-editor-back|(% style="width:209px" %)22, 8097 172 +|(% style="width:72px" %)18|(% style="width:472px" %)Брокер сообщений|(% style="width:251px" %)[host]-kafka|(% style="width:209px" %)22, 9092 173 +|(% style="width:72px" %)19|(% style="width:472px" %)Сервис СУБД|(% style="width:251px" %)[host]-db|(% style="width:209px" %)22, 5432 174 +|(% style="width:72px" %)20|(% style="width:472px" %)Сервис хранилища S3|(% style="width:251px" %)[host]-s3|(% style="width:209px" %)22, 443 175 +|(% style="width:72px" %)21|(% style="width:472px" %)((( 176 +Сервис приложения 177 + 178 +Интеграционная шина 179 +)))|(% style="width:251px" %)[host]-integration|(% style="width:209px" %)22, 8080 180 + 181 +((( 182 += 2. Взаимодействие с системой авторизации = 183 +))) 184 + 185 +Аутентификация и авторизация пользователей выполняется в KeyCloak с использованием внутреннего логина и пароля пользователя для системы заказчика. 186 + 187 +Пользовательский процесс аутентификации и авторизации: 188 + 189 +1. При переходе без авторизации на защищенную страницу, пользователь переходит на страницу аутентификации Keycloak. 190 +1. Пользователь вводит валидную пару username:password или использует иной провайдер авторизации, доступный на странице аутентификации. 191 +1. После успешной аутентификации пользователь получает JWT ключ авторизации и возвращается на защищенную страницу. 192 +1. Все последующие обращения к страницам или бэкэнд методам производятся с использованием полученного JWT ключа. 193 + 194 +Сервисы приложений получают и расшифровывают JWT ключ пользователя по заложенному в них RSA ключу. Следующим этапом, сервисы опознают инициатора и предоставляют ему информацию в соответствии с его правами доступа. 195 + 196 +Дополнительную информацию о сервисе Keycloak можно получить из официальной документации по ссылке [[__https:~~/~~/www.keycloak.org/documentation__>>url:https://www.keycloak.org/documentation]]. 197 +
- Сервисная архитектура 20240125-1.docx
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.abarutkina - Размер
-
... ... @@ -1,0 +1,1 @@ 1 +249.9 KB - Содержимое