= Руководство по управлению коннекторами и профилями в шине.
_Профиль(profile)_ - это описание внешней системы в шине.(Например s1).
_Мостовой профиль(bridge-profile)_ - это профиль на другой стороне шины, ведущий через мост в профиль.
(Например s1)
_Коннектор(connector)_ - это связь между интерфейсом, через который может работать система, и профилем.(Например uniform-service, nsi)
_Доступ(permission)_ - это разрешение на взаимодействие двух систем.(Например для того чтобы система s1 смогла отправить сообщение s2)(/permission-management)
_Учетная запись(account)_ - это учетная запись системы для взаимодействия с шиной.
Для каждой системы должна быть учетная запись для возможности отправления сообщений в шину.
Также есть учетные записи для возможности взаимодействия с управленческим слоем(т. е. для того чтобы управлять коннекторами/профилями/учетными записями/топиками нужна учетная запись с соответствующими правами)(/basic-auth-management)
Коннекторы делятся на входящие и исходящие(in, out), которые отвечают за отправку сообщения в определенный интерфейс и на получение ответа из определенного интерфейса соответственно.
Например, для того чтобы иметь возможность отправить сообщение в soap нужно создать коннектор uniform-service-in-connector, а для того чтобы получить сообщение из soap нужно создать коннектор uniform-service-out-connector.
По адресу _/system-management-service_ находится сам сервис управления коннекторами и профилями в шине.
Для работы внешней системы в шине нужно сначала создать профиль данной системы в шине, потом добавлять к нему необходимые коннекторы и пробрасывать его в необходимые шины.
=== Управление профилями
*СreateProfile.*
Для создания профиля системы нужно вызвать метод createProfile, где вместо “system_uuid” нужно подставить uuid системы, вместо “system_name” - имя системы, “description” описание системы:
[source,xml]
----
{{system_uuid}}
{{system_uuid}}
{{description}}
----
Где ответом будет (“true” - если профиль успешно создался, ошибка и ее описание):
[source,xml]
----
true
----
*GetProfile.*
Проверить созданный профиль можно с помощью метода getProfile, где вместо “system_uuid” нужно подставить uuid системы:
[source,xml]
----
{{system_uuid}}
----
Где ответом будет (профиль со всеми зависимостями, либо ошибка и ее описание):
[source,xml]
----
w6
w6
description
2020-01-22+03:00
System
false
ACTIVE
----
*GetProfiles*
Получить список профилей, зарегистрированных в шине, можно с помощью метода getProfiles:
[source,xml]
----
----
Где ответом будет (список профилей со всеми зависимостями, либо ошибка и ее описание):
[source,xml]
----
w6
w6
description
2020-01-22+03:00
System
false
ACTIVE
----
*StopProfile*
Остановить профиль и все его зависимости можно с помощью метода stopProfile, где вместо “system_uuid” нужно подставить uuid системы:
[source,xml]
----
{{system_uuid}}
----
Где ответом будет (“true” - если профиль и его зависимости успешно остановились, ошибка и ее описание):
[source,xml]
----
true
----
*StartProfile*
Запустить профиль и все его зависимости можно с помощью метода startProfile, где вместо “system_uuid” нужно подставить uuid системы:
[source,xml]
----
{{system_uuid}}
----
Где ответом будет (“true” - если профиль успешно запустился, ошибка и ее описание):
[source,xml]
----
true
----
*RemoveProfile*
Удалить профиль и все его зависимости можно с помощью метода removeProfile, где вместо “system_uuid” нужно подставить uuid системы(ВНИМАНИЕ!
При удалении профиля также удаляются все связанные с ним коннекторы):
[source,xml]
----
{{system_uuid}}
----
Где ответом будет (“true” - если профиль и его зависимости успешно удалился, ошибка и ее описание):
[source,xml]
----
true
----
=== Управление коннекторами
*GetTemplates*
Для создания коннектора в шине нужно получить список шаблонов(требуются для создания коннекторов) методом getTemplates:
[source,xml]
----
----
Где ответом будет (список шаблонов с параметрами):
[source,xml]
----
file-out-connector
directionTo
file-to
nsi-in-connector
uniform-service-in-connector
uniform-service-out-connector
isActive
false
queue
soap-root-default
----
*GetTemplate*
Для создания коннектора в шине нужно получить список шаблонов(требуются для создания коннекторов) методом getTemplate, где “template_name” имя шаблона по которому будет сделан коннектор:
[source,xml]
----
{{template_name}}
----
Где ответом будет (шаблон с параметрами):
[source,xml]
----
nsi-in-connector
----
*СreateConnector*
Для создания коннектора в шине нужно вызвать метод createConnector, где templateName - это имя шаблона, полученное из метода getTemplates, system_uuid - это uuid профиля, зарегистрированного в системе ранее, также нужно заполнить список параметров необходимый для создания коннектора(ВНИМАНИЕ! если не заполнить список параметров, то установятся значения по умолчанию) :
[source,xml]
----
{{template_name}}
{{system_uuid}}
----
Где ответом будет (“true” - если коннектор успешно создался, ошибка и ее описание):
[source,xml]
----
true
----
*GetConnectors*
Можно просматривать список подключенных коннекторов в шине методом getConnectors:
[source,xml]
----
----
Где ответом будет (список коннкторов с параметрами):
[source,xml]
----
nsi-in-connector-w6
ACTIVE
----
*StartConnector*
Запустить коннектор можно с помощью метода startConnector, где вместо “system_uuid” нужно подставить uuid системы, “template_name” это имя шаблона:
[source,xml]
----
{{template_name}}
{{system_uuid}}
----
Где ответом будет (“true” - если коннектор успешно запустился, ошибка и ее описание):
[source,xml]
----
true
----
*StopConnector*
Остановить коннектор можно с помощью метода stopConnector, где вместо “system_uuid” нужно подставить uuid системы, “template_name” это имя шаблона:
[source,xml]
----
{{template_name}}
{{system_uuid}}
----
Где ответом будет (“true” - если коннектор успешно остановилась, ошибка и ее описание):
[source,xml]
----
true
----
*RemoveConnector*
Удалить коннектор можно с помощью метода removeConnector, где вместо “system_uuid” нужно подставить uuid системы, “template_name” это имя шаблона:
[source,xml]
----
{{template_name}}
{{system_uuid}}
----
Где ответом будет (“true” - если коннектор успешно удалился, ошибка и ее описание):
[source,xml]
----
true
----
=== Управление мостовыми профилями
*GetListEsb*
Для получения списка подключенных шин можно с помощью метода getListEsb:
[source,xml]
----
----
Где ответом будет (список подключенных шин, ошибка и ее описание):
[source,xml]
----
test1
----
*CreateBridgeProfile*
Создать профиль, ведущий на мост, можно с помощью метода createBridgeProfile, где “system_uuid” uuid системы, “esb_name” имя подключенной шины:
[source,xml]
----
{{system_uuid}}
{{system_uuid}}
{{esb_name}}
----
Где ответом будет (“true” - если профиль, ведущий на мост, успешно создался, ошибка и ее описание):
[source,xml]
----
true
----
*StopBridgeProfile*
Остановить профиль, ведущий на мост, можно с помощью метода stopBridgeProfile, где “system_uuid” uuid системы, “esb_name” имя подключенной шины:
[source,xml]
----
{{system_uuid}}
{{system_uuid}}
{{esb_name}}
----
Где ответом будет (“true” - если профиль, ведущий на мост, успешно остановился, ошибка и ее описание):
[source,xml]
----
true
----
*StartBridgeProfile*
Запустить профиль, ведущий на мост, можно с помощью метода startBridgeProfile, где “system_uuid” uuid системы, “esb_name” имя подключенной шины:
[source,xml]
----
{{system_uuid}}
{{system_uuid}}
{{esb_name}}
----
Где ответом будет (“true” - если профиль, ведущий на мост, успешно запустился, ошибка и ее описание):
[source,xml]
----
true
----
*GetBridgeProfile*
Получить профиль, ведущий на мост, можно с помощью метода getBridgeProfile, где “system_uuid” uuid системы, “esb_name” имя подключенной шины:
[source,xml]
----
{{system_uuid}}
{{system_uuid}}
{{esb_name}}
----
Где ответом будет (профиль, ведущий на мост, пустой ответ):
[source,xml]
----
w6
ACTIVE
test1
----
*RemoveBridgeProfile*
Удалить профиль, ведущий на мост, можно с помощью метода removeBridgeProfile, где “system_uuid” uuid системы, “esb_name” имя подключенной шины:
[source,xml]
----
{{system_uuid}}
{{system_uuid}}
{{esb_name}}
----
Где ответом будет (“true” - если профиль, ведущий на мост, успешно удален, ошибка и ее описание):
[source,xml]
----
true
----
*GetBridgeProfiles*
Для получения списка профилей, ведущих на мост, можно использовать метод getBridgeProfiles:(ВНИМАНИЕ! запрос покажет список проброшенных профилей на ТЕКУЩЕЙ шине)
[source,xml]
----
----
Где ответом будет (список профиль, ведущих на мост, пустой ответ):
[source,xml]
----
w6
ACTIVE
test1
----
=== Управление доступами
*CreatePermission*
Создать доступ одной системы к другой, можно с помощью метода createPermission, где “objectUuid” uuid системы, которой нужно дать доступ, “subjectUuid” - uuid системы, к которой нужно дать доступ:
[source,xml]
----
{{objectUuid}}
{{subjectUuid}}
----
Где ответом будет (“true” - если доступ, успешно создался, ошибка и ее описание):
[source,xml]
----
true
----
*RemovePermission*
Удалить доступ одной системы к другой, можно с помощью метода removePermission, где “objectUuid” uuid системы, которой нужно дать доступ, “subjectUuid” - uuid системы, к которой нужно дать доступ:
[source,xml]
----
{{objectUuid}}
{{subjectUuid}}
----
Где ответом будет (“true” - если доступ, успешно удалился, ошибка и ее описание):
[source,xml]
----
true
----
*GetPermissionsByObject*
Получить список систем, доступ к которым от данной системы разрешен, можно с помощью метода getPermissionByObject, где “objectUuid” uuid системы:
[source,xml]
----
{{objectUuid}}
----
Где ответом будет (список систем, которым данная система может отправлять сообщения, ошибка и ее описание):
[source,xml]
----
r2
active
----
*GetPermissionsBySubject*
Получить список систем, доступ которым разрешен к данной системе, можно с помощью метода getPermissionBySubject, где “subjectUuid” uuid системы:
[source,xml]
----
{{subjectUuid}}
----
Где ответом будет (список систем, для которых данная система доступна для отправки сообщений, ошибка и ее описание):
[source,xml]
----
r2
----
*CreatePermissionForObjectRequest*
Создать сразу несколько доступов, которым разрешено отправлять сообщения от данной системы, можно с помощью метода сreatePermissionForObjectRequest, где “objectUuid” это uuid системы, от которой буду исходить сообщения, ‘“subjectUuid1”, “subjectUuid2” и т д, это uuid систем, которым будут отправлять сообщения:
[source,xml]
----
{{objectUuid}}
{{subjectUuid1}}
{{subjectUuid2}}
----
Где ответом будет (“true” - если доступа, успешно создались, ошибка и ее описание):
[source,xml]
----
true
----
*CreatePermissionForSubjectRequest*
Создать сразу несколько доступов, которым разрешено отправлять сообщения в данную систему, можно с помощью метода сreatePermissionForSubjectRequest, где “objectUuid1”, “objectUuid2” и т д - это uuid систем, от которых буду исходить сообщения, ‘“subjectUuid” - это uuid системы, которой будут отправлять сообщения:
[source,xml]
----
{{objectUuid1}}
{{objectUuid2}}
{{subjectUuid}}
----
Где ответом будет (“true” - если доступа, успешно создались, ошибка и ее описание):
[source,xml]
----
true
----