Использование принципов облачных вычислений для разработки приложений и управления базами данных.
Computerworld :: Индустрия
SOA + EDA = RTE
Системы автоматизации бизнеса постепенно логически сближаются с системами автоматизации технологических процессов. Event Driven Architecture — еще один шаг в этом направлении.
Леонид Черняк
Опередив других, на тему EDA стали высказываться компании Tibco Software и SeeBeyond, специализирующиеся на интеграции приложений. Они увидели в этой архитектуре возможность для создания аналитических инструментов, которые позволили бы управленцам принимать решения более быстро и осмысленно. За привычной словесной эквилибристикой стоит желание создавать так называемые системы мониторинга бизнес-активности (Business Activity Monitoring, BAM). Такие системы BAM отличаются от более традиционных средств бизнес-анализа и хранилищ данных тем, что они ориентированы не на аналитика, который делает прогнозы на основе осмысливания относительно небольшого объема стратегических данных, а на обычного исполнителя, который должен принимать тактические решения, используя для этого текущую информацию. Это совершенно иная задача, и использовать нужно совершенно иные потоки входных данных, главным в ней становится фиксация и накопление данных. Некоторые технологии для создания подобного рода систем уже существуют, прежде всего, это программное обеспечение промежуточного слоя, ориентированное на передачу сообщений; однако основную часть придется делать заново. Одной из первых, сумевших предложить свои решения, подпадающие под определение BAM, была калифорнийская компания Praja, купленная в 2002 году Tibco; после этого Tibco начала предлагать продукт Tibco BusinessFactor.
Непонимание различий между архитектурой системы и ее способностью обрабатывать входной поток случайных событий привело к тому, что многие авторы стали путать роль и место SOA и EDA. Одной из наиболее растиражированных статей стал материал Джейсона Блумберга «SOA + EDA = FUD?» Он задается вопросом, а не является ли ажиотаж вокруг EDA еще одним уровнем ажиотажа, создаваемого вокруг SOA? Недостаточным осознанием значения EDA для создания предприятий, работающих в режиме реального времени, страдают не только журналисты, но и некоторые аналитики. Уточним, что SOA — это один из возможных и наиболее приемлемых на данный момент, на данном уровне развития технологий способов реализации EDA. Если обнаружится какой-то иной способ реализации систем, состоящих из слабосвязанных приложений, то почему бы не использовать его.
Event Driven Architecture
EDA — это подход к разработке и реализации приложений, предполагающий, что события приводят к инициации обмена сообщениями между независимыми программными модулями, которые иначе не получают никакой другой информации друг о друге
Бизнес-событие: изменение состояния предприятия.
Программное событие: объект, который является записью некоей деятельности, такой как открытие счета пользователя или размещения заказа.
Независимые модули — в противоположность слабо связанным сервисам в подходе SOA — играют здесь прин?ципиальную роль. События в источнике, как правило, приводят к отсылке сообщений программным компонентами промежуточного слоя, где происходит сопоставление сообщения условиям подписки, которые, в свою очередь, связаны с программами, которые должны получать извещения о событии. Агент обработки событий, действующий на базе правил, может «прослушивать» входящие события от тысяч источников или фильтров, выполнять сопоставление и применять те или иные ограничения, опираясь на сложные правила.
Преимущества
Простая пошаговая разработка и поддержка сложных распределенных групп приложений; большая эффективность при наличии многочисленных адресов рассылки одних и тех же данных, поскольку источник рассылает события только один раз; поддержка быстрого и недорогого изменения конфигурации или сборки бизнес-компонентов для новых бизнес-процессов; поддержка повторного использования бизнес-компонентов в большом числе приложений.
Ограничения
Стандарты далеки от стадии завершения; отсутствие у большинства разработчиков и архитекторов программных систем опыта разработки средств обработки сложных приложений; разработчики должны выполнять сборку и интеграцию средств разработки, управления и обеспечения защиты.
Комментарии:
Для того, чтобы оставить комментарий авторизуйтесь или зарегистрируйтесь.