Поинтегрируем: нужна ли Шина вам?

12.02.24

Интеграция - Обмен между базами 1C

Небольшой цикл статей про интеграцию. Цель - развеять мифы, ответить на вопросы и поделиться опытом.

 

Почему я решил писать цикл статей по интеграции?

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

Во-вторых, я видел несколько статей по внедрению 1С:Шины. Часть статей пересказывали примеры из официальной документации, скажем честно, сделано это было максимально неуклюже, оставляя все «косяки» примеров. Были попытки описания, для чего нужна 1С:Шина, но судя по комментариям… Ответов статьи так и не дали.

Также была новость на Инфостарте с громким заголовком «Все об 1С:Шине: возможности, преимущества и как внедрить»

Вот первый комментарий к новости:

 

 

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

В-третьих, почему-то за кадром часто остается архитектура, а это очень важно, и на ее реализацию уйдет львиная доля времени при интеграции. В статьях мы с вами затронем Конвертацию данных, Планы обмена, Регистры сведений, http-сервисы, Сервисы интеграции и Историю данных. А может быть, затронем что-то еще.

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

Данная статья вводная, но чем дальше мы пойдем, тем больше будет мяса.

 

 

Впрочем, забегать вперед не буду...

 

Используемые сокращения:

  • КД – конвертация данных.
  • TOC – Theory of Constraints - теория ограничений.
  • Шина – 1С:Шина.
  • Кролик – RabbitMQ.
  • Кафка – Apache Kafka.

 

Вводная часть:

Примерно год назад меня позвали на проект по внедрению 1С Шины. Почему позвали меня?

Когда-то я писал самописный обмен на HTTP сервисах для той организации. Помимо меня были обмены, написанные другими людьми. Были обмены на КД2, КД3, http-сервисах, но именно мои обмены работали, не ломаясь. В организации в какой-то момент поняли, что зоопарк надо заканчивать и приводить все к единому работоспособному виду, было решено переходить на Шину. На тот момент я не видел всей картинки по Шине и собирал ее по кусочкам, подобно пазлу. Сложность состояла в том, что полезной информации мало. Я не нашел ни одного примера, который хотя бы на 50% подходил нам. Когда я начинал, даже не думал, что откажусь от планов обмена, но не буду забегать вперед.

«Чтобы дойти до ответов - нужно задать вопросы»

 

Самый главный вопрос, на который предстоит ответить: - Нужна ли Вам Шина?

«На данный вопрос должны ответить вы сами, я лишь отвечу на вопросы, которые постоянно звучат. Но, скорее всего, сами вопросы и ответы должны подсказать вам ответ.»

Важно понимать следующее. Шина — это не про то, что установил и сказал: - «База 1 и База 2, меняйтесь!»

«Вы не Емеля с волшебной щукой и, если вы не справитесь, вам завернут леща»

Хорошо это или плохо?

Давайте разбираться.

Часть 1. Шина и КД

Начну разбор со странного вопроса, который чаще других слышал на различных мероприятиях по 1С Шине.

«А можем мы конвертацию данных прикрутить к Шине?»

Лично для меня данный вопрос звучит так: -«Можно кирпичи возить на Ламборджини?»

 

 

Ответ:

Можно, и при покупке Шины в официальной документации вы найдете пример про ERP c Розницей, где это проделано. Самое смешное - этот пример сделали благодаря этому вопросу, так как он звучал чаще других. Но зачем тут Шина?

Если сказать простыми словами: - «Архитектура КД в принципе «Антипаттерн» для Шины»

КД решает интеграционные задачи «в комплексе». В КД уже все продумано, и Шине там отводится только транспортная роль. Сама КД как старый паровоз, и пока обмены небольшие, схема сносная. Но если у вас начались блокировки и большие временные лаги… Можно вас поздравить: - «Вы стали средним или большим бизнесом, и Вам не поможет смена только транспорта.»

Почему?

Давайте посмотрим на обмен, организованный через КД, глазами одного умного человека, которому я благодарен, так как именно из-за него втянулся в чтение бизнес-литературы.

Вот этот человек.

 

 

Я думаю, вы узнали автора таких книг, как «Цель 1», «Цель 2», «Цель 3», «Критическая цепь» и других. Он известен тем, что создал TOC.

