= Руководство по управлению коннекторами и профилями в шине. _Профиль(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] ---- ---- *GetTemplate* Для создания коннектора в шине нужно получить список шаблонов(требуются для создания коннекторов) методом getTemplate, где “template_name” имя шаблона по которому будет сделан коннектор: [source,xml] ---- {{template_name}} ---- Где ответом будет (шаблон с параметрами): [source,xml] ---- ---- *С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 ----