Системная интеграция — способ заставить две или несколько программ обмениваться информацией. Тогда функции одной системы появятся в другой. Допустим, книжный магазин решил сделать сайт, на котором можно оформить доставку книг. Для этого его интегрируют с курьерской службой и сервисами доставки в постаматы.
Когда клиент делает заказ, информация о нём автоматически передаётся сервису доставки. Покупатель получает уведомление и забирает заказ. В магазин возвращается информация о том, что заказ забрали и когда это произошло. Так сотрудники автоматически отслеживают статус каждого заказа и не тратят время на коммуникации с курьерами или сервисами с постаматами.
Интеграции нужны, чтобы отдать системам рутинные задачи, которые люди делают вручную. Меньше ручного труда — быстрее и дешевле процессы для бизнеса.
Онлайн-магазин цветов использует три системы, которые друг с другом не связаны:
● CRM-система — в ней хранится информация о продажах и клиентах;
● система учёта товаров на складе — в ней хранится актуальная информация о количестве цветов, упаковочной бумаги и лент;
● бухгалтерская система — для финансового учёта.
Системы не обмениваются данными, поэтому сотрудникам, которые с ними работают, приходится делать много ручной работы. Отдел продаж готовит копии счётов для бухгалтерии. Бухгалтеры вручную регистрируют поступления денег на счёт. Сотрудники склада отправляют накладные в бухгалтерию и не отгружают товар, пока менеджеры по продажам им не скажут.
Один день в офисе, где системы не интегрированы
Бывают интеграции приложений, данных, корпоративных приложений. Разберём подробнее разные типы.
Есть две классификации методов интеграции — по иерархии и по способу взаимодействия. С точки зрения иерархии интеграции бывают вертикальные и горизонтальные, по способу взаимодействия — «точка-точка», «звезда» или смешанный метод. Разберём эти виды системной интеграции подробнее:
1. Вертикальная интеграция
Представим, что владелец кондитерской не просто продаёт яблочные пироги, но и печёт их, а ещё владеет яблочным садом и контролирует сбор урожая. То есть он отвечает за весь процесс — от выращивания деревьев и покупки удобрений до запуска рекламной кампании кондитерской. В этом случае в системе управления производством и бизнесом будет несколько уровней:
● системы, которые обрабатывают данные по выращиванию и сбору урожая;
● системы, которые управляют процессом выпекания;
● системы, связанные с продажами;
● рекламные сервисы.
Вертикальную интеграцию часто используют в производстве компьютеров, смартфонов или автомобилей. Так компания полностью контролирует весь процесс создания продукта — от концепции до выпуска на рынок.
2. Горизонтальная интеграция
Горизонтальную системную интеграцию применяют в компаниях, где много точек обслуживания и нужно, чтобы они работали по одним и тем же стандартам. Например, в банках, клиниках, ритейле.
У Ипполита несколько пиццерий в разных городах. Он решает объединить их в одну крупную сеть и внедряет общую систему управления запасами, обработки заказов и отслеживания продаж. Где бы ни находился ресторан, готовить, продавать пиццу и вести учёт будут по одним и тем же алгоритмам. А данные по всем пиццериям не придётся собирать отдельно — они будут подтягиваться из разных баз в один интерфейс.
3. Интеграция «точка-точка»
Друзья Юры живут в разных частях города. Он хочет организовать вечеринку и собрать всех дома. Юра звонит или пишет в мессенджер каждому другу и договаривается о времени и месте встречи. По такому же принципу работает интеграция «точка-точка». В IT этот метод используют, когда нужно настроить связь между парами программ напрямую. Каждая программа знает, с кем ей общаться, и они обмениваются информацией, как друзья по телефону.
Можно настроить интеграцию между CRM-системой и сервисом почтовых рассылок для интернет-магазина. Клиенты будут автоматически получать рассылки о скидках и новинках
4. Интеграция «звезда» или «спагетти»
Этот тип используют, когда нужно интегрировать несколько разных систем. Если соединять их по принципу «точка-точка», связей будет слишком много — как будто сварили огромную тарелку спагетти. Управлять такой системой сложно. Поэтому разработчики устанавливают центральную систему — что-то вроде универсального переводчика. Программы и сервисы общаются и передают информацию через этот центр.
Такой системой может стать, например, интеграционная шина — программа, которая выполнит роль посредника для нескольких систем. Подход упрощает управление и обмен данными.
Для «звезды» подойдёт метафора с расследованием преступления. Детектив выступает в роли центральной системы, через которую проходят данные из опросов свидетелей, экспертные заключения, архивные материалы. Без него вся эта информация теряет смысл
У «звезды» есть преимущества перед «точкой-точкой». Например, если убрать CRM-систему, которая интегрирована с шиной, остальные системы продолжат работать. Но если что-то случится с шиной, то перестанет работать весь контур систем, которые через неё интегрируются.
5. Смешанная
В этом случае на проекте часть систем обмениваются данными через общую точку, а часть интегрированы попарно. Например, сайт, база данных и платёжные системы обмениваются данными через API — специальный программный интерфейс. А система нотификаций, которая отправляет уведомления клиентам, интегрирована только с сайтом. Всё, что нужно для работы, система получает от него.
Если бы системную интеграцию не придумали, технологии застряли бы на уровне раннего интернета. Разберём её главные преимущества:
✅ Эффективность процессов. Интеграция автоматизирует часть процессов и помогает экономить ресурсы компании. Сотрудники тратят меньше времени на рутинные задачи и могут переключиться на более сложные и творческие.
✅ Единый взгляд на данные. Интеграция системы аналитики с соцсетями, рекламными площадками и CRM помогает собрать всю маркетинговую информацию. Бизнес сможет на неё опираться и запускать эффективные рекламные кампании.
✅ Свобода и гибкость. Интеграция нескольких облачных сервисов для управления проектами помогает распределённой команде работать так же эффективно, как если бы она сидела в одном офисе.
Интеграция систем может оказаться сложнее, чем разработка с нуля. Если заранее не выяснить все требования и особенности систем, то проект может зайти в тупик и принесёт бизнесу убытки. Разберём несколько проблем, которые могут возникнуть у команды:
❌ Разные версии. Одна система может использовать устаревшие версии технологий или не поддерживать последние обновления. Разные версии могут привести к тому, что программы не смогут обмениваться данными.
Проблема интеграций систем с разной степенью обновления напоминает сложности в общении разных поколений
❌ Разные форматы, протоколы и стандарты данных. Люди, которые говорят на разных языках, не понимают друг друга. Системы тоже. Чтобы настроить их взаимодействие, могут использовать интерфейсы взаимодействия — API. У этих программных интерфейсов есть инструкции, в которых чётко прописано:
● как одна система может запросить данные;
● в каком виде другая система эти данные пришлёт.
Для успешной интеграции все участники должны согласиться с правилами взаимодействия и строго им следовать.
❌ Трудности в масштабировании. Когда дело доходит до расширения бизнеса, не все системы могут быть к этому готовы. Одни смогут выдержать десятки тысяч запросов от пользователей, другие — будут зависать. Прежде чем интегрировать системы, стоит провести нагрузочное тестирование систем, которые работают в продукте. Так получится выяснить, что нужно доработать.
❌ Невнимательность команды на этапе анализа и составления документации. Интеграция систем — сложный проект, поэтому допустить в нём ошибку можно даже с подробной документацией. Если до старта проекта не определили цели, не расписали план и не подготовили документацию, даже везение едва ли спасет ситуацию.
Универсального шаблона для проекта по интеграции нет. Всё зависит от задачи и особенностей компании. Но есть несколько пунктов, которые системному аналитику важно учесть до того, как разработчики приступят к задаче:
● Исправлять ошибки во время разработки дороже, чем до. Например, можно ошибиться в документации API. Разработчик выполнит задачу, опираясь на то, что описал системный аналитик, а найдут эту ошибку только на этапе тестирования. Ещё хуже — когда продукт будет доступен пользователям. Придётся переписывать документацию и код. Всё это — время сотрудников и бюджет заказчика.
● Придётся изучать чужие системы. Когда аналитик работает с внутренними сервисами компании, он многое уже знает и в любой момент может пообщаться с командой. При интеграции с внешними сервисами ему придётся работать с незнакомой системой, которую разработала чужая команда из другого города или даже страны. Придётся анализировать всё с нуля, выявлять источники данных, изучить документацию интегрируемой системы. Одна фраза в документации может означать целый процесс, который легко упустить.
● На документацию придётся потратить больше времени. Системные требования для простой формы на сайте можно написать и за пару часов. Интеграции — задача посложнее. Чем детальнее расписаны все возможные сценарии интеграционного процесса, тем лучше. Это поможет избежать любых разночтений в требованиях и разногласий с заказчиком.
Советы экспертов
Читать также: