Ссылка на продукт: https://v8.1c.ru/static/1c-shina/
О компании: продукт фирмы «1С». Первая версия выпущена в конце 2021 года. Решение входит в реестр отечественного ПО. В основе продукта лежит технология «1С:Предприятие.Элемент».
В реестре отечественного ПО у «1С» есть два интеграционных продукта, и их часто путают: «1С:Интеграция КОРП» и «1С:Шина». Стоит сразу подсветить разницу. «1С:Интеграция КОРП» — это продукт компании «ИТ-Экспертиза», созданный совместно с фирмой «1С». «1С:Шина» — это собственный продукт фирмы «1С», разработанный командой платформы «1С:Предприятие.Элемент». В свое время рынок созрел для интеграционного решения, у фирмы «1С» появилась подходящая технологическая основа в виде «1С:Предприятие.Элемент» — и это вылилось в продукт «1С:Шина».
«1С:Шина» хорошо ложится в инфраструктуру, где используется «1С:Предприятие», и особенно актуальна, когда нужно соединить системы на 1С и не-1С.
Вторая ключевая идея, которую вендор продвигает, — простота. «1С:Шину» сознательно делают простой и понятной: простой в развертывании, простой в эксплуатации, простой в обучении. Цель — чтобы для работы с шиной не требовалась отдельная команда Java-разработчиков, и обычный аналитик или 1С-ник мог разобраться с продуктом. При этом отсечки по размеру компании нет: продукт ориентирован и на крупный бизнес, и на средний.

Шина является частью технологии «1С:Предприятие.Элемент», представляет собой Java-based интеграционную платформу, в составе которой используются распространенные open-source компоненты и библиотеки.
Полный перечень стороннего ПО и условия его использования приведены в NOTICES AND LICENCES, входящем в поставку продукта. В нем перечислены как базовые интеграционные компоненты, так и вспомогательные библиотеки для работы с сообщениями, сетевым взаимодействием, безопасностью, форматами данных, документами и мониторингом.
Ключевые группы компонентов можно описать так:
| Направление | Примеры компонентов |
|---|---|
| Интеграционный runtime и маршрутизация | Apache Camel |
| Брокеры и обмен сообщениями | ActiveMQ Artemis, Apache Kafka, RabbitMQ Java Client, Apache Qpid |
| Сетевое взаимодействие | Netty, Vert.X, gRPC |
| Наблюдаемость и трассировка | OpenTelemetry, Micrometer, Zipkin, Brave |
| Работа с JSON/XML/SOAP | Jackson, JsonPath, JAXB, XMLBeans, Xerces |
| Работа с документами и вложениями | Apache Tika, Apache POI, Apache PDFBox, Apache Batik |
| Безопасность и криптография | Bouncy Castle, Nimbus JOSE JWT, OAuth2 OIDC SDK |
| Базы данных и драйверы | PostgreSQL JDBC, Microsoft JDBC Driver, SQLite JDBC, H2 |
| Java/Spring-инфраструктура | Spring Framework, Spring Boot, Spring Security |
| Служебные библиотеки | Apache Commons, Google Guava, ASM, Byte Buddy |
Такой состав показывает, что «1С:Шина» опирается на зрелую Java/open-source экосистему: Apache Camel используется как основа интеграционной маршрутизации, брокеры и клиентские библиотеки обеспечивают поддержку различных сценариев обмена сообщениями, а отдельные группы библиотек закрывают задачи безопасности, сериализации, обработки документов и мониторинга.
Однако вендор сознательно не упоминает эти компоненты в официальной документации и не включает их в контракт с пользователем. Логика следующая: с точки зрения клиента шина — это «черный ящик», какие компоненты внутри — его не касается. Завтра вендор может заменить Artemis на другой брокер, и для пользователя ничего не изменится.

