Каким компаниям нужна интеграция информационных систем
Деятельность любой компании — это множество данных:
- сведения о поведении клиентов, сделках, коммуникациях;
- данные учетных и производственных систем;
- показатели эффективности бизнес-процессов;
- персональные данные и многое другое.
Значительное повышение скорости и эффективности сбора, обработки и хранения данных дает цифровизация — переход на информационные технологии.
Обычно такой переход происходит поэтапно: сначала «оцифровывают» отдельные функции: бухгалтерский и кадровый учет, делопроизводство и так далее, в зависимости от приоритетов в каждой компании. Информационная среда компании представляет собой множество «островков» ‒ локальных информационных систем, у каждой из которых своя логика, архитектура и интерфейс. Интеграция между системами (обмен данными) происходит через печатные документы, файлы (word, excel) и email. Это «интеграция на уровне пользователя»: пользователи самостоятельно обмениваются информацией и самостоятельно используют данные из разных систем, нет автоматизации передачи данных.
![Проблемы интеграции](https://galochka.ru/assets/src/img/article/int_1.png)
Информация от таких «островков» поступает руководству в виде тех же печатных документов или файлов office. Соотнести эту информацию, чтобы увидеть общую картину: сколько и куда ресурсов израсходовано, откуда и сколько доходов получено с подробной детализацией ‒ длительный сложный процесс, требующий много внимания. То есть, при такой организации бизнес-процессов, невозможно использовать данные для принятия управленческих решений. Их сбор и консолидация занимают много времени, так как выполняется «руками».
По данным аналитического отчета KMDA, созданного на базе опроса представителей российских компаний, цифровая зрелость бизнеса в России в 2020 году выглядит следующим образом:
![Проблемы интеграции](https://galochka.ru/assets/src/img/article/Int_2.png)
Переход компании на второй уровень цифровой зрелости ‒ это переход к связной цифровой инфраструктуре. Он возможен двумя способами:
- Внедрение корпоративной интегрированной информационной системы (ИИС), которая содержит различные модули (управление производством, логистика, бухгалтерский учет), построенные на единой платформе, общей базе данных и интегрированные между собой. Переход компании от существующих разрозненных решений на современную комплексную информационную систему (ERP-Enterprise Resource Planning) приводит информационную среду к единому интерфейсу, единой логике и архитектуре. Но, во-первых, такой переход требует больших вложений, во-вторых, он не может произойти одномоментно. Многие компании оставляют «старые» системы, решающие локальные задачи, по разным причинам. Переход требует больших финансовых затрат и переобучения сотрудников, при этом «старая» система хорошо работает и не создает проблем. Тогда возникает проблема интеграции существующих информационных систем и внедряемой ERP.
- Интеграция существующих локальных информационных систем между собой для решения конкретных задач. Такой метод требует меньших затрат: не нужно покупать новое оборудование и программное обеспечение и хорошо себя зарекомендовал в небольших компаниях.
Задачи обмена данными между информационными системами и получения консолидированной отчетности для принятия управленческих решений усложняются, если у компании распределенная структура или происходит слияние нескольких компаний.
Крайне мала вероятность того, что у разных компаний одинаковые информационные системы. Даже такой процесс как бухгалтерский учет, который на сегодня есть у всех и почти всегда автоматизирован, может преподнести сюрпризы в виде различий в платформах и даже их версиях. Различия могут быть в конфигурациях и в структуре данных. Например, во всех филиалах компании учет ведется на платформе 1С:Предприятие, но у нескольких есть 1С:Склад, а у остальных его нет. И задача сбора информации для построения общей (консолидированной) отчетности разбивается на несколько задач получения данных от каждого филиала.
Способы интеграции
Интеграция на уровне интерфейсов (физических, программных и пользовательских)
Этот способ разрабатывался с целью объединения разнородных решений, разработанных в разное время на разных платформах разными компаниями в подобие единой системы. Так называемая «лоскутная интеграция». Приложения связываются «каждый с каждым». На данный момент для такого способа интеграции используются стандартные приложения с открытыми программными интерфейсами, на базе которых внедряют интеграционные подсистемы. Такой способ не подходит для большого количества интегрируемых решений.
Интеграция на уровне пользователя
Данный вид интеграции не относится к автоматизированным и представляет собой обмен данными между пользователями (через файлы office и печатные документы). Является наиболее простым и может применяться как вспомогательный на этапе внедрения других способов интеграции.
Интеграция на уровне данных
При такой интеграции несколько программных приложений обращаются к одной (или нескольким связанным) базе данных. Стоимость такой интеграции невелика, но если база данных не экранирована (не контролируются потоки запросов и не скрывается реальная организация данных) и не имеет необходимой защиты целостности, то взаимодействие различных приложений с ней может явиться причиной ошибок. В случае если БД экранирована и поддерживается целостность хранимых данных, то в одновременно взаимодействующих с одной БД приложениях будут дублироваться части программного кода, выполняющие одинаковые или схожие операции. Кроме того, при внесении изменений в структуру базы, необходимо отдельно переписывать программный код всех приложений, работающих с такой БД.
Интеграционные системы
Стоить отметить, что для решения проблем интеграции на рынке есть множество специализированных решений. Но это сложные, комплексные, а следовательно ‒ дорогие системы.
Проблемы интеграции
Задача интеграции, по общему мнению ИТ-специалистов, является одной из самых сложных и непредсказуемых в части точного планирования сроков и затрат.
Почему? Приведем простой пример.
Есть два человека, которые выросли в разных концах мира. При этом ни один ни другой не знали о существовании других культур. И им нужно, скажем, как можно быстрее построить укрытие от непогоды. Они не понимают друг друга. Один знает, что дома строят из кирпича, а другой видел только дома из дерева. При том, что каждый из них в своей культуре многое знает и умеет, совместная работа невозможна.
Но люди обучаемы, у них есть несколько способов передачи информации, не только речь. В компьютерные программы обычно не вкладывают избыточные возможности, для передачи информации между ними и совместной работы требуется интеграция.
Интеграция с использованием программного интерфейса API
Если пользователи общаются с программами через графический интерфейс (GUI), то программы между собой ‒ через API. Не вдаваясь в технические подробности можно сказать, что API ‒ это набор правил: какие функции можно запустить, какие данные получить и как это сделать. API для каждой программы создается на этапе ее разработки и может дополняться в процессе внедрения и поддержки. Необходимо точно знать программные интерфейсы обеих систем со всеми доработками, чтобы наладить обмен данными между ними. И у каждой системы в компании API будет уникален.
Иногда API у программы нет. Тогда необходимо создать отдельную программу ‒ интеграционную прослойку, которая будет передавать из одной системы в другую:
- данные;
- их изменения;
- возможность их чтения;
- настройки доступа.
Проблема качества данных
Данные интегрируемых систем необходимо привести к одному формату. Например, в одной системе ФИО сотрудника хранится как одно целое, а в другой — отдельно: фамилия, имя и отчество. Также не должно быть «мусорных» и дублирующихся данных. Если в компании не используют специализированные системы, задачи нормализации данных и обеспечения их качества ложатся на процесс интеграции.
Требуется разработать правила преобразования данных и составить таблицы соответствия.
Интеграция специализированных систем
Если данные в учетных системах похожи по структуре, то при обмене данными между учетной и, например, производственной системой возникнет множество вопросов.
Допустим, для расчета себестоимости продукции необходимо передавать данные из производственных систем компании в систему бухгалтерского учета.
Вопрос1: Какие данные?
Это набор некоторых натуральных показателей прямо с завода. Если производство автоматизировано, то есть возможность такие данные получить. Но точный перечень можно узнать только у специалиста, который рассчитывает себестоимость данной продукции.
Вопрос 2: Как их получить?
Тут нужен другой специалист, знающий программный интерфейс производственной системы.
Вопрос 3: Как передавать эти данные?
Интеграционная прослойка для таких задач обычно либо пишется с нуля, либо с использованием web-интерфейса, если есть такая возможность. Но последний тоже необходимо программировать под конкретную задачу. И это задача для третьего специалиста ‒ разработчика.
Интеграция сложных систем
Чем больше возможностей у системы, тем сложнее ее структура.
Например, несколько компаний работают над одним проектом и ведут учет рабочего времени, каждая в своей системе управления проектами. Необходим постоянный обмен информацией по задачам и затратам рабочего времени сотрудников.
Даже если все компании, участвующие в проекте, пользуются одной и той же системой управления проектами (например, Jira), учет в каждой может быть организован по-разному, благодаря широкому набору различных инструментов в этой системе для решения одинаковых задач.
Учет рабочего времени ‒ один и тот же процесс, но для обмена данными в такой ситуации необходимо ответить на вопрос: «Где именно в каждой учетной системе хранятся эти данные?».
Если же необходим обмен данными между разными сложными системами, задача усложняется в разы. Например, сегодня многие компании в России переходят на отечественное ПО. Чтобы осуществить такой переход, нужно настроить внедряемую систему максимально точно в соответствии с логикой той системы, с которой осуществляется переход. И тогда осуществить миграцию данных.
Но структура каждой компании и организация ее бизнес-процессов уникальны. На этапе внедрения информационных систем происходит их доработка и настройка по требованиям заказчика. Кроме того, ни один бизнес не стоит на месте, поэтому информационные системы постоянно нужно изменять. Чаще для этого привлекают специализированные компании, иногда достаточно усилий собственных сотрудников. С течением времени, если все изменения грамотно не задокументированы, практически невозможно описать структуру конкретной программы и логику ее работы.
То есть, мы имеем работающий «черный ящик» и задачу доработать и настроить новую систему, чтобы она выполняла те же функции, плюс перенести все данные: неизвестно какие именно, где они хранятся и как их получить.
Итак, бизнес в России сегодня сталкивается со следующими задачами, требующими интеграции между различными информационными системами:
- уровень развития компании требует иного подхода к использованию данных. Необходимо внедрение комплексной системы управления ресурсами и планирования;
- необходим переход на более современное либо отечественное программное обеспечение;
- в компании уже используется информационная система, не требующая замены, но нужен постоянный обмен данными между ней и другими системами
- объединение компаний ведет к необходимости собирать и соотносить данные разных систем для получения консолидированной отчетности.
Эти и многие другие задачи требуют интеграции различных систем. В каждом конкретном случае интеграция состоит из множества задач: данные необходимо привести к одному формату, требуется документация на интегрируемые системы и специалисты, разбирающиеся в работе каждой из них, доступ к системным функциям и многое другое. Именно поэтому каждый раз крайне сложно оценить сколько времени займет и, следовательно, сколько будет стоить процесс интеграции. Но технологии не стоят на месте, сегодня уже существует универсальное недорогое решение для таких задач. Следите за нашими публикациями.