Регулярно в ходе проектов приходится сталкиваться с очень важным вопросом – организацией ИТ-ландшафта. И традиционно сразу образуется 2 лагеря: сторонники одной большой информационной системы («лучшая интеграция та, которой не было») и сторонники использования нескольких отдельных информационных систем («под каждого воробья пушка своего калибра»). У каждого из этих подходов есть свои плюсы и минусы, которые мы не будем глубоко затрагивать в рамках этой статьи, однако попробуем раскрыть тему:
Как жить безопасно, если интеграции все-таки быть?
Если все-таки сложилась ситуация, при которой в ИТ-ландшафте будет несколько различных информационных систем, то при проектировании этой схемы необходимо предусмотреть методологические аспекты: каким образом будут нарезаться бизнес-процессы, чтобы они и работали органично (когда на каждом этапе в информационной системе выполняются только те операции, которые должны выполняться) и обеспечивали достаточно целостное информационное пространство, в котором работают пользователи.
Попробуем разобрать традиционную для производителей продуктов питания задачу – организацию документооборота с клиентами. И выявить правильные и не правильные способы ее решения. Распространенный вопрос: отделять логистический контур от финансового или нет?
Неправильная схема разделения: В логистическом контуре выписываем документ реализации, затем он выгружается в финансовую базу. После возврата документов от клиентов мы начинаем редактировать их в базе финансового учета. И при редактировании у нас получаются изменения, которые влияют на остатки товаров, важные для логистического контура. На лицо нарушение одного из базовых правил – объект должен создаваться и редактироваться в одном месте. Как DevOps-сервис помогает «разгрузить» высоконагруженные системы BPMSoft
Пример правильной схемы разделения: Документы реализации создаются и редактируются в своем контуре, затем за какой-то завершенный период (день, неделя, месяц) документы выгружаются в контур фин. учета. Таким образом получается, что документы создаются и редактируются в одном месте, а база фин. учета является потребителем выверенной информации логистического контура.
Если мы методологически грамотно разделили информационные потоки – это уже очень весомый вклад в то, что системы будут функционировать нужным образом. Но у нас так же остается достаточно серьезный вопрос:
Техническая организация обменов
Чтобы не ошибиться с выбором механизма интеграции, необходимо сначала определиться с «калибром» решаемой задачи. Итак, можно выделить 4 уровня ее масштабности:
- Локальный – характеризуется обменом через внешние файлы. Данный механизм мы относим к классу устаревших, но тем не менее ранее он был достаточно распространен и с некоторыми ИС является единственным доступным вариантом интеграции.
- Регулярный в однородных средах – подразумевается, что интегрируемые ИС находятся в одной информационной среде. Например, на одном сервере, обмениваются через COM. Такой механизм достаточно часто встречается и позволяет решать задачи интеграции регулярного характера. Его удобно реализовывать, когда имеется относительно небольшое количество ИС. Преимуществом такого подхода является очень легкая настройка и создание программного интерфейса, которым будут пользоваться интегрируемые системы.
- Регулярный в гетерогенных средах – подразумевается, что интегрируемые ИС могут располагаться на разных серверах, с разными ОС, даже территориально обособлено. Речь идет об обмене через web сервисы. Одно из преимуществ такого подхода – возможность интегрировать базы в различных средах, при этом сохраняя относительно невысокую сложность настройки интеграции.
- Промышленный – применение отдельно стоящих решений в гетерогенных средах: шины ESB (например DATAREON) или промышленный сервер очередей (например RabbitMQ). Такие решения актуально применять, когда в обмене участвуют более 3-х ИС, когда важно обеспечить качественную передачу НСИ между всеми системами, и когда важно балансировать нагрузку между обменивающимися ИС.
Инструменты проверки
Когда мы решили первые 2 вопроса в нашем пути интеграции, настает время подумать о поддержке эксплуатации ИС в части интеграции. И здесь встает вопрос о том, чтобы можно было в 1 информационном пространстве сверить данные 2-х интегрируемых систем. Как один из примеров – анализ отгрузок в базах фин. учета и логистического контура. Здесь мы так же выделяем 2 подхода:
- Пассивный – когда ответственный за участок учета пользователь формирует отчет, который позволяет сравнивать данные за идентичный период в 2-х базах и предпринимать какие-то действия в случае расхождений
- Активный – когда есть некий анализатор, который регламентно получает 2 набора данных из разных баз, сравнивает их и в случае расхождения оповещает ответственного.
Таким образом, если планируется строить не просто систему автоматизации фин. учета, а систему управления, в том числе и на оперативном уровне, то неизбежно это приведет к архитектуре нескольких информационных баз.
Наиболее успешные из автоматизированных предприятий потому и являются таковыми, что вовремя осознали ценность концепции микросервисов (когда небольшие отдельные ИС решают узконаправленные задачи), ведь выиграть в конкурентной борьбе им смогли помочь только специализированные решения, которые заточены под их особенности и способны достаточно оперативно реагировать на изменения среды. Именно на примере этих компаний мы понимаем, что для реализации таких подходов требуются надежные и удобные для внедрения и эксплуатации средства интеграции ИТ-систем.
P.S.: Интеграция – это задача, а вовсе не проблема. И, при современном уровне ее осмысления и наборе технического инструментария - больше, чем решаемая.
Автор: Андрей Шишкин