Трудности выбора систем интеграции

25.09.25

Интеграция - WEB-интеграция

Почему в 1С стандартом для WEB-сервисов стал XML, а для HTTP – JSON? Можно ли грамотно комбинировать XDTO, XML, JSON, WEB и HTTP? Зачем нужен WSDL и почему это удобно? Разбираем безопасность, нагрузку, надежность передаваемых данных, простоту реализации – и помогаем определить, какой формат обмена подойдет именно вам. Кейсы из практики, сравнения и выводы, которые сэкономят время и нервы.

Меня зовут Карен Мелконян, я ведущий разработчик компании СИТЕК и реализовал более двадцати интеграционных проектов.

В нашей работе часто возникает вопрос: какую интеграцию выбрать под конкретные задачи клиента? Этот выбор далек от однозначного решения. Сегодня я предлагаю подробно рассмотреть плюсы и минусы разных способов интеграции.

 

Что такое интеграция?

 

Интеграция – это процесс объединения отдельных систем и компонентов в единое целое. Например, при внедрении решения «1C:WMS Логистика. Управление складом» (Warehouse Management System) автоматизируются многие складские операции. При необходимости расширения функциональности, например, для работы с роботизированными участками, задача интеграции новых устройств с 1C:WMS становится особенно актуальной. В такой архитектуре система формирует и отправляет задачи роботам, получает их ответы и на основании полученной информации принимает решения о дальнейших действиях

 

 

Интеграцию можно условно разделить на два основных направления: интеграция с оборудованием и интеграция с информационными системами.

 

Интеграция с оборудованием

 

Современный склад использует множество устройств: терминалы сборов данных, принтеры, RFID-считыватели, весы, торговые сканеры, а также роботов, что делает задачи интеграции довольно сложными.

 

Способы интеграции с оборудованием

 

Первый подход – это использование библиотеки подключаемого оборудования, однако она покрывает далеко не все возможные устройства.

Если в комплекте с оборудованием есть готовый системный драйвер, можно напрямую подключиться через CкOM-объекты или редактировать файлы на Unix-системах.

Многие производители предлагают API, которые обычно позволяют обмениваться данными через HTTP-запросы: система посылает команду, устройство ее выполняет и возвращает ответ.

Если ни системного драйвера, ни API нет, можно использовать TCP или UDP протоколы, но 1С не поддерживает их напрямую. Здесь на помощь приходят либо внешние компоненты, либо прокси-серверы – отдельные сервисы, выполняющие конвертацию и передачу сообщений.

 

 

Прокси-серверы удобны тем, что не зависят от платформы 1С, гибко масштабируются и обеспечивают мультиплатформенность.

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

 

Интеграция с информационными системами

 

 

Интеграция включает объединение систем 1С, веб-сайтов, документооборота и других систем в единую экосистему. При передаче структурированных данных популярны форматы:

  • JSON – удобен с точки зрения чтения и работы через HTTP;

  • XML – традиционный для 1С, поддерживает строгую типизацию;

  • Fast Info Set – бинарный формат для сокращения объемов данных и ускорения обработки.

 

Транспорт передачи данных

 

Наиболее распространенные варианты:

  • Файловый доступ – обмен файлами по локальным папкам;

  • FTP – для обмена на удаленных системах;

  • WEB-сервисы и HTTP-сервисы – синхронный обмен по протоколу HTTP, популярный и удобный;

  • Прямое подключение к СУБД – самый быстрый вариант, но требующий высокой квалификации.

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

 

WEB-сервисы и HTTP-сервисы: в чем разница?

 

WEB HTTP
Сервисно-ориентированный Ресурсно-ориентированный
Описание процедур (WSDL) Нет описания
Проверка типов (XDTO) Нет проверки
Преимущественно XML Преимущественно JSON
Самодокументирующийся Документация через OpenAPI/Swagger

На сегодняшний день веб-сервисы чаще применяются в интеграциях с клиентскими системами, поскольку их использование обычно более экономично. Тем не менее, если необходимо реализовать нестандартные обмены данными оперативно и с минимальными затратами, чаще выбирают HTTP-сервисы. Они характеризуются меньшими требованиями к реализации, что ускоряет внедрение.

