Справочник как инструмент мониторинга и управления интеграцией

5 2

Интеграция — это процесс, требующий усилий и взаимного сотрудничества. Но как быть, если вторая сторона данного процесса резко всё (или не всё) поменяла, и нам надо внести достаточно весомые изменения?

Помимо внесения изменений в саму разработку и проведения тестирования, нужно донести разработку до продуктивного контура. 

При этом возникает ряд сложностей:

  • любимые заказчики прикипели к нашей системе и даже на 15 минут не могут остановить рабочий процесс для установки пакета разработки;
  • предварительно нужно оповестить всех пользователей системы;
  • донести необходимость установки руководителям;
  • обязательно сделать бэкап БД.

При этом работающая интеграция и наличие изменений во внешней системе критичны. 

Итого приходится думать, как решить эту проблему до исправления разработкой.

"Темная" сторона интеграции

В целом, данная ситуация не совсем нормальная и при её появлении нужно организационно подходить к устранению первопричин, стараясь минимизировать их. Конечно, со своей стороны, ещё на этапе проектирования интеграции, мы описываем все необходимые документы и утверждаем их с заказчиком. Но когда у заказчика сложная инфраструктура и не все внешние системы поддерживаются самолично, такая ситуация нередка. Усложняется всё тем, что ошибка же видна в нашем СЭД. Именно у нас не отработал заявленный функционал и ряд заказчиков из-за этого переходят на "Тёмную" сторону внешней системы, касаемо виновника в инциденте.

Секретный ингредиент (не солома)

На этот случай при проектировании интеграции можно заложить небольшой буфер — справочник, где хранится вся история отправленных запросов. Тем более, что нам может понадобиться эта информация для отчетности или доказательства работы сервисов. Структура справочника достаточно простая — это дата отправки, код ответа и сама структура запроса.

Если мы говорим о Directum RX, то здесь нам на помощь приходит уже встроенный функционал, который можно использовать для управления интеграциями. Например, справочники в Directum RX не только удобно настраивать под нужды конкретной организации, но и позволяют централизованно хранить данные, связанные с интеграцией. Пароли, явки и эндпоинты лучше хранить в константах или в отдельном таком справочнике настройки, чтобы при необходимости их можно было поменять.

В случае с Directum RX это также удобно реализуется через настройки системы, где параметры интеграции могут быть вынесены в отдельный блок, доступный только для администратора системы. Кроме того, Directum RX поддерживает гибкую настройку маршрутов, благодаря чему можно заранее предусмотреть обработку нестандартных ситуаций. Например, можно настроить автоматическое оповещение ответственных лиц о некорректных запросах или ошибках интеграции.

Действуем оперативно

Вернёмся к нашей ситуации с неожиданными изменениями. Чем же нам помогут эти логи в виде справочников? А помогут они нам тем, что до установки пакета мы можем вручную менять ставшую неверной структуру запроса на корректные данные и повторно их отправить. Для этого на действие закладывается возможность повторной отправки с возможностью корректировки данных. Конечно же, права для работы с этим справочником лучше ограничить. Правда, кому-то придётся проделать неплохую работу и следить за пополнением запросов…

 

Directum RX здесь вновь проявляет себя с лучшей стороны: встроенные механизмы позволяют легко создавать и настраивать права доступа, так что управлять такими справочниками смогут только уполномоченные сотрудники.

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

Если же всё-таки виновники мы, и на продуктив улетело то, что не должно было, — мы также можем вручную обрабатывать ошибки. Ну а если совсем всё плохо, то громко кричим “Хьюстон, у нас проблема”, ну и конечно всегда можно позвать разработчика с кофе, шоколадкой и нервным тиком, чтобы он срочно починил всё.

 

И, конечно, стоит помнить, что Directum RX — это не просто система документооборота, а настоящий инструмент для оптимизации бизнес-процессов, включая интеграции. Если всё настроить правильно, то даже непредвиденные изменения во внешних системах не застанут вас врасплох, а пользователи даже не заметят, как вы героически спасли их от очередного “ит’с брокен”.

5
Авторизуйтесь, чтобы оценить материал.
2
Анатолий Придыбайло

Как я понимаю подобный подход к реализации интеграции реализован в шаблоне разработки https://github.com/DirectumCompany/rx-template-integrationtemplates/tree/main, а именно в Шаблон очереди сообщений

Денис Коновалов

Анатолий, вполне возможно. Шаблон этот ранее не использовали

Авторизуйтесь, чтобы написать комментарий