Сложные информационные системы обычно представляют собой некоторое объединение более простых подсистем, созданных независимо друг от друга и возможно в разное время. Очевидно, что такие подсистемы могут быть ориентированными на разные платформы — использовать разные СУБД, языки программирования и т.п., а иногда даже исполняться в разной операционной среде. Поэтому интеграция подсистем, первоначально являвшихся самостоятельными независимыми системами, — одна из наиболее актуальных и сложных задач в области информационных технологий.
Интегрируемые системы можно классифицировать по ряду признаков.
Во-первых, системы различают по способам построения интегрирующей среды.
В наиболее простом варианте, называемом "точка-точка", взаимодействие подсистем осуществляется по схеме полного графа, т.е. для каждой пары взаимодействующих подсистем создается специфическая для них интерфейсная связь в виде конверторов данных с языка одной подсистемы на язык другой. Поскольку число таких дуплексных связей может доходить до (-1)/2, где — число подсистем, то вариант "точка-точка" оказывается приемлемым только для малых . Подключение к системе каждой новой подсистемы оказывается весьма трудоемким.
Число связей уменьшается до +1 в варианте интеграции на основе общего для подсистем языка, поддерживаемого промежуточной метасредой. Теперь достаточно в каждой подсистеме иметь конвертор только на промежуточный язык. Примерами таких языков могут служить XML. Express в стандарте STEP или SQL в технологии ODBC. Управление потоком данных осуществляется на основе явного указания в сообщении адреса подсистемы — партнера по взаимодействию.
Третий вариант, называемый "корпоративная шина" или "интеграционный сервер", характеризуется наличием не только конвертации языков, но и более сложным управлением потоками данных. В интеграционном сервере возможна та или иная обработка данных, например, определение подсистемы-партнера может быть результатом анализа содержательной части сообщений. Примерами таких серверов являются мониторы транзакций, брокер ORB в технологии CORBA, корпоративная шина ESB и др.
По другому признаку классификации различают системы с низкой и высокой интенсивностью взаимодействия подсистем. В случае низкой интенсивности подсистемы взаимодействуют через обмены данными, обмены происходят в моменты перехода от выполнения одной бизнес-процедуры к выполнению другой. В случае высокой интенсивности одна подсистема может реагировать на события, происходящие в других подсистемах.
В соответствии с третьим признаком классификации различают системы с единой базой данных, с распределенной СУБД, с обменом сообщениями. Системы с единой БД имеют ограничения по модифицируемости, так как дополнение новых подсистем может потребовать перестройки БД. В системах с распределенной СУБД и с обменом сообщениями модификации осуществляются проще, но необходимо обеспечивать синхронизацию данных.