Для лучшего понимания различий приведу пример из практики. В одном из проектов у меня состоялся диалог с коллегой – разработчиком PHP, часто работающим с обменами данными. В ходе беседы мы около получаса обсуждали различия между веб-сервисами и HTTP-сервисами, не сразу понимая друг друга. Коллега спросил: «Что ты подразумеваешь под веб-сервисами и HTTP-сервисами?» Я пытался объяснить суть, но осознал, что терминология в окружении 1С существенно отличается от общепринятой. Впоследствии поиск информации показал, что различение веб- и HTTP-сервисов характерно преимущественно для платформы 1С.

Если говорить языком программистов вне 1С, веб-сервис – это обмен на базе HTTP с использованием протокола SОAP. HTTP-сервис – это обмен через «голый» HTTP-протокол без дополнительного регламентирования. Для веб-сервисов традиционным форматом является XML, регулируемый SОAP-протоколом. Напротив, HTTP-сервисы не накладывают жестких правил на формат данных и чаще используют JSON, который прост, компактен и удобочитаем.

В веб-сервисах 1С широко применяются XDTO-пакеты, обеспечивающие типизацию и автоматическую валидацию данных. В настройках можно указать обязательность полей и их типы. Если передаваемые данные не соответствуют требованиям, XML-пакет не будет сформирован. Такая валидация предотвращает ошибки, например, передачу вместо логического значения некорректных символов.

Публикация веб-сервиса сопровождается автоматической генерацией WSDL-документации, в которой описываются все методы и типы данных. Это облегчает интеграцию и поддержание сервисов.

В случае HTTP-сервисов XDTO не используется, а ответственность за проверку данных ложится на разработчиков. Документация для HTTP-сервисов составляется согласно стандарту OpenAPI и преобразуется в читаемый формат с помощью инструментов, что снижает трудозатраты на документацию.

HTTP-сервисы поддерживают стандартные методы REST API: GET, POST, DELETE, PUT и другие.

Следует отметить, что в 1С и за ее пределами использование метода DELETE не ограничивается только удалением объектов. Технически через него можно реализовать и другие действия, включая создание объектов. Тем не менее, для корректной реализации REST API лучше придерживаться стандартов: DELETE должен удалять объект, а не выполнять другие операции. Это значительно упрощает логику и повышает прозрачность API.

 

Шина данных

 

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

В действительности, шина данных – это клиент-серверная система для обмена сообщениями между информационными системами предприятия. Технология не является чем-то новым: подобный механизм применяется в популярных мессенджерах, таких как Telegram или WhatsApp. Разница состоит лишь в том, что здесь получателями сообщений являются не конечные пользователи, а именно информационные системы.

Применение шины данных рационально при интеграции более чем двух информационных систем. Для двух систем ее использование зачастую избыточно и ведет к усложнению архитектуры и увеличению издержек.

 

 

Для примера, интеграция четырех систем по схеме «каждый с каждым» требует наличия шести соединений. При увеличении числа систем до восьми количество таких связей возрастает в геометрической прогрессии. В отличие от этого, при использовании шины данных количество соединений сокращается до количества самих систем: четыре базы требуют четыре соединения, восемь – восемь. Шина данных выступает в роли посредника, через который осуществляется маршрутизация и передача сообщений.

 

Ключевые преимущества шин данных

 

  • Гибкость маршрутизации: Возможность настройки связей «один к одному» и «один ко многим».

  • Автоматическая маршрутизация сообщений: Сообщение, отправленное на шину, автоматически перенаправляется всем необходимым системам, независимо от их количества (будь то 4, 10 или 20 и более).

  • Масштабируемость: Упрощение управления и поддержки интеграционной инфраструктуры при росте числа систем.

 

 

Обзор популярных решений шин данных в экосистеме 1С

 

Решение Описание Лицензирование и особенности
1С:Шина Разрабатывается компанией 1С, обладает глубокой интеграцией с ее продуктами. Обеспечивает множество готовых коннекторов для разнообразных систем. Лицензирование пакетное, например, 100 или 1000 подключений.
Datarеon Обеспечивает удобный интерфейс настройки обменов, значительно упрощая работу с интеграцией. Лицензии оплачиваются за каждое подключение.
RabbitMQ Бесплатный открытый брокер сообщений с возможностью модификации исходного кода. Для работы с 1С требуется коннектор. Бесплатные коннекторы существуют, однако их надежность не гарантирована. Стоимость платных – около 300 тыс. руб.
Kafka Высокопроизводительный и эффективный брокер сообщений, все чаще выбираемый крупными предприятиями. Реже применяется в 1С-проектах, требует особой настройки и поддержки.

