Продукты / Шина данных

Шина данных

Система обмена данных между системами

Как упорядочить обмен между различными сиситемами, работающих в разных средах ?

Существует два метода обмена:

Обмен точка-точка, и обмен через единый центр.

Когда систем обмена всего две, обмен точка-точка является неиболее эффективным методом.

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

В шине данных настраиваются все свойства систем, учавствующих в обмене, каналы обмена данными, адаптеры для стыковки с API каждой системы.

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

Каждый пакет информации, попадающий в обмен называется входящим сообщением, и для него фиксируется время появление, система, содержимое. Обычно используется формат xml, или json. Но, в ряде случаев, используются csv и другие форматы.

После появления сообщения от поставщика, происходит его предварительная обработка, тестирует на наличие ошибок. Обработанное сообщение попадает в канал данных. Далее сообщение обрабатывается для каждого подписчика в формат, понятный его API, и передается подписчику.

Все состояния сообщения фиксируются, таким образом, в случае возникновения ошибки, точно известно, какое было сообщение, куда оно попало, а куда нет.

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

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

Также используются адапреры обмена с сайтами, каталогами, EDI провайдерами и др.