И я уверен, что многие знакомы с 5 шагами ТОС:

 

 

Если кратко, нужно искать узкое место (бутылочное горлышко) и расширить его для того, чтобы пропускная способность увеличилась. После чего опять искать новое узкое место, и так можно продолжать до бесконечности.

Давайте подумаем: -Что в КД является узким местом?

У КД есть три вида транспорта (могу ошибаться, давно с КД не связывался, но думаю, ничего не изменилось):

1. COM – обмен, который можно назвать живым мертвецом. Linux встречается все чаще, поэтому лет через 5 этот вид транспорта останется только у «староверов» и в музеях. И у сектантов «Свидетели COM'овы».

2. Разные вариации с файлами. Этот вариант, кстати, наиболее часто встречается. Иногда так и хочется ущипнуть себя и проверить, может, я сплю и сейчас не 2024 год…

3. Web-сервисы. Самый редкий вариант.

 

Глядя на варианты транспорта, скажите: - Станет КД работать лучше и быстрее, если сменить транспорт на Шину?

Этот вопрос не про COM, конечно, и не про файлы, хотя и Шина может работать с файлами.

Давайте так. Вы используете web-сервисы. -Поможет переход на Шину ускорить ваши обмены?

 

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

Одно из основных узких мест КД - Планы обмена, которые при помощи подписки «ПередЗаписью» накапливают измененные объекты на каждом Узле обмена и далее происходит конвертация всего накопленного в сообщения в формате XML. Сами Узлы содержат на себе функционал фильтров, настроек для соединения с получателем и прочие вещи. Чем больше узлов, тем больше повторяющихся операций. Планы обмены — это не про событийную модель.

«Если планы обмена такие плохие, то что делать?»

Ответ:

При внедрении Шины использовать более современные механизмы регистрации данных. Лично я выбрал механизм Истории данных. Естественно, при внедрении интеграции на основе Истории данных нужно писать свои обмены, но зато можно получить ряд «плюшек». Подробнее про Планы обмена и Историю данных можно почитать в статье: Планы обмена VS История данных

«≈90% интеграций в 1С используют Планы обмена или Регистры сведений, при этом Планы обмена лидируют по использованию.»

 

Планы обмена — это фундамент КД, и его просто так не убрать.

 

 

Вообще описанное выше отвечает еще на один частый вопрос: -«У меня на конвертации несколько баз, меня все устраивает. Зачем мне Шина?» Повторюсь, проблемы с КД возникают у крупняков. Малышам Шина не к чему.

 

Часть 2. Кролик\Кафка

«У нас есть Кролик\Кафка, зачем нам Шина?»

Ответ:

Немножко пофантазируем:

Вариант 1. Представьте, что у вас есть любимый аттракцион. Вы идете в парк, где стоит один ваш любимый аттракцион, и вам больше и не нужно.

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

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

 

Если у вас настроена Кафка или Кролик и вас все устраивает, тогда вам подходит Вариант 1. У вас не настало то время, когда одного аттракциона станет мало.

Если у вас зоопарк различных интеграций, тогда вы живете в Варианте 2.

Когда Вариант 2 выходит из-под контроля, пора переходить на Вариант 3.

Вариант 3 — это и есть Шина. Грубо говоря, в рамках шины вы управляете всеми интеграциями подобно дирижеру, управляющему оркестром.

Соответственно Шина нужна для наведения порядка в интеграциях и дальнейшего масштабирования.

 

Сравнивать ESB и Кролик\Кафка не совсем корректно.

Приведу принскрин из курса 1С + KAFKA

 
 Разрешение Ильи Низамова:

 

 

 

Как вы видите, Kafka закрывает лишь часть того, что закрывает ESB.

Нет смысла сравнивать аттракцион с парком развлечений.

 

Часть 3. Шина от 1с

«Стоимость

Конкретно Шина от 1С платная, есть три вида лицензии.

 

 

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

Есть другие платные продукты, и цены на них более высокие, и при этом почему-то это не отпугивает покупателей. Например, цены на Datareon, сравните со стоимостью безлимитной версией 1С Шины.

