Подсистема интеграции "реального времени" на базе RabbitMQ для 1С

Администрирование - Сервисные утилиты

Подсистема для организации обмена между конфигурациями 1С, а также сторонними системами на любом языке в режиме "реального времени" с помощью концепции Event Driven Architecture. На базе сервера очередей RabbitMQ при помощи протоколов AMQP, MQTT. Codename "Yellow Rabbit MQ"

Мир развивается и всем нужна интеграция

  • Хотите ли Вы передать розничный чек также быстро как это делает оператор фискальных данных ? Причем если Ваш магазин находится в Благовещенске, а центральный сервер в Калининграде ?
  • Вы хотите получать события телеметрии с устройств IoT внутрь Вашей 1С конфигурации по протоколу MQTT, чтобы вести учет в мире "интернета вещей" ?
  • Вы хотите реализовать принципы слабой связанности между своими конфигурациями ? Когда данные передаются с гарантией доставки ?
  • Вы хотите выводить на обслуживание свою "Управление торговлей" и не терять заказы с сайта ?

Yellow Rabbit MQ

Команда "SilverBulleter's" представляет свой продукт позволяющий вам добиться интеграции в режиме реального времени, сохранив слабую связанность систем, а также:

  • повторного использования уже разработанной топологии интеграции 
  • возможность вывода отдельных систем на эксплуатацию без потери передаваемых данных
  • обеспечить предпосылки к внедрению шин данных
  • интегрировать в 1С устройства "интернета вещей" посредством моста MQTT-to-AMQP

Причины купить

Подсистема

  • поддерживает работу в режимах высоких нагрузок
  • обеспечивает гарантированность доставки событий с помощью механизма "высокой доступности" серверов RabbitMQ

Позволяет отказаться

  • от обмена в режиме "точка-точка" с помощью низкопроизводительных SOAP и  HTTP сервисов

Полезна для разработчиков

  • повышает компетенцию
  • обеспечивает единый транспортный протокол интеграции вне зависимости от языка программирования

 

Достоинства

Продукт представляет собой:

  • Подсистему для конфигураций на базе 1С Предприятие 8.3 с русскоязычными методами интеграции
  • 1C NativeAPI компоненту на С++ реализующую протокол AMQP 0.9.1 включая возможность работы в режиме удаленного вызова процедур (RPC) с английскими именами методов
  • Документацию в формате PDF для подсистемы и компоненты с описанием
    • порядка встраивания в конфигурацию 1С потребитель
    • методов подсистемы 1С для передачи сообщений и удаленного вызова процедур
    • методов внешней компоненты NativeAPI

Состав подсистемы

  • Поддержка асинхронной обработки очередей сообщений
  • Поддержка автоматической регистрации через административный справочник обработчиков
  • Удаленный вызов процедур (RPC) с помощью протокола AMQP
  • Демонстрационную обработку, позволяющую настроить подключение и передавать сообщения

Более подробно с подсистемой можно ознакомится на основе документации и на основе демонстрационной конфигурации 1С.

Примеры бизнес-сценариев с 1С (на основе проектов 2016-2018 годов)

  • Онлайн чековая лента
    • Данные о событие с кассового места в центральной системе 1С, в системе аналитики и в личном кабинете пользователя, включая систему лояльности
       
  • Онлайн резервирование

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

 

  • Онлайн остатки на сайте

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

 

  • Онлайн платёжный календарь

    • Обеспечение единого окна планирования финансовых потоков в режиме реального времени с функцией онлайн прогнозирования при помощи математической статистики для 1С систем.

 

  • Онлайн контроль телеметрии устройств

    • Хранение и обработка данных с устройств внутри 1С системы для организации бизнес-логики - позаказное производство, контроль состояния запасов и т.д. По протоколам MQTT, ModBus.

 

  • Онлайн бизнес-аналитика

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

 

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

 

Примеры интегрируемых платформ с 1С (на основе проектов 2016-2018 годов)

  • MS Navision/Axapta (Dynamics) - посредством C# SDK от Microsoft
  • QlickView - посредством C# SDK от компании  Qlick
  • Python Django - посредством библиотеки kondo (с поддержкой сжатия)
  • Terrasoft CRM  (BPM Online) - посредством C# SDK от компании Terrasoft
  • Bitrix PHP - посредством библиотеки php-amqp
  • Moodle PHP - посредством библиотеки php-amqp
  • OScript - посредством библиотеки oscript-rabbitmq
  • Frontol POS - посредством C# SDK от Microsoft и JavaScript SDK от компании Атол

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

 