Процессы интеграции проектируются в визуальной среде при помощи схем из узлов и каналов. Разработчик может:
В последних версиях появился узел-разделитель, позволяющий разбивать одно входящее сообщение на несколько.
Внутри самой шины обработка сообщений многопоточная, с гарантией FIFO: сообщение, которое первым пришло в канал, первым из него и выйдет. Но если по маршруту стоит транслятор с обработчиком или сообщение проходит через другие системы, то порядок доставки получателю может поменяться.
Если разработчику нужна параллельная обработка, в том числе с приоритизацией, он создает несколько каналов и реализует собственный балансировщик на встроенном языке.
Это очень хорошее решение, особенно для интеграций 1С–1С: по умолчанию FIFO с гарантией порядка, при необходимости имеем возможность настроить параллельную обратку. Без гарантии порядка пакетов на продуктовом контуре зачастую возникают различные кейсы, которые практически невозможно повторить на тестовом окружении.
Канал передачи сообщений из базы 1С в шину однопоточный. Это выглядит как потенциальное узкое место, но реальных кейсов, когда он действительно стал бы бутылочным горлышком, не зафиксировано. Даже если такая проблема случится, можно добавить несколько каналов и распараллелить обработку.
Маршрутизация, преобразования и кастомная логика реализуются на встроенном языке «1С:Элемент». На встроенном языке доступно:
Список коннекторов охватывает основные транспортные протоколы (HTTP/REST, SOAP, JMS, AMQP, RabbitMQ, JDBC, FTP, файлы) плюс сервисы интеграции 1С.
Объект платформы «Сервисы интеграции» (доступен начиная с версии платформы 8.3.17) взаимодействует с «1С:Шиной» по AMQP и HTTP.
Возможности разработки собственных коннекторов на стороне клиента нет, и эту политику вендор пока менять не планирует. Все новые коннекторы добавляет команда разработки. При этом вендор принимает пожелания пользователей и при достаточной массовости запроса реализует новый коннектор в следующих релизах.
Высокоуровневых прикладных коннекторов (например, к СМЭВ, ЕГАИС, «Честному знаку») в продукте нет — таких планов вендор тоже не озвучивает. При этом есть интеграция к SAP: «1С:Шина» предоставляет JMS-очередь, к которой SAP PI может подключиться напрямую, забирать и класть туда сообщения. А преобразование форматов (например, из IDoc в Enterprise Data) уже реализуется внутри шины на встроенном языке. То есть это рабочий сценарий, просто без готовой обвязки с правилами обмена.
В части работы со структурой сообщений «1С:Шина» опирается на возможности встроенного языка. Валидация по схеме, типизация сообщений, версионирование структур — все это реализуется средствами «1С:Элемент». Какой-то отдельной декларативной схемы данных для маршрутов в продукте на сегодня нет.
Хотя шина и не обязана ничего хранить в себе — она не хранилище, было бы удобно держать в ней служебные данные. Например, соответствия объектов в разных базах (аналог регистра сведений «Публичные идентификаторы объектов»). Отсюда вопрос: есть ли в шине некое хранилище?
И оно есть. Внутри шины можно создавать регистры сведений, они вполне подходят для хранения соответствий между объектами в разных системах и других служебных данных. Регистр сведений создается прямо в среде разработки и при желании выводится в интерфейс. Данные регистра хранятся в базе данных приложения: файловой или подключенной внешней СУБД.
А вот справочников внутри шины нет. Из коробки доступен только один предустановленный справочник — «Информационные системы», при добавлении второго возникает ошибка лицензирования. Логика следующая: если разрешить произвольные справочники, шина начнет превращаться в полноценную среду разработки прикладных приложений, и потеряется ее позиционирование как ESB. Если же справочники реально нужны, можно приобрести лицензию «1С:Предприятие.Элемент». Она объединяется с лицензией шины и дает полноценную возможность разработки прикладных объектов.
Полноценной кластеризации в продукте пока нет — это, пожалуй, наиболее заметный пробел. Для увеличения производительности используется вертикальное масштабирование (более мощный сервер) или проектные решения с распределением нагрузки между несколькими экземплярами шины. Сроки появления кластеризации вендор не озвучивает.
В этой части у продукта довольно много возможностей. Доступны:
Для разработчика доступен пошаговый отладчик, похожий на отладку в EDT: можно проходить обработку сообщения по узлам, видеть состояние тела и метаданных, ловить ошибки. Это очень полезно при разборе сложных схем интеграции.
Для трассировки сообщений доступен следующий подход: на ключевых точках процесса интеграции писать события в журнал с ID сообщения и информацией о маршруте. Потом по журналу можно восстановить весь путь сообщения. Это рабочий подход, но не такой удобный как трассировка, в некоторых других ESB.
Сообщения хранятся персистентно на диске до момента подтверждения доставки получателем. Более того, в канале доставленных сообщений можно настроить и время удержания уже доставленных сообщений — это удобно для отладки и постфактум разбора инцидентов.
Канал недоставленных сообщений есть. Переотправка возможна как из интерфейса, так и программно — через API или через встроенный язык внутри схемы процесса интеграции. Например, можно прямо в потоке обратиться к каналу недоставленных, проверить, есть ли там накопившиеся сообщения, и инициировать их повторную отправку в другой канал.
В продукте есть штатный API, через который можно управлять приложениями (создание, удаление, бэкапы), работать с проектами, ветками для групповой разработки и так далее. При этом стоит подчеркнуть: API не покрывает всю функциональность интерфейса один в один. Часть задач решается только из интерфейса либо через встроенный язык внутри шины. Все возможности самой шины доступны через встроенный язык, а API — это в большей степени средство внешнего управления приложениями. Полный список методов есть в публичной документации.
Интеграция с Git есть, поддерживается групповая разработка, миграция конфигурации между контурами (DEV/TEST/PROD) через CI/CD инструменты технически возможна, функциональность для этого заложена.
Решение ориентировано в первую очередь на компании, которые используют экосистему 1С. При этом сам вендор подчеркивает, что продукт широко ориентирован: и на крупных игроков, и на средний бизнес.
Точные цифры продаж вендор в открытых источниках не публикует — они озвучиваются преимущественно на партнерских мероприятиях. Косвенно прикинуть масштаб можно по справочнику внедренных решений на сайте фирмы «1С», там в публичном виде доступно порядка 70+ записей по «1С:Шине», но это неполная картина: партнеры далеко не всегда регистрируют свои внедрения.
«Москвич» — использование «1С:Шины» для интеграции систем и передачи данных в дилерскую сеть. По данным с сайта вендора, в проекте через шину проходит порядка миллиона сообщений в сутки.
«ТНГ-Групп» — интеграция нескольких систем на базе «1С:УПП». В ходе проекта фиксировалась нагрузка более миллиона сообщений в сутки.
Кейс одного из партнеров — необычный, но показательный. Команда решила прогонять через «1С:Шину» каждое событие журналов регистрации с десятков баз 1С. Получилось порядка 177 миллионов сообщений в месяц. Шина с такой нагрузкой справляется.
Windows:
Linux:
Лицензируется сама шина. Стоимость зависит от количества пользователей информационных систем, участвующих в обменах. По данным с сайта вендора:
Отдельных лицензий на ядра, коннекторы или модули нет, схема прозрачная.
Поддержка стандартная для продуктов фирмы «1С».
Версия NFR (Not For Resale) доступна партнерам фирмы «1С».
Отдельной DEV/Test/PreProd-лицензии нет. Для непродуктивных контуров нужно приобрести отдельную коробку — но вендор отмечает, что для разработки и функционального тестирования обычно достаточно самой простой поставки (за 153 500 рублей). Для нагрузочного тестирования с реальным профилем уже потребуется аналог продуктивной лицензии.
Поддерживаются разные механизмы аутентификации: логин/пароль, двухфакторная аутентификация, интеграция с внешними провайдерами (Yandex, GitHub, Google и другие). Для авторизации информационных систем используются токены.
В «1С:Шина» предусмотрен механизм безопасного хранения секретов: паролей, токенов доступа, ключей и других конфиденциальных данных. Такие значения хранятся на сервере в зашифрованном виде и могут использоваться приложением для доступа к внешним сервисам, базам данных и другим системам.
Ролевая модель внутри шины простая: есть две роли — администратор приложения и пользователь приложения. Более тонкого разграничения прав (например, на уровне отдельного процесса интеграции) пока нет, но и запросов на это от пользователей вендор не получал.
Что касается сертификации ФСТЭК. Сертификации непосредственно «1С:Шины» нет, но она работает на «1С:Предприятии.Элемент», в составе которого используется Axiom JDK — а Axiom JDK сертифицирована ФСТЭК России (соответствие приказу №45/31). Таким образом, функции защиты информации обеспечиваются средствами сертифицированной среды исполнения. Сама шина при этом не хранит проходящие сообщения в БД (они хранятся персистентно на диске), поэтому, по позиции вендора, отдельная сертификация шины не требуется.
Документация открытая, доступна на сайте https://1cmycloud.com/.
У фирмы «1С» в учебном центре доступны очный (трехдневный) и онлайн-курсы по «1С:Шине». Кроме того, поскольку шина — это часть «1С:Предприятия.Элемент», специалистам полезно проходить и курсы по самому «Элементу»: вся разработка для шины делается на встроенном языке «1С:Элемент», и эти навыки прямо переносятся. По «1С:Элементу» уже есть и сертификация «Профессионал».
Сертификация «Профессионал» отдельно по «1С:Шине» пока в разработке.
Внедрения могут выполнять партнеры фирмы «1С». Дилерская сеть фирмы «1С» объединяет более 10 000 партнеров в 600 городах России и стран СНГ. Отдельного реестра именно по «1С:Шине» пока нет.
Публичной дорожной карты нет. Планы фирма «1С» традиционно озвучивает на своих официальных мероприятиях.
Продукт широко известен в 1С-сообществе и регулярно упоминается на специализированных площадках. У продукта есть Telegram-сообщество, где можно задавать вопросы и получать поддержку.
«1С:Шина» — это понятный, доступный продукт от известного вендора. Главные сильные стороны:
К зонам роста и минусам можно отнести:
Отдельно стоит отметить простоту продукта. С одной стороны, многие технические детали скрыты «под капотом», и базовые сценарии можно достаточно просто собирать, что однозначно радует. С другой стороны, есть интерфейс шины и это интерфейс «1С:Предприятия.Элемент» со всем его функциональным многообразием. Пользователю, который раньше не работал с Элементом, может быть неочевидно, какие разделы относятся к шине, а какие являются частью общей платформы. Например, очень неожиданно выглядит раздел с мобильными приложениями. На первый взгляд это мелочи, но именно такие мелочи создают лишнюю когнитивную нагрузку и повышают порог входа в продукт.
Если у вас уже есть инфраструктура на 1С и стоит задача организовать интеграцию между несколькими системами — «1С:Шина» вполне может быть рабочим выбором, тем более что попробовать ее можно относительно недорого даже на тестовом контуре. Как всегда в случае с интеграционными платформами, рекомендую начинать с пилотного проекта на реальной задаче — так быстрее всего становится ясно, насколько продукт ложится в ваш ландшафт.
В статье отражена моя субъективная точка зрения, у которой нет цели нанести ущерб деловой репутации создателям этого продукта.
С 2024 года я встречаюсь с вендорами и делаю обзоры продуктов, которые относятся к классу ESB. За это время удалось пообщаться с разработчиками 20+ разных решений. Подписывайтесь на этот блог и следите за обзорами!
Для всех, кто интересуется шинами данных, я также создал сообщество в Телеграме «Шины не для машины». Это площадка для диалога между российскими разработчиками ESB и компаниями, которым нужна интеграционная шина. Если вы хотите узнать больше о DATAREON Platform, «1С:Интеграции КОРП», Factor-ESB и других отечественных решениях, прямо сейчас вступайте в сообщество и задавайте вопросы.
Похожие статьи
Обзор российских ESB-решений
17 подробных технических обзоров на отечественные платформы