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

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! 10%

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

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    166952    336    278    

376

Перенос данных 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 руб.

12.06.2017    141999    802    297    

421

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

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

35000 руб.

15.12.2021    24261    171    51    

130

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

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

35000 руб.

23.07.2020    51769    229    70    

187

SALE! 10%

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171372    304    257    

379

SALE! 10%

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

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56351    60    105    

61

SALE! 10%

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36788    95    66    

92

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

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

12000 руб.

25.09.2016    80945    315    250    

267
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Silenser 613 12.02.24 16:32 Сейчас в теме
За аллегориями смысла не увидел: можете привести пример, когда функционала Кафка будет недостаточно, по сравнению с функционалом 1С Шины?
user1107052; +1 Ответить
3. dsdred 3642 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; +2 Ответить
5. genayo 12.02.24 19:35 Сейчас в теме
(3) Как по мне, это какая-то лютая экзотика описана...
6. dsdred 3642 12.02.24 19:40 Сейчас в теме
(5) Ну не работаю я с малым бизнесом...
Для мне это не экзотика, а варианты задач.

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

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

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

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


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

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


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

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


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

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

Я не знаю на сколько серьезна моя реализация )) Я делаю без КД. Про это я собираюсь рассказывать в следующих статьях ))
1 Для регистрации изменений я использую Историю данных и ее пост обработчик «ИсторияДанных.ВыполнитьОбработкуПослеЗаписиВерсий();». В итоге я имею три состояния. Добавление, изменение и Удаление.
В пост обработчике я использую обработку от Артёма Кузнецова https://github.com/arkuznetsov/SerLib1C ее пришлось немного подшаманить. Ее результат сохраняю в JSON и формирую сообщения сервисов интеграции указывая получателей.
2 На стороне получателей уже читаю данные. Если какие-то данные не находятся, тогда запрашиваю полную версию в базу источник и сохраняю прочитанное не до конца сообщения. Когда все данные прилетают, считываю сообщение еще раз.
Пока все в полуавтомате, но понемногу улучшаю обмен.
8. ivanov660 4583 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 3642 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 390 18.02.24 13:05 Сейчас в теме
Ждёмс продолжения цикла.
И отдельный вопрос на сейчас:
Хотелось бы увидеть изложение конкретного технологического преимущества шины как технологии перед брокерами сообщений. Т.е. что может только шина, но не могут кролик и кафка.
19. roman72 390 18.02.24 13:07 Сейчас в теме
Есть ещё один вопрос.
Вот такой момент - как шина увязывается с бешовной интеграцией 1С (это у них отдельная технология и у неё много преимуществ).
Как принимаете решение гнать объект через шину или через бесшовку, по каким критериям?
21. dsdred 3642 18.02.24 13:09 Сейчас в теме
(19)бесшевная в документообороте с ерп имеете ввиду?
23. roman72 390 18.02.24 13:45 Сейчас в теме
(21) Бесшовная объявлена для "любой" конфигурации, для любой пары конфигураций.
Да, с ЕРП часто бесшовку используют. Но она не только для ЕРП работает.
25. dsdred 3642 18.02.24 14:01 Сейчас в теме
(23)ну так бесшевка это что?
Веб сервис и формы. Берём глухим вебсервер и бесшевка внезапно сломалась...

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

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

Шина может маршрутизировать, трансвормировать и коннектится к разным приёмником и источникам в том числе и кафке. Соответственно если Шине понадобится функционал кафки она к ней конектится и все.
26. roman72 390 18.02.24 14:19 Сейчас в теме
(24) Так и Кафка с кроликом это же самое могут. Нет?
27. dsdred 3642 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 3642 24.02.24 13:21 Сейчас в теме
(32)Внутренним языком в Шине читаем JSON/XML и формируем CSV. По большому счету задача не трудная вставить разделитель между значениями.
28. IlyaNizamov 19.02.24 13:13 Сейчас в теме
Еще не так давно я не видел какой-то практической ценности в сервере взаимодействия, но сейчас этот продукт стал значительно функциональнее и многие начинают использовать его из-за своей тесной интеграции с 1С.

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

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