Форматы обмена

  • JSON - работа в 1С происходит посредством объектов ЗаписьJSON, ЧтениеJSON
  • XML - работа в 1С происходит посредством объектов ЗаписьXML, ЧтениеXML
  • ДвоичныеДанные - начиная с версии 8.3.10 в 1С существует штатный объект для работы с двоичными данными http://v8.1c.ru/o7/201602bin/index.htm
  • ZLIB - все данные передаваемые из 1С или получаемые в 1С могут автоматически упаковываться и распаковываться (используется по умолчанию при интеграции с платформой Django)

 

Дополнительно

Процесс разработки в команде "Серебряная Пуля" полностью соответствует концепции CI-CD, то есть

  • имеет близкое к 100% покрытие сценариями поведения BDD кода 1С и С++
  • проверяется каждое изменение кода в режиме "ночной сборки" и перед выпуском очередного релиза
  • релиз подсистемы проверяется на качество кодирования автоматизировано с помощью платформы SonarQube - плагины для С++ и 1С 

Техническая информация

  • проверена работа во всех релизах начиная с 8.2.19 вплоть до 8.3.12
  • компонента поддерживает архитектуры x64 и x32 Windows контуров 1С
  • версия для Linux x32 и x64 на базе GCC (Ubuntu, Debian, CentOS, RedHat, etc)
  • работа подсистемы проверена на серверах RabbitMQ в режимах
    • простой локальной установки
    • сложной топологии с применением плагинов Federation и Shovel
    • в режиме "высокодоступного кластера"
    • в режимах гибридного кластера с применением облачного сервиса CloudAMQP 

"Часто задаваемые вопросы разработчика"

  • Почему RabbitMQ ?
    • по нашим тестам за последние 4 года совокупная стоимость владения контуром RabbitMQ наиболее низкая из всех серверов реализующих протокол AMQP, а также важный момент - RabbitMQ используется для интеграции телеметрии внутри платформы OpenStack и создавался изначально, чтобы быть максимально производительным в режимах высокой доступности и отказоустойчивости. 
  • Какой формат передачи данных выбрать ?
  • Как мониторить RabbitMQ ?
    • мы советуем использовать уже готовый шаблон Zabbix https://github.com/jasonmcintosh/rabbitmq-zabbix 
    • или использовать облачный сервис CloudAMQP со встроенным мониторингом
  • Как настроить высокую доступность и отказоустойчивость RabbitMQ ?
    • используйте https://github.com/silverbulleters-forks/docker-rabbitmq-cluster/blob/master/docs/RU-README.md в качестве персональных экспериментов
    • попросите своих администраторов настроить контур RabbitMQ согласно штатной инструкции
    • используйте облачный сервис CloudAMQP со встроенной поддержкой отказоустойчивости и высокойдоступности
  • Как обеспечить гарантированность доставки ?
    • для сообщений, которые вы хотите доставить "обязательно" необходимо
      • устанавливать флаг persistence равным истина в методе BasicPublish
      • а очередь, которую вы определяете для храненя сообщений вы указываете как "durable" = истина в методе DeclareQueue
      • таким образом очередь будет гарантирована сохранена на диск "в случае аварии" и сообщения которые в ней хранятся будет сохранены в базе RabbitMQ (Mnesia)
    • в подсистеме 1С - по умолчанию все сообщения и очереди создаются как гарантированные к доставке
    • в облачном сервис CloudAMQP дополнительно настроена политика "высокой доступности" - когда очереди и сообщения сохраняются между нодами кластера и гарантированно будут доставлены даже если обрушилось "железо"
    • полезно изучить следующий материал https://www.rabbitmq.com/ha.html
  • Что такое событие ?
    • документ проведен, это конечно событие, но лучше всего использовать конкретные бизнес-события "в заказе покупателя добавлена новая строка".
  • Я интегрируюсь через COM соединение, SOAP,  HTTP и почему через вашу компоненту лучше ?
    • протокол AMQP подразумевает слабую связанность интегрируемых систем, таким образом отправив событие на сервер AMQP, источник события может дальше продолжить свою работу или уйти на обслуживание. Ответственность за гарантированную доставку берет на себя сервер RabbitMQ. Технологии COM, SOAP, HTTP подразумевают связь "точка-точка" между интегрируемыми системами.

