Содержание:
1. Настройка сервиса интеграции в системе программы 1С: Шина
2. Синхронный и асинхронный обмен данными
3. Какие задачи должен выполнять программный модуль информационной системы
1. Настройка сервиса интеграции в 1С: Шина
Когда речь заходит о компаниях, которые придерживаются стратегии иметь собственную тестовую среду или создавать тестовые базы данных на основе рабочей базы при настройке параметров сервиса интеграции в базе 1С, необходимо предоставить адрес сервиса интеграции и соответствующие ключи доступа, выдаваемые приложением Шины. Кроме того, необходимо активировать опцию использования данного сервиса.
Настройка сервиса интеграции
При копировании базы, где все настроено, в файловую или серверную базу без отключенных регламентных заданий, тестовая среда может начать взаимодействовать с рабочим окружением вместо или даже параллельно с основной базой данных. Это происходит потому, что настройки интеграционных сервисов остаются активными в тестовой среде без каких-либо препятствий.
Для предотвращения таких ситуаций рекомендуется внедрить дополнительный параметр, связанный со строкой, получаемой из функции. При каждом обмене через сервис интеграции, этот параметр будет проверяться с использованием строки соединения информационной базы 1С или её хеша. В случае обнаружения другой локации базы данных, данный сервис интеграции будет автоматически отключен.
Реализация данного параметра может быть различной - это может быть константа, регистр сведений или иное решение, в зависимости от специфики задачи.
2. Синхронный и асинхронный обмен данными
В стандартном режиме работы Шины осуществляется асинхронный обмен данными. Одним из недостатков асинхронного подхода может быть избыточность данных, поскольку информация о том, что документ был обработан во второй системе, будет дублироваться в первой системе.
Чтобы осуществить синхронный обмен данными через Шину, можно использовать её в роли прокси-сервера. Этот процесс начинается с подключения базы 1С к приложению Шины.
Необходимо внести изменения в структуру проекта приложения Шины путем добавления элемента "Справочник информационные системы". В этот справочник добавляем строковые атрибуты (допустим, с длиной 200 символов): BaseUrlSR, UrlSR, UserNameSR и PasswordSR.
После этого в проекте добавляем элемент HTTP-сервиса. Этот элемент будет служить для создания API приложения Шины.
Дадим ему название "СинхронныеЗапросыКУчастникамHttpСервиса". Зададим свойству "КорневойUrl" значение "syncresponse".
После этого публикуем проект приложения Шины и переходим в интерфейс настройки подключенных информационных баз. Затем мы настраиваем новые атрибуты нашей базы 1С, указывая в них параметры публикации HTTP-сервиса, который разработан в этой базе данных.
После настройки параметров публикуем изменения. В частности, настраиваем параметры аутентификации для доступа к сервису: UserNameSR и PasswordSR.
Код обработчика запроса в 1С может быть разнообразным и зависит от конкретной задачи. Он может включать в себя обработку параметра querytype, который передается через приложение Шины. Кроме того, обработчик запроса может работать с любыми дополнительными параметрами изначального запроса.
Весь процесс функционирует примерно так: начальный запрос к сервису приложения Шины, представленный в виде
http://[имя_сервера]:9090/applications/[имя_приложения]/api/[имя_сервиса]/[имя_метода]?param1=value1,
В нашем контексте происходит преобразование в соответствии с конфигурацией сервиса
Здесь:
• Код информационной системы, который задается в приложении Шины, называется infosystemcode.
• querytype - это строковый параметр, который произвольно задается и определяет тип запроса. Он может быть обработан в коде обработки запросов базы данных для выполнения соответствующих действийparam1=value1 - это набор произвольных дополнительных параметров, которые предназначены для передачи дополнительной информации в запросе.
Когда Шина получает такой запрос, она определяет информационную базу, которой нужно его направить. Затем она определяет параметры сервиса, которому нужно направить запрос, формирует его и выполняет. После этого ответ, включая заголовки, возвращается обратно запрашивающей системе.
3. Какие задачи должен выполнять программный модуль информационной системы
В каждой системе, которая должна взаимодействовать с Шиной, необходимо иметь программный модуль, ответственный за управление этим процессом. Этот модуль должен выполнять следующие задачи:
• Организация формирования, отправки, приема и обработки информационных сообщений для регулярного обмена.
• Поддержка необходимого формата сообщений для обмена.
• Обработка возможных ошибок с целью избежания блокировки каналов связи.
• Реализация принципа "гарантированной доставки" данных, если это возможно.
• Регистрация изменений данных, связанных с обменом.
• Построение запросов для "пакетной" обработки данных, их формирование и отправка (данный аспект не рассматривается в данном контексте).
• Этот модуль играет ключевую роль в обеспечении эффективного и надежного взаимодействия системы с Шиной.
Специалист компании "Кодерлайн"
Инна Изотова