Сентябрь 2005


Тема номера: Oracle BAM и Oracle Rules – новые технологии Oracle


Френк Книфсерд
Джон Диб

Использование BAM в интересах Организации:
ОБЪЕДИНЕНИЕ СОБЫТИЙ И ПРОЦЕССОВ

(Using BAM to Empower the Organization:
UNIFYING EVENTS AND PROCESSES
BY FRANK KNIFSEND & JOHN DEEB)

Источник: Business Integration Journal, Июнь 2005
http://www.bijonline.com/PDF/knifsend-deeb%20june.pdf

Как часто вы думали: “Если бы только я знал тогда то, что знаю теперь”? Задумывались ли вы, насколько иначе могли бы работать с покупателями и поставщиками сотрудники служб продаж, обслуживания покупателяй, логистики,…, если бы они обладали более полной информацией? Как показано на рис.1, люди, если это возможно, стремятся немедленно быть в курсе важных событий в бизнесе, сценариев (планов действий), в курсе бизнес- информации. Но достаточно часто эта информация поступает спустя долгое время, после того, как события произошли, в виде неудовлетворения или возмущения покупателей, потерянных договоров или отчетов. Получатели этих отчетов, часто это старшие менеджеры и руководители, потом только просят свои команды в следующий раз работать лучше.

Рис.1: Как скоро последует ответ

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

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

Простое распространение предупреждений и уведомлений –
это один из типов реакции, но требуется большее.

Мониторинг деловой активности (Business Activity Monitoring – BAM) предлагает подход, позволяющий выделить важное событие или сценарий, как только оно произошло, и передать эту информацию конкретному сотруднику. Информация может распространяться посредством обычных предупреждений (alert), вводиться в существующие приложения или доставляться как обновления через инструментальную панель. Это позволяет сотруднику быть в центре событий, быть в курсе общей ситуационной обстановки и соответственно реагировать, в зависимости от важности ситуации.

“Сделать то, что нужно, когда это имеет значение” – вот что часто отличает лучшие компании от их конкурентов. Чтобы так поступать, надо выполнить два главных условия. Вы должны:

  • Знать, что существует решение, которое нужно принять.
  • Быть способным принять и выполнить это решение.

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

BAM предоставляет инфраструктуру, которая может помочь организации реализовать эти два условия. BAM часто описывают только как инструментальную панель для работы в реальном времени, но его технологическое пространство быстро развивается, становясь важным элементом большого технологического основания, которое включает управление бизнес-процессами (Business Process Management - BPM), бизнес-аналитику, сервисно-ориентированные архитектуры (Service-Oriented Architectures – SOAs) и архитектуры, управляемые событиями (Event-Driven Architectures – EDAs ). BAM предоставляет важное единство, в котором события, службы и процессы связаны с правилами, уведомлениями и людьми.

Реагируем эффективно

Следующий шаг – это определение действий, которые нужно предпринять. Если вы можете передать событие (или серию событий) от источника к человеку или к процессу, то они должны иметь возможность соответственно действовать. Чтобы это произошло, человек или процесс должны иметь информацию, необходимую для принятия решения, полномочия, чтобы выполнить его, а также необходимые инструменты и ресурсы. На самом деле предоставление такой мощной среды требует оболочки, в которой могли бы быть легко объединены приложения, развитые сервисы и структурированные технологии. Простое распространение предупреждений и уведомлений – это один из типов реакции, но требуется нечто большее.

Среди проблем по предоставлению сотруднику возможности эффективной реакции существует проблема пояснения того, какие существуют дополнительные варианты. Поскольку инициирующее событие, возможно, не является обычным происшествием, сотрудник без дополнительной информации и инструментальных средств может не знать, что необходимо делать. Часто сотруднику лучше иметь поток работ, который ограничивает возможности, а также автоматически продвигает события и результирующие решения по всему процессу от его начала к завершению. Если это ситуация расширения центра обработки заказов, то могут быть вовлечены многие различные люди, службы и поддерживающие процессы. Благодаря немедленному, прямому вовлечению всех затронутых сторон, действие или решение будет, как правило, происходить быстрее, более гладко и эффективно по стоимости и более успешно в целом. Напротив, попытка сделать все это позже, потребует, вероятно, дополнительного времени, ресурсов и людей и в итоге будет менее эффективной.

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

BAM как связующая технология

Когда мы обсуждали события, сервисы, процессы, потоки заданий, уведомления и людей, мы представили концепции, которые поддерживают сервисно-ориентированную обработку данных, Web-сервисы и обработку данных, управляемую событиями, а также позволяют реализовать общее решение.

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

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

Эти две модели обработки данных дополняют друг друга, и вместе предоставляют гибкий эффективный подход для работы как с известными, часто повторяющимися ситуациями и ответами, так и в более неопределенных случаях.