По другим отечественным продуктам «Multi-D ESB», «Галактика ESB» и «Factor ESB», к сожалению, цен не нашел.

 

«У нас Dev и Prod сервера, сколько нам понадобится лицензий?»

Ответ:

В случае, когда у вас один сервер разработки и один сервер продакшн, понадобится 2 лицензии. Лично мы используем для разработки лицензию на 100 пользователей, а для продакшн сервера безлимитку.

 

Плюсы Шины:

1. Шина имеет коннектор к Кролику, а начиная с версии 4 к Кафке.

 

 

2. Шина может цепляться и к другим источникам и приемникам. Например, к SQL.

 

 

3. Шина в отличие от сторонних решений имеет платформенный коннектор – Сервисы интеграции.

Про сервисы интеграции я плотно напишу в следующей статье.

4. Шина написана на 1С:Элемент, что позволяет прикоснуться к нему ранее релиза.

5. Шину можно доработать и при желании сделать на ее основе самописный брокер с любым поведением, то есть ничто не мешает вам добавить регистр сведений в саму Шину или подключить ее к SQL’ной базе и сохранять сообщения подобно Кафке.

6. Отечественный продукт, входящий в реестр отечественного ПО.

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

8. Работает на Linux и Windows. Для продакшн я рекомендую LinuxМы используем Ubuntu.

 

Минусы Шины:

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

2. Еще одна инсталляция, которую кто-то должен обслуживать.

3. Для шины нет подсистемы, Вам придётся запланировать немало времени на архитектуру, если у вас в планах внедрение не для «галочки».

4. Документация по Шине отстает от ее возможностей.

5. Дополнительные затраты на лицензии и машинку для размещения Шины.

 

Дорожная карта:

Вводная статья. «Нужна ли шина Вам»?

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

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

Далее на github будет выложена подсистема PAPI, для упрощения выполнения задуманного примера. Планирую выложить в свой день рождения (в этот раз даю честное пионерское).

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

 

Заключение:

На этом статью заканчиваю. Как я и говорил, статья была вводная. Я попытался простыми примерами подтолкнуть вас к ответу на вопрос «Нужна ли Шина Вам?», надеюсь, после прочтения у вас появится ответ.

Всем желаю профессионального роста и интересных задач!

 

Полезные ссылки:

1. Настройка состава "Истории данных" - Бесплатная обработка по программному включению истории данных.

2. Версионирование объектов VS История данных – Сравнение двух конкурирующих механизмов и ковыряние в SQL по части Истории данных. В статье видно, что История данных на данный момент имеет много киллер фич по отношению к Версионированию объектов.

3. Планы обмена 1С - Подробная статья по устройству Планов обмена.

4. Планы обмена VS История данныхСтатья про преимущества и недостатки, которые есть у Истории данных в сравнении с Планом обмена и Регистрами сведений.

5. Разворачиваем 1С:Шину на Ubuntu и Windows [Шпаргалка] – Установка и проблемы по установке Шины на Ubuntu.

6. 1С:ШинаОфициальная страница, посвященная 1С:Шине, содержит много полезных ссылок. Очень рекомендую внимательно изучить.

7. Об 1С:Шине – Одна из статей с нетиповым примером. Пример маленький, но статья большая.

8. А вот и Шина подъехала! – Статья состоит из 3 частей, есть интересные вещи.

 

Шина История данных RabbitMQ Apache Kafka Конвертация данных Регистры сведений интеграция архитектура ESB Сервисы интеграции Планы обмена Элемент КД Сообщения сервисов интеграции

См. также

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    133647    715    291    

384

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила тестировались на конфигурациях УПП 1.3 (1.3.220.x) и БП 3.0 (3.0.147.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    19622    130    38    

88

Перенос данных из Камин 3.0, 4.0, 5.0 в ЗУП 3.х

Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    76816    273    247    

238

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. За основу были взяты стандартные правила переноса остатков и справочной информации. Правила тестировались на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.15.x).

28000 руб.

23.07.2020    45441    194    64    

151

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9032    8    8    

10

