Почему простая задача сделать быструю и надёжную интеграцию систем в наше суперавтоматизированное время превращается в катастрофу?
Уже почти 20 лет на рынке есть инструменты, которые позволяют быстро, надёжно и прозрачно для всех управлять интеграциями между системами. Более того, такие инструменты являются основополагающей концепцией
сервис-ориентированной архитектуры. Почему многие команды не использует или используют неверно этот подход, мы поговорим в конце. А начнём с решения задачи.
Собирательно такие инструменты называются middleware, т .е. промежуточный слой. Сам по себе этот слой на первый взгляд не несёт ценности. Но точно так же не несёт прямой ценности ровная дорога между вашим домом и рестораном.
Более точно такие решения называются шинами, т. е. набором программного обеспечения, который позволяет забрать данные из одной системы (например, товары из 1С), положить к себе в промежуточное хранилище и отправить в другую — например, в Wildberries.
Этот слой «знает», что напрямую товары из 1С передать в Wildberries нельзя и что свойство «цвет», например, нужно преобразовать особым образом. Этот слой также может «знать», что в 1С хранится не вся информация о товаре, и фото товаров перед отправкой на маркетплейс нужно забрать из какой-то другой вашей системы или даже из интернета.
За счёт чего обеспечиваются быстрота, надёжность и прозрачность?
Быстрота обеспечивается за счёт того, что вашему 1С-разработчику не нужно писать логи, мониторинг, узнавать, как устроен Wildberries и т. д. 1С-разработчик изначально знает, что если его система является мастер-системой по товару, то в его сферу ответственности уже входит коннектор к шине и собственно качественные данные в 1С. Т. е. он, фактически, может настроить передачу задолго до появления задачи по выгрузке.
Строго говоря, каждая система «знает», за какие данные она ответственна. Так, ваша 1С может быть ответственна за товары и цены, а складская программа — за остатки. Она же несёт ответственность за появление и обновление этих данных в промежуточном слое — для хранения в соответствующей очереди брокера.