Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Apama - это механизм комплексной обработки событий (CEP) и обработки потока событий (ESP) , разработанный Software AG . Apama служит платформой для выполнения потоковой аналитики по ряду входов и приложений с большим объемом / низкой задержкой, таких как устройства IoT , финансовые обмены, обнаружение мошенничества, социальные сети и т. Д. [2] Пользователи могут определять шаблоны данных для прослушивания и действия, которые следует предпринять при обнаружении этих шаблонов, которые определены на предоставленном доменно-специфическом языке, называемом языком обработки событий (EPL). Ядро движка Apama написано на C ++ ; процесс также может дополнительно содержать JVM для взаимодействия с пользователем, созданнымКод Java . Apama делает упор на высокую пропускную способность, низкую задержку и эффективное использование памяти; используется как в тестах Intel [3], так и в небольших машинах, таких как Raspberry Pi , [4] маршрутизаторы и другие устройства Edge / IoT [5] . Это особенно примечательно в пространстве CEP как один из самых ранних проектов , долгосрочный лидер рынка [6] [7] [8] [9] и новатор многих патентов. [10] [11] [12] [13] [14] [15] [16] [17]

История [ править ]

Apama Ltd. была основана в 1999 году доктором Джоном Бейтсом , доктором Джайлсом Нельсоном и доктором Мохамадом Афшаром, которые познакомились во время проведения исследований на факультете компьютерных наук и технологий Кембриджского университета .

В 2005 году Apama Limited была приобретена Progress Software за 25 миллионов долларов. [18]

В 2013 году Apama была приобретена Software AG у компании Progress за неизвестную сумму. [19]

В 2016 году Freemium версия, Apama Community Edition был выпущен, [20] наряду с поддержкой форумов и GitHub пространства.

Обзор [ править ]

Язык обработки событий [ править ]

Приложения для Apama создаются на языке обработки событий (EPL). EPL содержит функции языка предназначены исключительно для событий Ведомый программирования , [21] в том числе:

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

Синтаксис, подобный EPL C ++ / Java, разработан для лаконичного создания приложений CEP в сочетании с вышеуказанными функциями, пример которых можно найти ниже:

