ИТ ландшафт, с которым торговая система должна взаимодействовать, на начальном этапе составлял 32 системы. В их числе «1С:ERP», «1С:УХ», несколько WMS-систем, система транспортной логистики, три системы документооборота и набор технических систем. Кроме того, что состав ИТ систем был широкий, он был еще и неточный. Нам приходилось существовать в динамически меняющемся ИТ ландшафте. За время проекта часть соседних систем поменялись, часть – отмерло.
Еще одна сложность, что нескольких ключевых систем ИТ ландшафта на момент старта проекта не было вообще. Мы были вынуждены выстраивать свою систему и интегрировать ее с еще несуществующими системами, которые внедрялись параллельно с нашей.
Как решали:
- Интеграционный архитектор
На фултайм была выделена эксклюзивная роль интеграционного архитектора. Вообще в классике эту задачу решает функциональный архитектор. Но учитывая масштаб «зоопарка» систем, у нас функциональный архитектор расщепился на методологическую и техническую части.
- ИТ консалтинг, оптимизация ИТ ландшафта
На входе в проект весь этот ИТ ландшафт был проанализирован и оптимизирован с интеграционной точки зрения.
Было определено, какими данными должны обмениваться системы. Составлен первый слой интеграционных потоков. Важно было посмотреть не только в статике, но еще и в динамике: как планы внедрения нашей системы соотносится с планами эволюции или отмирания соседних систем. В результате этого анализа часть интеграций было вычеркнуто из проекта, потому что системы до конца внедрения нашего проекта не должны были дожить. Например, из трех WMS-систем на момент запуска «1С:УТ» осталось только две.
Мы начинали работу по описанию требований к интеграционным потокам с google-табличек: выписывали потоки, разбивали до объектов, потом детализировали до структуры данных. В какой-то момент мы поняли, что для 30+ систем это уже что-то невообразимое. И наш интеграционный архитектор озадачился вопросом написания системы – отдельной конфигурации Integration management studio. Это выделенная специализированная система, которая позволяет управлять интеграционными требованиями. Без этого инструмента, мне кажется, мы бы не вывезли этот проект в части интеграций.