Выгрузка-загрузка любых данных (и измененных) между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Что же Вы получаете? 2 способа обмена объектами – с ОДИНАКОВОЙ структурой и с ОТЛИЧАЮЩЕЙСЯ! Забудьте о том, что не могли ранее перенести данные между базами, из-за того, что изменилась структура объектов в одной из них с обновлением конфигурации – теперь это в прошлом! Теперь не помеха для обмена изменение состава реквизитов объекта (измерений, ресурсов)/состава табличных частей/реквизитов табличных частей/типов реквизитов! А так же получаете быстрый алгоритм обмена, с возможностью указания уровня выгрузки объектов по ссылкам! 3 способа обмена - ФАЙЛ, HTTP, COM: Система слежения за дублями предопределенных элементов при загрузке; Система поиска связей объектов для выгрузки; Отборы для каждого объекта конфигурации в отдельности; Динамическая замена произвольных ссылок при обмене; Выбор регистров движений для выгрузки. (Обновление от 22.07.2023, версия 8.10 - 10.0)

12000 руб.

28.08.2012    202260    291    278    

638

Перенос данных из УПП 1.3 в ERP 2.5, КА 2.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. За основу были взяты стандартные правила переноса остатков и справочной информации. Правила тестировались на конфигурациях УПП 1.3 (1.3.221.x), ERP 2.5 (2.5.15.x), КА 2.5 (2.5.15.x) .

28000 руб.

24.06.2020    60560    37    27    

73

Перенос данных из Камин 3.5 (5.5) в ЗиКГУ 3.х

Обмен между базами 1C Зарплата Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    56648    137    139    

112
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Silenser 589 12.02.24 16:32 Сейчас в теме
За аллегориями смысла не увидел: можете привести пример, когда функционала Кафка будет недостаточно, по сравнению с функционалом 1С Шины?
3. dsdred 3041 12.02.24 18:39 Сейчас в теме
(1)Хорошо, давайте без аллегорий.
У вас есть ERP она должна выплюнуть остатки товара одним сообщением. Это сообщение, например в формате JSON.
Оно должно уйти:
1 На кассуX и кассуY, учитываем то, что на кассах стоит frotol, который как мы знаем работает с файлами csv и чаще всего через ftp.
2 В Postgres в определенные таблицы, с postgres сайт забирает данные.
3 Без трансформации сообщения улететь, например в 1с Бухгалтерию. В бухии уже есть код, который читает json.
4 Cохранить данные в RabbitMQ c которым работают мобильные устройства. Мобильные устройства содержат код, которые читают json.

Сможет так кафка без каких-то дополнительных средств это все сделать?
dimaster; +1 Ответить
5. genayo 12.02.24 19:35 Сейчас в теме
(3) Как по мне, это какая-то лютая экзотика описана...
6. dsdred 3041 12.02.24 19:40 Сейчас в теме
(5) Ну не работаю я с малым бизнесом...
Для мне это не экзотика, а варианты задач.

П.С. Человек попросил привести пример с функционалом 1С:Шины который Кафка не сможет, я его сгенерировал.
Могу еще посложнее сгенерировать, но тут как говорится подумать надо.
7. genayo 12.02.24 21:02 Сейчас в теме
(6) Малый бизнес тут не при чем, чтобы получить такой ит ландшафт, надо очень сильно постараться :) И Шина не решит проблемы, она только добавит ещё один уровень проблем. Проверено на практике в сети из 6 тыс. розничных магазинов...
9. dsdred 3041 12.02.24 21:13 Сейчас в теме
(7)В малом бизнесе 6 тыс. магазинов не будет.
Появление проблем дает возможности к личному росту в пути к их решению ;)
10. genayo 12.02.24 21:17 Сейчас в теме
(9)Ну так-то деньги нам платят за решение проблем бизнеса, а не за "личностный рост", и решение самими же созданных проблем :)
11. dsdred 3041 12.02.24 21:22 Сейчас в теме
(10) Так оно так.
Как говорится не растет тот кто ничего не делает.
А так как мы часто делаем то чего не делали ранее, хочешь не хочешь, а расти приходится, в хорошем смысле этого слова.
16. Silenser 589 12.02.24 22:43 Сейчас в теме
(3)выплюнуть остатки сразу в csv? Мне кажется вы выдумываете проблему там, где ее нет изначально. Транспорт есть транспорт, не смотря на содержимое.
17. dsdred 3041 12.02.24 22:47 Сейчас в теме
(16)
Транспорт есть транспорт, не смотря на содержимое.

