INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Котов Дмитрий | Программист-разработчик | ООО "Саянскгазобетон"

«Автоматизация обработки потока документов, на примере разработки "Терминала путевых листов" для диспетчерской службы»

Пример возможности разработки полностью автоматизированного места для получения, обработки и возврата документов через терминал на платформе 1С:Предприятие 8.3, без участия оператора. В примере демонстрирую возможность реализации "Терминала путевых листов" в диспетчерской службе компании ООО "Саянскгазобетон". Основное направление компании - производство автоклавного газобетона. Диспетчерская служба не имеет возможности круглосуточной работы, в связи с чем сложилась проблема в своевременным возврате путевых листов от водителей. «Терминал путевых листов», продемонстрированный в докладе, позволяет решит данную проблему путем создания интерфейса прямого доступа в информационную систему с помощью нового режима запуска 1С – "Киоск". Водитель самостоятельно получает и возвращает путевой лист в прикладном решении 1С: Управление автотранспортом 2.1.

Простая подсистема обмена данными для 1С на платформе RabbitMQ (Адаптер 3)

Обмен - Обмен с другими системами

6
Подсистема позволяет организовать событийно-ориентированный обмен данными, как с базами 1С, так и любыми другими приложениями. Представляет собой конфигурацию, для встраивания в другие конфигурации (путем сравнения-объединения с постановкой на поддержку). Подсистема позволяет с одной стороны запустить обмен "из коробки" а с другой предоставляет гибкие возможности по настройке обмена. В качестве брокера сообщений, для передачи данных, используется платформа обмена сообщениями RabbitMQ. Может использоваться как часть сервисной шины предприятия .

Концепция

  1. Адаптер это отдельная конфигурация 1С, для встраивания в любую другую конфигурацию 1С (в т.ч. не типовые)
  2. Адаптер предназначен для интеграции информационных систем на базе 1С с другими информационными системами (в т.ч. не 1С) с использованием RabbitMQ
  3. Адаптер содержит в себе
    1. как готовый функционал для обеспечения обмена данными между информационными системами
    2. так и механизмы и методику подключения дополнительного функционала и интеграции
  4. Архитектурно адаптер предоставляет несколько уровней абстракции, используя разные из них пользователь может получить либо больше гибкости, либо более простую настройку:
    1. работая на самом верхнем уровне, обычный пользователь (без программирования и сложных настроек) может настроить обмен между информационными базами(с определёнными ограничениями)
    2. работая на нижнем уровне, разработчик может получать/отправлять любые данные через RabbitMQ, при этом не тратя время на разработку всех вспомогательных механизмов
  5. При интеграции адаптера в информационные системы на каждом уровне абстракции можно переопределять (заменять или дополнять) практически любые функции
    Т.е. интеграция адаптера похожа на интеграцию БСП и заключается в:
    1. добавление адаптера в конфигурацию с постановкой на поддержку
    2. переопределение некоторого набора функций согласно о потребностями методике
  6. Для интеграции с RabbitMQ используется Подсистема интеграции "реального времени" на базе RabbitMQ для 1С

Основные функции Адаптера 3

  1. Обеспечение обмена данными между информационными базами на базе 1С с другими информационными базами (в т.ч. не на 1С)  с использованием технологии RabbitMQ
  2. Двухсторонний обмен любыми видами объектов 1С
    1. при возникновении разных событий (настраивается)
    2. с учетом доп. условий (настраивается)
  3. "Online" передача данных:
    1. Каждый объект 1С выгружается в отдельном пакете (с доп. информацией)
    2. Данные могут передаваться в RabbitMQ в той-же транзакции, что и запись объекта 1С (а могут и отдельно в фоне)
    3. В случае отказа сервиса RabbitMQ, данные накапливаются в регистре и затем передаются той-же последовательности
    4. Загрузка данных (по умолчанию) выполняться в той же последовательности, что и отправка с максимальной скоростью, с которой позволяет оборудование и прикладной код
    Таким образом обеспечивается:
    1. Максимальная скорость передачи данных
    2. Целостность данных
    3. Возможность гибкой маршрутизации данных на уровне RabbitMQ
  4. Обмен в нескольких форматах:
    1. "Платформенная сериализация" с возможностью передачи связанных данных
    2. Свой формат, с расширенными возможностями
    3. Любой пользовательский формат (требуется программирование)
  5. Конвертация объектов при обмене на уровне адаптера:
    1. Для части типовых конфигураций и БИТ:MDM правила конвертации встроены в адаптер (поставляются с адаптером)
    2. Для прочих преобразований в адаптере реализован удобный программный интерфейс
      (В отличии от 1С:Конвертация данных 2.0 интерактивная настройка правил конвертации не предусмотрена. Толька программная конвертация)
  6. Встраивание в любые конфигурации 1С, использующие платформу не ниже 8.3.9 (БСП не требуется)
  7. Интеграция "из коробки" (вообще без настроек) с БИТ:MDM.
    При использовании совместно с БИТ:MDM дополнительные возможности по построению единого информационного пространства на предприятия (общая НСИ)