событие  MyEvent  {  целое число  myInt ;  последовательность < строка >  myListOfStrings ;  boolean  myBool ; } отслеживать  MyMonitor  {  действие  onload ()  {  порождать  worker ()  в  контексте ( "mySideThread" );  }  action  worker ()  {  для  всех  MyEvent ( myInt > 10 )  как  myCoassignedEvent  ->  MyEvent ( myInt > 20 )  или  MyEvent ( myBool = true ) в  пределах  30.0  {  if ( doWork ( myCoassignedEvent . myListOfStrings )  ! =  true )  {  log  "Проблема! " ;  }  }  }  действие  doWork ( sequence < string > )  возвращает  логическое значение  {  // работать со списком  return  true ;  } }

Запросы Apama [ править ]

Apama Queries - это альтернативный язык для создания правил для определенных наборов данных, таких как последние пять минут полученных данных или последние двадцать полученных событий, в автоматически многопоточной среде, масштабируемой между машинами. Запросы Apama лучше подходят для мониторинга очень больших наборов данных, например банковских транзакций. Как правило, каждая сущность (то есть владелец учетной записи) будет разделена и обработана независимо от остальной части набора. Запросы и мониторы могут обмениваться данными по каналам. Пример предыдущего сценария можно найти ниже:

запрос  FindSuspiciousWithdrawals  {  параметры  {  float  DURATION ;  float  THRESHOLD ;  }  вводит  {  Withdrawal ()  key  cardNumber в  течение  DURATION ;  }  найти  каждый  Снятие  как  w,  где  w . amount  >  100  выберите  последний ( w . transactionId )  как  tid  выберите  последний ( w . cardNumber )  как  cid,  имеющий  last ( w . amount )  >  THRESHOLD  *  avg ( w . amount )  {  send  SuspiciousTransaction ( tid ,  cid)  в  SuspiciousTransactionManager ;  } }

Дизайнер [ править ]

Software AG Designer - это IDE на основе Eclipse со специальной поддержкой для разработки и развертывания приложений Apama, которая включена в стандартную установку. Возможности включают поддержку кода, управление пакетами, профилирование, разработку графического интерфейса и управление развертыванием.

Плагины [ править ]

Apama поддерживает возможность пользователей создавать плагины для расширения возможностей. Эти плагины бывают двух видов: плагины EPL ( для добавления функций в EPL ) и плагины подключения (для связи с внешним миром). API-интерфейсы C ++ и Java доступны для обоих типов плагинов. Плагины подключения бывают двух форм: кодеки (которые переводят данные из одного формата в другой, например, внутреннее представление Apama в JSON ) и транспорты (которые обрабатывают отправку / получение во внешние системы, такие как JMS ). Соединения с внешними системами выполняются путем составления цепочек кодеков и одного транспорта для достижения желаемой топологии; эти соединения определены YAMLфайл конфигурации при запуске или через динамическое управление с помощью предоставленных инструментов. Несколько готовых плагинов для популярных технологий (например, R , MQTT , Kafka , HTTP , MatLab ), а также возможность подключения к другим продуктам Software AG (например, Universal Messaging, Terracotta , Cumulocity) поставляются с установками Apama.

Настойчивость [ править ]

Процесс Apama полностью находится в памяти и поддерживает дополнительную встроенную систему сохраняемости на основе SQLite . Кроме того, API подключения поддерживает надежный обмен сообщениями с системами, которые его поддерживают, например JMS. Наконец, предварительно созданный плагин распределенного хранилища памяти предоставляется со стандартными установками для использования с соответствующими внутренними компонентами.

Визуализация [ править ]

Apama предоставляет встроенную технологию приборных панелей, разработанную в Software AG Designer, а также встроенные подключения к MashZone NextGen от Software AG.

См. Также [ править ]

  • Комплексная обработка событий (CEP) - родственная технология для построения и управления информационными системами, управляемыми событиями.
  • Система управления потоками данных (DSMS) - тип программной системы для управления потоками данных и запросов к ним.
  • Корреляция событий
  • Управляемая событиями архитектура (EDA) - это шаблон архитектуры программного обеспечения, способствующий производству, обнаружению, потреблению и реакции на события.
  • Обработка потока событий - (ESP) - это связанная технология, ориентированная на обработку потоков связанных данных.
  • Операционный интеллект. И CEP, и ESP - это технологии, лежащие в основе оперативного интеллекта.
  • Сопоставление с образцом
  • Бизнес-аналитика в реальном времени - Бизнес-аналитика - это применение знаний, полученных из системы CEP

Ссылки [ править ]

  1. ^ "Новый выпуск Apama Community Edition" . apamacommunity.com . Проверено 25 марта 2021 .
  2. ^ «Apama Streaming Analytics & Платформа обработки событий» . Проверено 16 января 2018 .
  3. ^ «Apama Streaming Analytics * с процессором Intel® Xeon® E7 v3» . Intel . Проверено 16 января 2018 .
  4. ^ "Объявление о выпуске Apama Community Edition Apama 9.12 Community Edition" . www.apamacommunity.com . Проверено 16 января 2018 .
  5. ^ «Software AG представляет Apama EagleEye для обновленного решения по наблюдению за рынком с поддержкой ИИ - IoT Now - How to run the IoT-based Business» . IoT Now - Как вести бизнес с использованием Интернета вещей . 2017-11-23 . Проверено 16 января 2018 .
  6. ^ "Sell-Side Technology Awards 2013: Лучшая технология обработки комплексных событий на стороне продавца (CEP) ─ Progress Apama - WatersTechnology.com" . WatersTechnology.com . 2013-06-03 . Проверено 8 февраля 2018 .
  7. ^ «Магический квадрант для интеллектуальных пакетов управления бизнес-процессами» . www.gartner.com . Проверено 19 января 2018 .
  8. ^ «Forrester Wave ™: Streaming Analytics, третий квартал 2017 г.» . www.forrester.com . Проверено 19 января 2018 .
  9. ^ «Платформы потоковой аналитики - Bloor Research» . www.bloorresearch.com . Проверено 19 января 2018 .
  10. ^ [1] , Нельсон, Джайлс и Джон Бейтс, «Метод и устройство для оценки запросов по полученной информации о событиях» 
  11. ^ [2] , Митчелл, Роберт Скотт; Марк К. Хорсбург и Ричард М. Бентли, «Комплексная система обработки событий, имеющая несколько резервных механизмов обработки событий» 
  12. ^ [3] , Бейтс, Джон; Гарет Смит и Ричард М. Бентли, «Конфигурация процесса на основе событий» 
  13. ^ [4] , Бейтс, Джон; Гарет Смит и Ричард М. Бентли, «Автоматизированное создание и развертывание сложных приложений обработки событий и панелей мониторинга деловой активности» 
  14. ^ [5] , Рид, Кристофер и Марк Хорсбург, «Система и метод управления выделением и освобождением объектов в многопоточной системе» 
  15. ^ [6] , Смит, Гарет, "Системы и / или методы наблюдения и мониторинга торговли" 
  16. ^ [7] , Смит, Гарет, «Динамически адаптируемый менеджер по работе с клиентами в реальном времени и / или связанный метод» 
  17. ^ [8] , СМИТ, Лейтон и Гарет Смит, «Системы и методы наблюдения и реагирования на крупных объектах с использованием динамически анализируемых эмоциональных входов» 
  18. ^ «Progress Software объявляет о приобретении Apama» . Проверено 16 января 2018 .
  19. ^ «Progress Software объявляет о соглашении о продаже решения Apama компании Software AG (NASDAQ: PRGS)» . Investors.progress.com . Архивировано из оригинала на 2018-02-09 . Проверено 16 января 2018 .
  20. ^ "Apama Community Edition Представляем Apama Community Edition" . www.apamacommunity.com . Проверено 16 января 2018 .
  21. ^ http://www.apamacommunity.com/wp-content/uploads/2016/06/SAG_The_Apama_Platform_20PG_WP_Jun16-Web.pdf

Внешние ссылки [ править ]

  • Apama Community Edition
  • Коммерческое издание Apama
  • Software AG
  • Forrester Wave: Streaming Analytics, III квартал 2017 г.
  • Подрывная аналитика Томаса В. Динсмора, Apress ( ISBN 978-1-4842-1312-4 ), книги о новых тенденциях в аналитике, включая Apama 
  • PrEstoCloud, исследовательская статья, посвященная Апаме [ постоянная мертвая ссылка ]