ESB - это же не только про транспорт.
Это и маршрутизация и трансформация и подключение к источникам\получателям.
33. I_G_O_R 69 24.02.24 12:35 Сейчас в теме
(3)
Сможет так кафка без каких-то дополнительных средств это все сделать?

А в шине это одной галочкой включается? Давай говорить правду, в Шине придется все это или кодить, или мышкой накликивать, оно само ничего не заработает.
С таким же успехом поднимаешь микросервис (stateless в контейнере) и делаешь все то же самое: из одного топика читаешь - в другой отправляешь, или из кафки читаешь и в кролик отправляешь. Вот прямо классическая задача для микросервиса.
34. dsdred 3041 24.02.24 13:11 Сейчас в теме
(33) Само по себе и Шина и Кафка не установится ))
Шина и затевалась как дирижер по управлению интеграциями.
Все инструменты для реализации внутри Шины есть.
36. I_G_O_R 69 24.02.24 13:21 Сейчас в теме
(34) Вы отвечаете на какой-то другой вопрос, прямо как настоящий менеджер.
Насчет "все инструменты" это Вы преувеличиваете, ну например клиента к grpc-сервису сможете написать?
37. dsdred 3041 24.02.24 13:31 Сейчас в теме
(36) У меня задачи такой не стояло. С другой стороны, до 4 версии шины и коннектора к kafke не было.
Продукт новый и он развивается. А все "хотелки" можно писать в 1С.
Люди хотели коннектор к kafke, он появился.
38. user1950534 26.02.24 16:14 Сейчас в теме
(3) сходу подумал - а что мешает в ERP регламентом создавать этот JSON и CSV одновременно, затем распихивать его по кассам, задуть в Postgre через внешние данные, ну и подложить бухгалтерии, всё это проконтролировать и если кто-то не ответил, то повторять до ус...чки

А потом понял, что получится та же шина))))
2. ivanov660 4312 12.02.24 17:30 Сейчас в теме
У меня появилось несколько вопросов, может сможете уточнить.
На сколько я понял - в рамках шины+КД, то шина выступает в качестве брокера?
Взаимодействие с 1С, я так понимаю, самый оптимальный вариант - это создание в 1С REST сервиса, через который и предлагается меняться данными - интерфейс oData видимо подходит для этих целей?
А вот писать трансформации в самой шине, для меня, пока выглядит тяжеловато. И есть ли более менее серьезные реализации обменов без КД с использованием шины?
4. dsdred 3041 12.02.24 19:15 Сейчас в теме
(2) Добрый вечер, Владимир.
У меня появилось несколько вопросов, может сможете уточнить.
На сколько я понял - в рамках шины+КД, то шина выступает в качестве брокера?


Да, но выглядит это максимально глупо. Дело в том, что КД имеет Узлы, каждый Узел создан под конкретный приемник. Соответственно, например номенклатура будет собираться на все узлы. И сообщения будут лететь в количестве равных количеству узлов.
Хотя по-хорошему должно быть одно сообщение с несколькими получателями. И инструменты — это реализовать без доработок в 1с есть.

Взаимодействие с 1С, я так понимаю, самый оптимальный вариант - это создание в 1С REST сервиса, через который и предлагается меняться данными - интерфейс oData видимо подходит для этих целей?


Ранее я тоже так считал, сейчас я пересмотрел свой взгляд. На счет oData… Она имеет ряд опасных моментов, например если через нее послать запрос без ограничения в регистр или справочник с кучей элементов, то система «вздрогнет», прям сильно «вздрогнет». Также мы не видим изменения, мы видим лишь текущее состояние запрашиваемых данных.

А вот писать трансформации в самой шине, для меня, пока выглядит тяжеловато.


Скажу честно. Для обмена между 1с-ками я не вижу смысла трансформации данных в шине.

И есть ли более менее серьезные реализации обменов без КД с использованием шины?

Я не знаю на сколько серьезна моя реализация )) Я делаю без КД. Про это я собираюсь рассказывать в следующих статьях ))
1 Для регистрации изменений я использую Историю данных и ее пост обработчик «ИсторияДанных.ВыполнитьОбработкуПослеЗаписиВерсий();». В итоге я имею три состояния. Добавление, изменение и Удаление.
В пост обработчике я использую обработку от Артёма Кузнецова https://github.com/arkuznetsov/SerLib1C ее пришлось немного подшаманить. Ее результат сохраняю в JSON и формирую сообщения сервисов интеграции указывая получателей.
2 На стороне получателей уже читаю данные. Если какие-то данные не находятся, тогда запрашиваю полную версию в базу источник и сохраняю прочитанное не до конца сообщения. Когда все данные прилетают, считываю сообщение еще раз.
Пока все в полуавтомате, но понемногу улучшаю обмен.
8. ivanov660 4312 12.02.24 21:06 Сейчас в теме
(4)
Да, но выглядит это максимально глупо.

1. Почему глупо, скорее тяжело, может не рационально. К тому, же КД 3 как раз и решают задачу приведения данных к общему бизнес формату (или должны решать), т.е. как раз обновление везде номенклатуры из MDM системы самое то.
2. Думаю, что нормальная практика для обмена данными, между двумя конкретными узлами. А широковещательные сообщения более присуще push сервисам.

Скажу честно. Для обмена между 1с-ками я не вижу смысла трансформации данных в шине.


1. Пока из всего оставшегося 1с:шина выглядит как обычный менеджер сообщений + может вытягивать данные.
2. Еще конечно хороший плюс - это общая структура маршрутизации в одном месте (можно сказать из коробки). Когда обменов много и они разные, то тут без такой штуки тяжело приходится.
3. Если не нужны правила поиска (много ли у кого стоят MDM системы?), преобразование данных, например, из заказа клиента в счет на оплату, то наверное можно обойтись без всего этого. Хотя при обмене между разными конфигурациями, какое-то преобразование все равно понадобится. В случае КД - оно брало на себя эту задачу, не очень удобно, зато в одном месте. То в случае 1С:Шины логично было бы возложить на нее эту обязанность. Как вы и где преобразуете данные? Или нет такой необходимости?

Я не знаю на сколько серьезна моя реализация ))

Ждем продолжения...
14. gybson 12.02.24 22:19 Сейчас в теме
(8)
Шина нужна для единого центра управления потоками информации. У нас свой продукт в роли шины. Вот у него внутри зашито xdto для всех видов данных. Маршруты, условия маршрутизации. Там же выгрузка в csv для внешних систем. В основе лежит Бит.Адаптер. И соответственно есть единство подхода во всех системах. Т.е. вот есть пакет с физлицом, он из зуп выгружается и дальше в этом одинаковом для всех виде летит по кролику в десяток узлов. Транспорт не принципиален, но у кролика есть маршрутизация по заголовкам, что позволяет красиво управлять маршрутами.
12. gybson 12.02.24 22:10 Сейчас в теме
(4) "потихоньку улучшаю" это на практике "пишу свою КД2-3"
Базовый функционал любого своего решения изначально мал и не дотягивает до КД.
13. dsdred 3041 12.02.24 22:13 Сейчас в теме
(12)Я не собираюсь соревноваться с КД2-3 ))
тем более они для объекта целиком заточены, я же занимаюсь только измененной частью объекта
15. gybson 12.02.24 22:32 Сейчас в теме
По шине пока непонятно как они сделают код, который пишется внутри нее, поддерживаемым, управляемым и прозрачным. Т.е. сколько дней мне надо будет потратить, чтобы поменять какой-то там маршрут или конвертацию, которые кодом регулируются.

А если у меня Apache Proton в стэке, а не кролик и кафка? За каким коннектором AMPQ спрятали?

