Введение

Интеграция корпоративных приложений (EAI) — это использование программного обеспечения и архитектурных принципов компьютерных систем для объединения набора корпоративных компьютерных приложений.

Обзор

Интеграция прикладных систем предприятия — это интеграционная среда, состоящая из набора технологий и сервисов, формирующих промежуточное программное обеспечение или "интеграционную платформу", обеспечивающую интеграцию систем и приложений в масштабах предприятия. Различные системы, которые необходимо объединить, могут работать на разных операционных системах, использовать различные решения для баз данных или языки программирования, или иметь разные форматы даты и времени, либо представлять собой устаревшие системы, поддержка которых прекращена их первоначальным разработчиком. В некоторых случаях такие системы называют "изолированными системами", поскольку они состоят из компонентов, собранных таким образом, что их модификация крайне затруднена.

Улучшение связи

Если интеграция выполняется без применения структурированного подхода EAI, в организации разрастается количество соединений типа "точка-точка". Зависимости добавляются спонтанно, что приводит к сложной структуре, которую трудно поддерживать. Это часто называют "спагетти", отсылая к программистскому аналогу – "спагетти-коду". Например, количество соединений, необходимых для полной "сетки" соединений типа "точка-точка" с n точками, определяется (см. биномиальный коэффициент). Таким образом, для полной интеграции десяти приложений по схеме "точка-точка" потребуется соединений типа "точка-точка", что соответствует квадратичной модели роста. Однако количество соединений в организациях не всегда растет пропорционально квадрату числа точек. В общем случае, число соединений для каждой точки ограничено только количеством других точек в организации, но теоретически может быть значительно меньше. EAI также может усиливать связанность между системами, что увеличивает административные издержки и затраты. EAI – это не только обмен данными между приложениями, но и обмен бизнес-данными и бизнес-процессами. Специалист по промежуточному программному обеспечению, работающий с EAI, часто рассматривает систему как совокупность систем.

Образцы

В этом разделе описываются распространенные шаблоны проектирования для реализации EAI, включая шаблоны интеграции, доступа и управления жизненным циклом. Это абстрактные шаблоны, которые могут быть реализованы множеством различных способов. Существует множество других шаблонов, широко используемых в отрасли, от высокоуровневых абстрактных шаблонов проектирования до узкоспециализированных шаблонов реализации.

Схемы доступа

EAI поддерживает как асинхронные (отправь и забудь) так и синхронные модели доступа, причем первые обычно используются в сценариях медиации, а вторые – в сценариях федерации.

Схемы жизни

Операция интеграции может быть кратковременной (например, поддержание синхронизации данных между двумя приложениями может быть выполнено за секунду) или долговременной (например, один из этапов может включать взаимодействие EAI-системы с приложением для организации рабочего процесса, требующего одобрения кредита, которое занимает часы или дни).

Топологии

Существует две основные топологии: «звезда» (hub and spoke) и «шина». Каждая из них имеет свои преимущества и недостатки. В топологии «звезда» система EAI находится в центре («звезды») и взаимодействует с приложениями через «лучи» (spokes). В топологии «шина» система EAI выступает в роли шины (или реализуется как резидентный модуль в существующей шине сообщений или промежуточном программном обеспечении, ориентированном на обмен сообщениями). Большинство крупных предприятий используют сегментированные сети для создания многоуровневой защиты от сетевых угроз. Например, предприятие обычно имеет зону обработки кредитных карт (соответствующую стандарту PCI), зону, не соответствующую PCI, зону данных, зону DMZ для проксирования доступа внешних пользователей и зону IWZ для проксирования доступа внутренних пользователей. Приложениям необходимо интегрироваться между различными зонами. В этом случае лучше подходит топология «звезда».

Архитектура связи

В настоящее время существует множество различных точек зрения на то, какая инфраструктура, модель компонентов и структура стандартов являются оптимальными для интеграции приложений предприятия. Тем не менее, существует общее мнение о том, что современная архитектура интеграции корпоративных приложений должна включать четыре основных компонента: централизованный брокер, обеспечивающий безопасность, управление доступом и коммуникацию. Это может быть реализовано с помощью интеграционных серверов (например, School Interoperability Framework (SIF) Zone Integration Servers) или аналогичного программного обеспечения, такого как корпоративная сервисная шина (ESB), выполняющая роль менеджера сервисов. Независимая модель данных, основанная на стандартной структуре данных, также известная как каноническая модель данных. XML и использование XML-листов стилей фактически и в некоторых случаях юридически стали стандартом для этого унифицированного бизнес-языка. Коннектор, или агентская модель, в которой каждый поставщик, приложение или интерфейс может разработать единый компонент, способный взаимодействовать непосредственно с данным приложением и обмениваться данными с централизованным брокером. Модель системы, определяющая API, потоки данных и правила взаимодействия с системой, позволяющая создавать компоненты для стандартизированного взаимодействия с ней. Хотя другие подходы, такие как подключение на уровне базы данных или пользовательского интерфейса, рассматривались, они оказались не масштабируемыми и негибкими. Отдельные приложения могут публиковать сообщения в централизованный брокер и подписываться на получение определенных сообщений от него. Каждому приложению требуется только одно подключение к брокеру. Такой подход централизованного управления может быть чрезвычайно масштабируемым и легко адаптируемым к изменениям. Интеграция приложений предприятия связана с технологиями промежуточного программного обеспечения, такими как ориентированное на сообщения промежуточное ПО (MOM), и технологиями представления данных, такими как XML или JSON. Другие технологии EAI включают использование веб-сервисов в рамках сервисно-ориентированной архитектуры для интеграции. Интеграция приложений предприятия, как правило, ориентирована на данные. В ближайшем будущем она будет охватывать также интеграцию контента и бизнес-процессов.