Свяжитесь с нами
Или мы Вам перезвоним
Заказать звонок
Даю согласие на обработку персональных данных в соответствии с политикой в отношении обработки персональных данных
Спасибо, Ваше обращение принято!
Мы свяжемся с Вами в самое ближайшее время.
Личный кабинет
Уже были у нас? Войти
Спасибо, Ваше обращение принято!

Мы свяжемся с Вами в самое ближайшее время.

Мы Вам перезвоним
Даю согласие на обработку персональных данных в соответствии с политикой в отношении обработки персональных данных
Внедрение, сопровождение, интеграция 1С:Предприятия
+ 7 (812) 325-40-45
Заказать звонок

Шины данных и интеграции. Musthave цифровой трансформации бизнеса. ESB шина данных. Интеграция 1С

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

photo

Тренд на микросервисную архитектуру

В последние годы микросервисные IT-архитектуры активно конкурируют с монолитными, минусы которых стали очевидными с течением времени. Микросервисы же нейтрализуют свои недостатки за счёт новых технологий и подходов.

Некоторые заказчики до сих пор считают, что вести весь учёт в единой системе спокойнее и дешевле. Но рынок меняется, и мы видим, как затраты на поддержание микросервисной архитектуры становятся сравнимы с поддержанием неповоротливого монолита. Рынок IT пришёл к тому, что интеграция – это нестрашно. И самое главное – микросервисная архитектура позволяет бизнесу быстрее меняться, что крайне важно в наших реалиях.

Если есть два решения, которые хорошо выполняют свои задачи и дополняют друг друга, внедряйте оба эти решения. 20 решений? Значит внедряйте 20 решений. Обмен между системами будет осуществлён при помощи шин данных, которые и были созданы для выполнения таких задач.

photo

Что из себя представляют шины данных – системы класса ESB

Шины данных – инструмент повышения надёжности интеграций и снижения издержек на их разработку и сопровождение.

Они выполняют следующие функции:

  • Гарантия доставки сообщений.

  • Асинхронный обмен данными.

  • Мониторинг состояния интеграций и визуализация топологии.

Обмен с использованием шин данных происходит на базе событий:

Пользователь завёл документ –> документ в режиме реального времени попал в интегрированную систему

Благодаря этому постепенно отмирает необходимость выгрузки данных.

Мы делим шины данных на две группы – монолитные и компонентные ESB-решения.

Монолитные ESB-решения

В монолитных решениях единый комплекс программ реализует все функции шины данных.  

Монолитные шины данных:

  • Microsoft BizTalk

  • Oracle ESB

  • SAP ESB

  • Mule

  • Apache NIFI

ESB-монолиты отечественного производства:

  • Datareon – российское решение не на платформе "1С", но писалось в том числе и для того, чтобы работать с 1С. Само по себе довольно универсальное.

  • 1C:Интеграция

  • 1С:2is

  • 1С:Шина

Преимущества ESB-монолитов:

  • Можно внедрить силами интегратора, не привлекая свои трудовые ресурсы.

  • Как правило, имеют мощную визуализацию топологии.

  • Могут внедряться в nocode-варианте – настройка происходит в графическом интерфейсе программы.

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

Компонентные ESB-решения

Компонентные шины данных состоят из отдельных модулей (компонентов), каждый из которых выполняет определённую функцию:

  • ETL/ELT-модули – трансформируют сообщения.

  • Брокеры сообщений – диспетчеризируют сообщения, обеспечивают асинхронный обмен.

  • Коннекторы к базам данных – нужны для того, чтобы транспорт сообщений и база данных могли "общаться".

  • Визуальная среда – обеспечивает наглядный мониторинг за производительностью и состоянием интеграций.

Компонентные шины данных прижились в 1С среде и нашей практике.

Преимущества компонентных шин данных:

  • Большинство из компонентов – это бесплатные open-source-решения.

  • Администрирование каждого компонента может выполнять та или иная служба, нет необходимости выделять целое подразделение под поддержание работы шины данных.

Из минусов – требуют более вдумчивого подхода. Здесь нет универсальных способов и внедрений "по шаблону": под каждый проект нужно грамотно подбирать эти инструменты.

Наша разработка – компонентная шина данных на базе RabbitMQ

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

Форматом обмена данными в нашем случае выступает популярный в 1С-среде Enterprise Data. Единый формат обмена – это удобно, потому что в таком случае не надо учить системы работать друг с другом.