Если кому хочется оценить зачем нужна шина и чего от нее ждать, то вот отсюда можно начать
https://www.enterpriseintegrationpatterns.com/patterns/messaging/
dsdred; dimaster; +2 Ответить
18. roman72 377 18.02.24 13:05 Сейчас в теме
Ждёмс продолжения цикла.
И отдельный вопрос на сейчас:
Хотелось бы увидеть изложение конкретного технологического преимущества шины как технологии перед брокерами сообщений. Т.е. что может только шина, но не могут кролик и кафка.
19. roman72 377 18.02.24 13:07 Сейчас в теме
Есть ещё один вопрос.
Вот такой момент - как шина увязывается с бешовной интеграцией 1С (это у них отдельная технология и у неё много преимуществ).
Как принимаете решение гнать объект через шину или через бесшовку, по каким критериям?
21. dsdred 3041 18.02.24 13:09 Сейчас в теме
(19)бесшевная в документообороте с ерп имеете ввиду?
23. roman72 377 18.02.24 13:45 Сейчас в теме
(21) Бесшовная объявлена для "любой" конфигурации, для любой пары конфигураций.
Да, с ЕРП часто бесшовку используют. Но она не только для ЕРП работает.
25. dsdred 3041 18.02.24 14:01 Сейчас в теме
(23)ну так бесшевка это что?
Веб сервис и формы. Берём глухим вебсервер и бесшевка внезапно сломалась...

Бесшевка это маркетинговое название не больше того.
20. dsdred 3041 18.02.24 13:07 Сейчас в теме
(18) продолжение будет.

По поводу вопроса прочитайте комментарий (3)
22. roman72 377 18.02.24 13:44 Сейчас в теме
(20)
Это не на мой вопрос ответ. Ответ там про частный случай и функционал технологии.
А я спросил про принципиальные отличия технологии.
То что кафке может что-то понадобиться допилить, так и шине допиливать придётся и приходится.
24. dsdred 3041 18.02.24 14:00 Сейчас в теме
(22)Шине не надо допилить то что понадобится допилить кафке.

Шина может маршрутизировать, трансвормировать и коннектится к разным приёмником и источникам в том числе и кафке. Соответственно если Шине понадобится функционал кафки она к ней конектится и все.
26. roman72 377 18.02.24 14:19 Сейчас в теме
(24) Так и Кафка с кроликом это же самое могут. Нет?
27. dsdred 3041 18.02.24 14:45 Сейчас в теме
(26)принаять данеые в xml или json сконвертировать в формат csv подключится по ftp и выкинуть файл могут?
И могут получить данные и выплеснуть в sqlмогут.

Или они все таки получают данные и отдают тем кто у них запрашивает?

В статье есть картинка вся шина концептуально, помоему наглядно.
32. I_G_O_R 69 24.02.24 12:29 Сейчас в теме
(27) Какой метод в шине умеет данные конвертировать?
35. dsdred 3041 24.02.24 13:21 Сейчас в теме
(32)Внутренним языком в Шине читаем JSON/XML и формируем CSV. По большому счету задача не трудная вставить разделитель между значениями.
28. IlyaNizamov 19.02.24 13:13 Сейчас в теме
Еще не так давно я не видел какой-то практической ценности в сервере взаимодействия, но сейчас этот продукт стал значительно функциональнее и многие начинают использовать его из-за своей тесной интеграции с 1С.

Так же будет и с шиной. Сейчас сложно сказать, зачем она нужна, ведь есть конкуренты, но пройдет время, появится много кейсов, расширится и упростится функционал, появится много обучающий материалов (в том числе и от меня). И тогда, из-за тесной и удобной интеграции многие начнут выбирать именно ее.
29. dsdred 3041 19.02.24 13:26 Сейчас в теме
(28) я тоже так считаю.
Надо думать наперед. Видимо шахматы в детстве заложили такое мышление...
30. Johnsim 19.02.24 23:35 Сейчас в теме
Минусы шины. Пункты 1 и 4. Это просто песня. Запускаю её сейчас. Продукт очень перспективный, но сырой. Нужно больше внедрений и отладки.
31. dsdred 3041 19.02.24 23:39 Сейчас в теме
(30)Согласен. Больше примеров и статей.
39. dsdred 3041 26.02.24 19:32 Сейчас в теме
(38) ))
В одной книге мне понравилось изречение которое было про код, но перефразирую ее на инфраструктуру:

"Пишите кодСоздавайте инфраструктуру так, как будто сопровождать егоее будет склонный к насилию психопат, который знает, где вы живёте"
Оставьте свое сообщение