Интеграция
Развитие ИТ-индустрии привело к тому, что рано или поздно перед каждым предприятием встает вопрос: что делать с разрастающимся программным зоопарком? Наличие внутри одного предприятия нескольких информационных систем — это не исключение, а норма. Зачастую эти системы содержат дублирующиеся данные, одинаковые справочники и программные компоненты.
Существуют несколько вариантов решения задач интеграции существующих на предприятии «лоскутных» программных продуктов в единое информационное пространство:
-
Интеграция «каждый с каждым»
Для каждой пары обменивающихся приложений создается специализированный интерфейс обмена данными. При небольшом количестве интегрируемых приложений такой подход может быть оправдан, при большом практически не работает.
-
Интеграция на уровне данных
Один из самых распространенных до недавнего времени подходов – использование совместных хранилищ данных. Основным недостатком этого подхода является требование к устойчивости моделей данных для каждой системы, что существенно ограничивает гибкость и тормозит развитие этих систем.
-
Интеграция на уровне приложений
Интеграция на уровне приложений (EAI, Enterprise Application Integration) подразумевает совместное использование не внутренних данных приложения, а исполняемых процедур. Программы разбиваются на компоненты, которые интегрируются с помощью специального связующего ПО. При такой интеграции образовываются глобальные группы взаимодействующих приложений, но остается проблема обмена информации на уровне этих групп.
-
Интеграция на основе сервисов
Самый современный и быстро развивающийся подход к интеграции приложений. По сути близок к интеграции на уровне приложений, отличаясь от него поддержкой открытых стандартов в интерфейсах и инфраструктуре. Сервисы представляют собой XML-приложения, связывающие между собой программы, данные, бизнес-процессы.
-
Интеграция на основе процессов
Данный способ интеграции чаще всего сочетается с интеграцией на основе сервисов, однако может содержать комбинации разных способов. Интеграционное решение создается в привязке к бизнес-процессам предприятия.
Интеграция на основе бизнес-процессов обладает рядом преимуществ по сравнению с остальными перечисленными. Она позволяет не просто связать приложения, а синхронизирует их работу так, как этого требует бизнес. При этом BPM-система выступает в роли дирижера, определяя, на каком шаге и к какому приложению происходит обращение.
Причем обращение может происходить как из BPM-системы к приложению, так и наоборот. Например, определенные действия пользователя или другие события внутри приложения могут вызывать смену состояния процесса.
Такой подход позволяет создать гибкую структуру внутри предприятия, в которой возможны добавление и исключение каких-то компонент. Например, приобретенный новый программный продукт может быть включен в процесс без изменения остальных программ.