"Часто задаваемые вопросы покупателя"

  • Как защищен код 1С ?
    • код 1С открыт, но находится на поддержке в режиме поставки
  • Как защищена компонента ?
    • исходный код С++ закрыт
    • компонента и подсистема поставляется в режиме персональной сборки с включением идентификации по клиенту
    • обновления поставляются только легальным пользователям и не включенным в черный список
    • в черный список попадают пользователи чья подсистема и компонента обнаружена в не принадлежащий ему конфигурациях 1С или опубликованной публично
    • такой порядок сделан для того, чтобы не добавлять проблем с ключами защиты на продуктивных серверах 1С
  • Можно ли купить подсистему без консультационной поддержки ?
    • Да конечно, методы компоненты и подсистемы описаны достаточно понятно и в целом позволяют их использовать без консалтинга.
  • Куда задавать вопросы ?
    • В техническую поддержку Инфостарт.ру
  • Почему запрещены комментарии к данной публикации ?
    • Чтобы не было архитектурных священных войн, что интеграция через ПланыОбмена это "наше всё"
  • Сколько длится бесплатная техническая поддержка ?
    • первый месяц с момента отгрузки персонального дистрибутива
    • в дальнейшем техническая поддержка предоставляется при покупке подписки на обновление.
  • Каков порядок покупки ?
    • Вы делаете заказ
    • Вы оплачиваете заказ
    • Мы отгружаем Вам персональный дистрибутив в течении двух суток, с прошивкой ваших параметров внутрь сборки
  • Существует ли демо ?
    • Да. Опубликовано для скачивания в этой публикации.

Демонстрационная компонента и демонстрационная подсистема для презентации возможностей


Ограничения в демонстрационной компоненте:

  • Привязка к одному имени exchange (одна точка обмена)
  • Привязка к одному имени очереди
  • Возможен только пустой RoutingKey
  • Отсутствует возможность сжатия сообщений
  • Для всех сообщений выставляется срок жизни в 20 минут
  •  Отправка и прием не более 500 сообщений на экземпляр объекта компоненты.

Код демо-подсистемы 1С открыт и повторяет API обычной подсистемы, поставляемой уже в дистрибутиве платного продукта

Сравнение версий

Текущая версия

  • 1.4.0.1
    • В компоненте RMQ: Реализовано сжатие данных для передаваемых и получаемых сообщений средствами zlib
    • В компоненте RMQ: Реализована поддержка двоичных каналов передачи (ранее передавался только текст utf-8)
    • Добавлен справочник СерверыОчередей для хранения настроек в среде с множеством серверов
    • Расширен API процедур-обработчиков сообщений, с возможностью отказа и повторной постановки в очередь получаемых сообщений
    • Разделены настройки подписки на конкретную очередь и процедуры обработки сообщений. Добавлен справочник ОбработчикиОчередейRMQ, позволяющий более гибко настроить привязку очередей к обрабатывающему коду.
    • Устранена необходимость задания имен очередей сервисов RPC в коде приложения. Все подписки настраиваются в режиме 1С:Предприятие
    • Расширены возможности стандартных обработок ПолучательСообщений и ИздательСообщений
    • Подробный список изменений находится в прилагаемой документации.
       

План релизов

  • 1.5.0.1 - поддержка Apache Kafka в виде отдельной подсистемы и улучшения подсистемы 1С по запросам клиентов

Гарантия возврата денег

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом течение 14-ти дней со дня поступления денег на наш счет.

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

Для возврата оплаты просто свяжитесь с нами.

Документация

Наименование Файл Версия Размер
YellowRabbitMQ.pdf
.pdf 316,98Kb
16.04.18
222
.pdf 2018-03-30 316,98Kb 222 Скачать бесплатно

Все

Наименование Файл Версия Размер
Подсистема интеграции "реального времени" на базе RabbitMQ для 1С: Демонстрационная подсистема и демонстрационная компонента 1С
.zip 2,68Mb
23.04.18
13
.zip 1.4.0 2,68Mb 13 Скачать бесплатно
23.04.2018
1.2.1.1 31 89000 руб.
23.04.2018
4 9900 руб.
23.04.2018
15000 руб.


Новый вопрос

E-mail*
Тема (вопрос)*

См. также