Осознание этих обстоятельств, а также сложность написания вручную программного кода для эффективных интеграционных решений, работающих в реальном времени, привело к формированию внутри софтверной отрасли направления, которое переживает сейчас бурный рост. Речь идет о создании программных продуктов, которые предоставляют возможности интеграции и отличаются высокой скоростью разработки, приемлемыми начальными ценами и несложной поддержкой.
Основной набор продуктов, обеспечивающих такие возможности, носит общее название EAI (Enterprise Application Integration). Прародителями продуктов EAI были средства ETL (Extract, Transform, Load), которые использовались для обновления информационного наполнения хранилищ данных из операционных систем. Сложность требований, предъявляемых к этим продуктам, в том числе главное — необходимость работы в реальном времени, привела к возникновению второго поколения продуктов EAI, в которых используется архитектура "ось и спицы", или архитектура колеса. Существенный элемент этой архитектуры — технологии промежуточного программного обеспечения (обработка сообщений, преобразование данных и удаленная обработка вызовов). Кроме того, в ней есть два важных дополнительных компонента.
Во-первых, это централизованный набор правил, которые для каждого уведомления об изменении указывают, кому следует рассылать такое уведомление. В этом случае часто используется механизм постоянной памяти для сообщений, с тем чтобы приложения, временно не находящиеся в состоянии готовности, могли автоматически принять их при возобновлении предоставления услуги.
Во-вторых, имеются наборы специальных "адаптеров", которые обрабатывают информационное наполнение сообщений в формате, используемом концентратором. Их задача — привести данные в соответствие тем требованиям, которые предъявляет к данным каждая целевая система (это обусловлено использованием тех или иных приложений).
Конечно, вряд ли когда-нибудь появятся адаптеры для каждого приложения или каждой целевой платформы, поэтому для большинства реализаций хотя бы некоторые адаптеры приходится разрабатывать вручную. Предлагаемый EAI инструментарий разработки программного обеспечения — Software Development Kit (SDK) — позволяет сократить объем этой работы.
Архитектура инструментария EAI, помимо очевидного выигрыша в цене и скорости реализации, обеспечивает еще несколько серьезных преимуществ. Первое: возможности хранения и переадресации сообщений, поддерживаемые большинством продуктов, означают, что наличие в общем пакете системы с низкой готовностью не отразится на готовности всего пакета приложений. Далее, замена одной из систем или добавление новой системы не оказывают существенного влияния на поддержку правил, управляющих "осью"; нужно только заменить один адаптер. Обычно же в такой ситуации приходится модифицировать и тестировать частный код всех других систем.