У нас системы подчиняются одному формату, но это необязательно: RMQ поддерживает много форматов обмена данными, например, взаимодействие с внешними контрагентами и сервисами можно реализовывать на JSON, XML или Excel.

Помимо RMQ и универсального формата обмена данными, в нашей ESB-системе есть средства для визуализации обменов и средства для интеграционных тестов. При разработке, внедрении и дальнейшей поддержке информационной системы, например, 1С:ERP, мы непрерывно формируем сценарные тесты по интеграциям, тем самым заранее учим системы понимать, что такое успешный обмен. В нашем случае обмены тестирует Ванесса – инструмент сценарного тестирования, написанный на языке Gherkin.

Даже если документ пришёл из одной системы в другую, он мог быть неправильно трансформирован или неправильно проведён – это и проверяет Ванесса. Если возникла ошибка, администратор шины данных увидит её ещё до того, как рабочая среда информационных систем обновится. Так мы обеспечиваем высокую надёжность и бесконечную горизонтальную масштабируемость решения.

Преимущества нашего решения:

  • Нет высоких затрат на добавление новой системы

  • Поддержка небольшим количеством трудовых ресурсов

  • Низкая стоимость владения

  • Высокая производительность

Для эффективного обмена Rabbit MQ с продуктами "1С" используют специальные адаптеры. Мы работаем со следующими:

  • Адаптер от Silver Bulleters (yellow rabbit MQ)

  • БИТ.Адаптер

  • 1C2RMQ от СофтБаланс

Помимо RMQ и универсального формата обмена данными, в нашей ESB-системе есть средства для визуализации обменов и средства для интеграционных тестов. При разработке, внедрении и дальнейшей поддержке информационной системы, например, 1С:ERP, мы непрерывно формируем сценарные тесты по интеграциям, тем самым заранее учим системы понимать, что такое успешный обмен. В нашем случае обмены тестирует Ванесса – инструмент сценарного тестирования, написанный на языке Gherkin.

Мониторинг состояния информационных систем

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

  • "Ситуационный центр" для мониторинга за ИС 1С:Корпорации
  • Дашборды для администраторов баз данных: позволяют следить за тем, что происходит с системой, в режиме онлайн: Allure/Prometeus+Grafana
  • Непрерывное слежение за производительностью
    • позволяет избавиться от эффекта плавного замедления
    • расчет APDEX встроенными средствами в 1С:Корпорации

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

photo
photo

Сервисоориентированная архитектура и поэтапное внедрение ERP

Важный тренд, связанный с сервисориентированной архитектурой, – поэтапное внедрение ERP-системы.

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

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

Как это выглядит на практике?

  1. Внедряем управление справочниками.

  2. Организуем интеграции.

  3. Определяем очереди для запуска подсистем.

  4. На каждом этапе появляются новые обмены и отмирают уже ненужные.

Ниже представлена реальная дорожная карта одного из наших проектов. Для поэтапного внедрения системы 1С:ERP нам потребовалось более 100 обменов, которые появлялись и упразднялись в течение трёх лет.

photo

Такой подход позволяет реализовывать проекты на несколько тысяч пользователей, например, для перехода с 1С:УПП на 1С:ERP. Переводы "разом" теперь возможны только для микропредприятий.

Что есть кроме Rabbit MQ?

Кроме RMQ мы советуем присмотреться к следующим брокерам сообщений:

photo

Apache – может своими встроенными средствами реализовать "откат" до любого состояния информационной системы в части обменов.

Redis – тоже быстрые и удобные обмены.

Tarantool – ещё одно отличное решение российского IT-рынка:

  • NoSQL-СУБД – полноценная база данных
  • In-Memory вычисления
  • Использует частично компилируемый код – язык "LUA"
  • Производительность на уровне самых сложных BigData-нагрузок
  • 10 000 транзакций в секунду – легко!
  • Можно реализовать: ETL/ELT, брокер сообщений, любую бизнес-логику

Изменения в IT, технологиях, бизнесе заставляют нас активно внедрять и использовать новые инструменты. Следите за трендами, не пренебрегайте open-source разработками, смотрите не только в сторону "1С".  Правильно подобранные инструменты могут усилить нашу 1С:Предприятия и мы получим колоссальный бизнес-эффект.