Для каких задач подходит Адаптер 3 уже сейчас:

  1. Интеграция 1С со сторонними сервисами, поддерживающими обмен через RabbitMQ
  2. Интеграция между базами 1С (и не 1С), с поддержкой обмена ограниченным составом объектов с описанной логикой конвертации
  3. Интеграция с БИТ:MDM

Планы на ближайшие версии:

  1. Транспорт для типовых обменов (т.е. конвертацией занимаются типовые обмены, а транспортом сообщений - адаптер)
  2. Обмены в других форматах "из коробки" (OData)
  3. Сервисная шина предприятия (ESB)

Задачи, для которых Адаптер 3 использовать не планируется:

  1. РИБ. Технически это реализуемо, т.е. нужно всего лишь к уже поддерживаемому формату платформенной сериализации добавить возможность передачи конфигурации и методику/логику обновлениями поддержки целостности. Но есть сомнения в востребованности.
  2. Замена типовых обменов, в т.ч. самодельная конвертация данных. Это сложно реализуемо, проще сделать инкапсуляцию типового обмена в сообщения адаптера.

Информация для покупателей

  • При покупке "Адаптер 3" предоставляется бессрочная лицензия. Количество рабочих мест не ограничено
  • Обновления приобретаются отдельно в виде подписки сроком на 1 год. При оформлении подписки предоставляется доступ к каталогу обновлений.
  • Код 1С открыт, но находится на поддержке в режиме поставки. Для организации обмена используется внешняя компонента (исходный код С++ закрыт)
  • Бесплатная техническая поддержка предоставляется на срок 30 календарных дней с момента покупки ПО. Дальнейшая поддержка осуществляется в рамках "Ежегодного доступа к обновлениям Адаптера 3"

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

  • Адаптер 3 может использоваться совместно с любой конфигурацией на платформе 8, работающей в режиме Управляемое приложение в клиент-серверном варианте
  • Проверена работа во всех релизах платформы начиная с 8.3.9
  • Для работы используется внешняя компонента поддерживающая архитектуры x64 и x32 Windows
  • Работа подсистемы проверена на серверах RabbitMQ в режимах
    • простой локальной установки
    • сложной топологии с применением плагинов Federation и Shovel
    • в режиме "высокодоступного кластера"
    • в режимах гибридного кластера с применением облачного сервиса CloudAMQP 

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

  1. Готовое решение, позволяющее запустить обмен "из коробки" без дополнительного программирования
  2. Простое решение как с точки зрения настроек, так и с точки зрения доработок (в отличии от Конвертации данных). 
  3. Технологичное решение, позволяет получить все плюсы от использования RabbitMQ
    1. поддерживает работу в режимах высоких нагрузок
    2. высокая надежность доставки благодаря "высокой доступности" серверов RabbitMQ
    3. позволяет отказаться от обмена в режиме "точка-точка" (как в обменах на базе Конвертации данных) с помощью низкопроизводительных SOAP и  HTTP сервисов

    4. обеспечивает единый протокол интеграции для разных систем

  4. Накоплена практика использования Адаптера, как части механизма интеграции с БИТ:MDM на реальных проектах

  5. Цена не зависит от количества интегрируемых систем

6


Новый вопрос

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

См. также