Что такое интеграция и с чего ее начинать
Как правило, в компаниях используются разные системы — CRM, ERP, WMS и другие: одна считает количество товаров в наличии, другая оценивает их стоимость, третья решает, как их распределять, и т. д. Когда данных немного, сотрудники могут их переносить из одной системы в другую вручную. Но когда приходится работать с большими объемами разной информации, человеческий труд обходится дорого, занимает много времени и приводит к большому числу ошибок. В этом случае как раз и необходима интеграция, которая позволит всем системам обмениваться данными друг с другом автоматически.
Интеграция позволяет:
Сделать процессы в компании прозрачными, сквозными и бесперебойными. То есть менеджер может на одном экране видеть, что происходит на каждом этапе всех процессов. Ему не нужно открывать базы разных систем, чтобы в одной найти точное наименование клиента, в другой узнать его статус, в третьей — историю заказов.
Унифицировать данные в компании. В одной системе один и тот же контрагент может быть записан как ООО “N”, в другой — как холдинг “N”. И, опять же, когда таких данных огромное количество, сотрудники не способны все это удерживать в голове, и происходят сбои.
Одним словом, интеграция — это фундамент, на котором держится весь будущий проект.
С чего начинать интеграцию?
Для начала нужно проанализировать цели компании и понять, какие процессы в них участвуют. Например, цель — сделать продажи прозрачными. В этом случае оцениваем следующие факторы:
Какая информация у нас движется в процессе продаж?
В каких системах и в каком виде она присутствует?
Рисуем потоки данных между этими системами.
После такого описания бизнес-процессов выбираем способы интеграции — логические и технические.
Логические способы интеграции
Какой может быть интеграция?
Онлайн. Обмен данными идет в реальном времени. Допустим, интернет-магазин выставляет счет в CRM, но формируется он в ERP. Соответственно, эти две системы должны передавать данные друг другу в режиме реального времени.
По расписанию. Например, остатки за день система WMS обрабатывает ночью и отправляет данные в CRM.
Вручную.Скажем, если номенклатура товаров небольшая и меняется редко, то новые позиции можно добавлять или удалять вручную.
Чаще всего в компании эти варианты интеграции сочетаются. Продолжим последний пример. Можно добавлять товары вручную, а вот цены (например, если они зависят от курсов валют или объемов товара) меняются часто, и этими данными соответствующие системы уже должны обмениваться в режиме онлайн.
Технические способы интеграции
Сейчас самый распространенный способ связать разные системы — посредством API, программный интерфейс приложения. Но системы в какой-то момент могут не понять друг друга — тогда существующий API нужно дополнить, чтобы они обменивались определенными типами данных в рамках различных процессов, необходимых для достижения конкретных бизнес-целей.
Да, есть так называемые коннекторы, имеющие определенный набор дополнений для API, что позволяет подключить одну систему к другой. Коннекторы упрощают и, соответственно, удешевляют интеграцию, однако обладают ограниченным функционалом, которого может в какой-то момент не хватить бизнесу.
Какие это могут быть ситуации?
Разный «темперамент» систем: бывают «быстрые» и «медленные». Пример первой — телефония: звонок поступает и с ним нужно что-то сделать прямо сейчас. Но может понадобиться запросить информацию о клиенте на том конце провода — скажем, нет ли у него задолженностей. И этот запрос как раз и отправляется в «медленную» систему — ERP, которая в это время занята другими задачами. Когда она обработает тот или иной запрос? Что будет, если таких запросов скопится много? А если такой коллапс случится не с одной системой, а с несколькими? На эти вопросы нужно дать ответы заранее, дабы весь бизнес просто не остановился.
Некорректность данных. Частая ситуация, когда в одной системе счета записаны в виде букв и цифр, а во второй — только в виде цифр и они не могут обменяться нужной информацией
Нештатные ситуации. Например, разрыв на линии, когда данные из точки А в точку В не пришли. У большинства коннекторов нет системы контроля передачи данных. Тот, кто отправил, должен получить подтверждение, что информация принята. А если такого подтверждения не приходит — непонятно, что делать.
Все исключительные ситуации создают дополнительную нагрузку на системы. Если нужно из одной системы в другую раз в неделю перенести 10 строчек данных, то исключительные ситуации здесь будут крайне редки. Но если речь идет о том, что ежечасно системы отправляют друг другу тысячи сообщений, — ошибки неизбежны и их обработку лучше автоматизировать.
Какие дополнительные технические варианты интеграции можно добавить к API, чтобы укрепить тот фундамент, на котором будет работать бизнес?
Система мониторинга ошибок. Она позволит выявлять любые сбои в системах и отправлять их специалистам на разбор. Когда объем данных большой и самих систем много, на помощь приходят системы мониторинга, которые сообщают администраторам, что в таком-то месте образовалась проблема.
Диспетчеры очередей. Они позволяют направлять потоки запросов, сортировать их.
Шина данных. Отдельный класс систем, которые управляют потоками данных. Так, если системе А нужны данные от систем В, C, D и E, она не будет связываться с каждой, а отправит запрос просто в шину — и каждой новой системе не надо соединяться со всеми, а только с шиной.
Резюме
Мы наблюдаем сотни прецедентов, когда клиенты экономят на интеграции, а в итоге бизнес-процессы просто останавливаются, например, из-за банального несоответствия форматов данных. Хороший интегратор не будет накручивать допработы. Он как врач: может прописать лекарство в виде коннектора или подсказать, что здесь нужна тонкая операция.
Если мы можем использовать коннектор или какие-то штатные методы, которые прописаны в API, — их стоит использовать Это упрощает и ускоряет работу, а лишние сложности — это всегда дополнительные риски, за которые самим же придется нести ответственность.