На основании опыта, наиболее перспективным решением является 1С:Шина. Этот продукт обеспечивает передачу и прием файлов, может работать в роли FTP-клиента, поддерживает интеграцию по веб- и HTTP-протоколам, взаимодействует с RabbitMQ и Kafka, а также с различными СУБД и системами SAP. Таким образом, 1С:Шина включает в себя большинство необходимых инструментов для полноценной и гибкой интеграции.

 

Трудности выбора решений для интеграции

 

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

  • Веб-сервисы, используемые преимущественно для стандартных и типовых интеграций.

  • HTTP-сервисы, ориентированные на быструю и гибкую реализацию обменов.

  • Шина данных, актуальная при необходимости интеграции большого количества систем и обеспечивающая масштабируемость.

Выбор технологии должен базироваться на технических требованиях, архитектуре интегрируемых систем и специфике бизнес-процессов.

 

Рассмотрим практические примеры из опыта нашей компании.

 

Кейс 1. Интеграция на оптово-продуктовом складе

 

 

Задача: интеграция системы «1С:Управление торговлей» с системами маркировки и 1С:WMS.

Проблема: заказчик изначально применял COM-соединения по причине ограниченного опыта главного разработчика. Передача данных осуществлялась со скоростью около 4 объектов в секунду, что удовлетворяло потребности на начальном этапе.

Сложность возникла с внедрением системы маркировки акцизных товаров, когда в одном документе фиксировалось до 15 тысяч акцизных кодов. COM-соединение не выдерживало нагрузки, приводя к частым сбоям.

Решение: внедрение механизма конвертации данных для обмена, позволившее существенно повысить производительность.

Результат: успешное завершение реализации проекта вследствие повышения надежности и масштабируемости системы.

Дальнейшее развитие: на следующей площадке была реализована интеграция посредством веб-сервисов, что обеспечило многократный рост скорости обмена. Аналогичный подход был рекомендован и для первой площадки, где веб-сервисы показали эффективность в 1000 раз выше COM-соединений.

 

Кейс 2. Интеграция на складе алкогольной продукции

 

 

При интеграции с системой «Мастер ЕГАИС» возникла необходимость обработки значительного объема данных, поскольку каждая бутылка и партия имели обязательные акцизные марки.

Решение: использование обмена через СУБД, что гарантировало высокую пропускную способность и надежность хранения и обработки данных.

 

Кейс 3. Интеграция на текстильном дистрибьюторе

 

 

Особенности: широкий спектр информационных систем, включая SAP, WMS, кастомные решения на базе 1С, ERP и RMS.

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

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

 

Выводы

 

Выбор технологии интеграции всегда индивидуален и зависит от задач и архитектуры бизнеса.

  • Для обменов с высокой надежностью и валидацией оптимальны веб-сервисы.

  • Для быстрой разработки и гибкости подходит HTTP.

  • Для масштабных систем с множеством интеграций – шина данных.

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

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TECH EVENT.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    6085    4    3    

7

WEB-интеграция Программист Бизнес-аналитик 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    3432    17    2    

19

WEB-интеграция 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Платные (руб)

В расширении реализован механизм интеграции между системой поставщика и Личным кабинетом СДТ. Реализован обмен заказами и реализациями (накладными), предусмотрено отслеживание статусов документов. Расширение предназначено для 1С:УТ 11.4.

35856 руб.

27.11.2024    1841    1    0    

1

Обмен с ГосИС WEB-интеграция Бухгалтер Пользователь 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

5196 руб.

28.04.2016    97396    110    218    

359

Обмен с ГосИС Мастера заполнения WEB-интеграция Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет Оперативный учет Управляемые формы 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

5000 руб.

08.11.2017    69657    415    298    

84

WEB-интеграция Программист 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    20267    58    52    

36
Для отправки сообщения требуется регистрация/авторизация