Разработчики) | Software AG |
---|---|
Стабильный выпуск | 10.5.3 / 26 июня 2020 г . [1] |
Написано в | C ++ и Java (язык программирования) |
Операционная система | Windows , Linux |
Тип | Обработка сложных событий , обработки событий потока , IoT , Data Analytics |
Лицензия | Коммерческий / Freemium |
Веб-сайт | apamacommunity |
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
Ссылки [ править ]
- ^ "Новый выпуск Apama Community Edition" . apamacommunity.com . Проверено 25 марта 2021 .
- ^ «Apama Streaming Analytics & Платформа обработки событий» . Проверено 16 января 2018 .
- ^ «Apama Streaming Analytics * с процессором Intel® Xeon® E7 v3» . Intel . Проверено 16 января 2018 .
- ^ "Объявление о выпуске Apama Community Edition Apama 9.12 Community Edition" . www.apamacommunity.com . Проверено 16 января 2018 .
- ^ «Software AG представляет Apama EagleEye для обновленного решения по наблюдению за рынком с поддержкой ИИ - IoT Now - How to run the IoT-based Business» . IoT Now - Как вести бизнес с использованием Интернета вещей . 2017-11-23 . Проверено 16 января 2018 .
- ^ "Sell-Side Technology Awards 2013: Лучшая технология обработки комплексных событий на стороне продавца (CEP) ─ Progress Apama - WatersTechnology.com" . WatersTechnology.com . 2013-06-03 . Проверено 8 февраля 2018 .
- ^ «Магический квадрант для интеллектуальных пакетов управления бизнес-процессами» . www.gartner.com . Проверено 19 января 2018 .
- ^ «Forrester Wave ™: Streaming Analytics, третий квартал 2017 г.» . www.forrester.com . Проверено 19 января 2018 .
- ^ «Платформы потоковой аналитики - Bloor Research» . www.bloorresearch.com . Проверено 19 января 2018 .
- ^ [1] , Нельсон, Джайлс и Джон Бейтс, «Метод и устройство для оценки запросов по полученной информации о событиях»
- ^ [2] , Митчелл, Роберт Скотт; Марк К. Хорсбург и Ричард М. Бентли, «Комплексная система обработки событий, имеющая несколько резервных механизмов обработки событий»
- ^ [3] , Бейтс, Джон; Гарет Смит и Ричард М. Бентли, «Конфигурация процесса на основе событий»
- ^ [4] , Бейтс, Джон; Гарет Смит и Ричард М. Бентли, «Автоматизированное создание и развертывание сложных приложений обработки событий и панелей мониторинга деловой активности»
- ^ [5] , Рид, Кристофер и Марк Хорсбург, «Система и метод управления выделением и освобождением объектов в многопоточной системе»
- ^ [6] , Смит, Гарет, "Системы и / или методы наблюдения и мониторинга торговли"
- ^ [7] , Смит, Гарет, «Динамически адаптируемый менеджер по работе с клиентами в реальном времени и / или связанный метод»
- ^ [8] , СМИТ, Лейтон и Гарет Смит, «Системы и методы наблюдения и реагирования на крупных объектах с использованием динамически анализируемых эмоциональных входов»
- ^ «Progress Software объявляет о приобретении Apama» . Проверено 16 января 2018 .
- ^ «Progress Software объявляет о соглашении о продаже решения Apama компании Software AG (NASDAQ: PRGS)» . Investors.progress.com . Архивировано из оригинала на 2018-02-09 . Проверено 16 января 2018 .
- ^ "Apama Community Edition Представляем Apama Community Edition" . www.apamacommunity.com . Проверено 16 января 2018 .
- ^ 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, исследовательская статья, посвященная Апаме [ постоянная мертвая ссылка ]