BAM – это важная связующая технология, поскольку она соединяет фиксацию событий и возможности обработки, объединяет их с бизнес аналитикой и логикой, и затем вызывает визуализацию, уведомления или сервисы/процессы в ответ на конкретный сценарий. BAM предоставляет возможности как распознавания, так и реакции, необходимые для лучшего управления оперативными ресурсами. Он опирается одной ногой на обработку данных, управляемую событиями, с ее возможностями собирать и обрабатывать события, а другой – на сервисно-ориентированную обработку данных, с присущей ей возможностью незаметно контролировать сервисы и процессы и, при необходимости, запускать их.

Становление BAM

BAM вырос на интеграции приложений и технологии упрвления сообщениями, как способ контроля за потоками транзакций, который предоставляет возможности обзора и мониторинга, и дополняет существующие решения бизнес-логики (Business Intelligence – BI) и аналитики. Однако BAM все в большей степени предоставляет уникальные и более общие возможности благодаря своей способности собирать и обрабатывать не только транзакции, но также любые другие происходящие события. Примером этого является расширенный выбор технологий, таких как идентификация радио частот (Radio Frequency Identification – RFID), который может обеспечивать подачу событий в реальном времени вне транзакций приложения. Аналогичным образом, BAM-технологию можно предоставить в виде моста между обработкой на сервере и бизнес-метриками и правилами более высокого порядка.

Вот некоторые основные возможности решения BAM:

  • Накопление событий (Event collection): Прозрачным образом собирает события, генерируемые EAI, BPM, Web-сервисами и инструментальными процессами; также может набирать события из управления сообщениями, базы данных, системы, от датчиков и из других источников.
  • Обработка событий (Event processing): Получает важные события из сырого потока событий посредством корреляции, группировки и фильтрации.
  • Аналитика (Analytics): Обрабатывает данные и события в реальном времени, используя существующие данные и инструменты бизнес логики для предоставления интерпретированной информации.
  • Доступ (Access): Рассылает информацию всем обозначенным людям, приложениям и бизнес-процессам, вне зависимости от того, где и когда они зарегистрировали свой интерес.
  • Инициация реакции (Response initiation): Автоматически запускает необходимое действие для событий и информации; предусматривает бизнес-оптимизацию и вмешательство человека в исключительных ситуациях.

Одной из основных возможностей BAM, которую мы обсудим далее, является обработка событий и способность получать события от базовых, нижележащих событий. Эту область часто представляют как Сложную Обработку Событий (Complex Event Processing – CEP), но чтобы полностью рассмотреть эту тему потребуется отдельное обсуждение. В этой же статье мы больше сконцентрируемся на том, как использовать эту возможность для получения событий в контексте BAM и интеграции.

Зачем концентрироваться на бизнес событиях?

Концентрация на событиях, а не только на данных, важна для того, чтобы отличить эту область решений от обычных отчетов, анализа и прочей последующей обработки информации. Поскольку поддержка данных зачастую необходима для помещения события в контекст, основное различие между событием и данными состоит в том, что событие означает изменение какого-либо рода. Изменение означает, что что-то произошло, и это приводит к пониманию того, что изменение статуса – важная характеристика события. Видение (visibility) события может распознать запускающую бизнес-ситуацию, которая инициирует другие действия и породит необходимую информацию вместе с этим событием.

Необходимо обозначить существенное различие между событиями, которыми мы, в конечном счете, интересуемся, и сырыми системными событиями, а также событиями приложения, которые генерируются и коллективно означают, что событие произошло. События высокого уровня используются, чтобы инициировать бизнес-ответы или уведомить людей. Такие события определяются посредством фильтрации, корреляции или группировки низкоуровневых сырых событий.

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

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

Посмотрим на все вместе

Чтобы получить наибольшую отдачу от наших вложений в технологию, необходимо создать живые связи между событиями, обработкой информации и процессами. Концентрация фокуса и принятие структуры, такой как сервисно-ориентированная и управляемая событиями обработка данных, сделает более простой реализацию этих связей. Чтобы достичь этого:

  • Определите важные бизнес-взаимодействия и установите, как они могут быть использованы для управления увеличением дохода или производительности, если будет доступна более подходящая информация.
  • Подумайте о доставке информации сверх простых приложений контроля и предупреждений, чтобы включить автоматизированные процессы и приложения потоков работ, поскольку между идентификацией проблемы и ее решением очень небольшое расстояние.
  • Используйте современные платформы приложений, которые позволят вам легко комбинировать события, процессы и сервисы, чтобы достичь интегрированных решений.

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

Об авторах

Френк Книфсенд является главным руководителем стратегии сервера приложений в Oracle, он отвечает за стратегию продуктов интегрированных связующих платформ Oracle. Электронная почта: frank.knifsend@oracle.com

Джон Диб является руководителем команды управления продуктом для Oracle Application Server 10g, полной интегрированной связующей платформы. Его область деятельности включает промышленную интеграцию, BPM и BAM. Электронная почта: john.deeb@oracle.com.
Website: www.oracle.com

E-mail this page