Апама (программное обеспечение)
Разработчик(и) | Программное обеспечение АГ |
---|---|
Стабильная версия | 10.5.3
/ 26 июня 2020 г [1] |
Написано в | С++ и Java |
Операционная система | Винда , Линукс |
Тип | Обработка сложных событий , Обработка потока событий , Интернет вещей , Аналитика данных |
Лицензия | Коммерческий / бесплатный |
Веб-сайт | апамасообщество |
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 году была выпущена бесплатная версия Apama Community Edition. [20] наряду с поддержкой форумов и GitHub пространств .
Обзор
[ редактировать ]Язык обработки событий
[ редактировать ]Приложения для Apama создаются на языке обработки событий (EPL). EPL содержит функции языка, предназначенные исключительно для событийно-ориентированного программирования . [21] включая:
- События — простые структуры данных, содержащие поля и действия.
- Мониторы. Подобно классам на других языках, мониторы содержат прослушиватели и действия и загружаются при внедрении.
- Слушатели — декларативные шаблоны, определяющие интересные условия/комбинации событий. Поддерживаются операторы агрегации, временные и фильтрационные операторы.
- Действия — императивные функции, обычно запускаемые прослушивателями при активации или мониторами при загрузке.
- Контексты. Подобно потокам, мониторы существуют внутри контекстов.
- Каналы — механизм связи между контекстами и внешними системами.
- Потоки — упорядоченные разделы событий с поддержкой агрегации и SQL -подобных запросов.
Синтаксис, подобный EPL C++/Java, предназначен для создания приложений CEP в сочетании с вышеупомянутыми функциями, пример которых можно найти ниже:
event MyEvent {
integer myInt;
sequence<string> myListOfStrings;
boolean myBool;
}
monitor MyMonitor {
action onload() {
spawn worker() to context("mySideThread");
}
action worker() {
on all MyEvent(myInt>10) as myCoassignedEvent -> MyEvent(myInt>20) or MyEvent(myBool=true) within 30.0 {
if(doWork(myCoassignedEvent.myListOfStrings) != true) {
log "Problem!";
}
}
}
action doWork(sequence<string>) returns boolean {
// do work on the list
return true;
}
}
Апама запросы
[ редактировать ]Apama Queries — это альтернативный язык для создания правил для определенных наборов данных, таких как полученные данные за последние пять минут или полученные последние двадцать событий, в автоматически многопоточной среде, которая масштабируется между компьютерами. Запросы Apama лучше подходят для мониторинга очень больших наборов данных, например банковских транзакций. Обычно каждый объект (т. е. владелец учетной записи) будет разделен и обработан независимо от остального набора. Запросы и мониторы могут взаимодействовать через каналы. Пример предыдущего сценария можно найти ниже:
query FindSuspiciousWithdrawals {
parameters {
float DURATION;
float THRESHOLD;
}
inputs {
Withdrawal() key cardNumber within DURATION;
}
find every Withdrawal as w
where w.amount > 100
select last(w.transactionId) as tid
select last(w.cardNumber) as cid
having last(w.amount) > THRESHOLD * avg(w.amount) {
send SuspiciousTransaction(tid, cid) to SuspiciousTransactionManager;
}
}
Дизайнер
[ редактировать ]Software AG Designer — это Eclipse на базе интегрированная среда разработки со специальной поддержкой разработки и развертывания приложений Apama, которая включена в стандартную установку. Функции включают помощь с кодом, управление пакетами, профилирование, разработку графического интерфейса и управление развертыванием.
Плагины
[ редактировать ]Apama поддерживает возможность пользователей создавать плагины для расширения возможностей. Эти плагины выпускаются в двух формах: плагины EPL ( для добавления функций в EPL ) и плагины подключения (для связи с внешним миром). API C++ и Java доступны для обоих типов плагинов. Плагины подключения существуют в двух формах: кодеки (которые преобразуют данные из одного формата в другой, например внутреннее представление Apama в JSON ) и транспорты (которые обрабатывают отправку/получение во внешние системы, такие как JMS ). Подключения к внешним системам производятся путем составления цепочек кодеков и одного транспорта для достижения нужной топологии; эти соединения определяются файлом конфигурации YAML при запуске или посредством динамического управления с помощью предоставленных инструментов. несколько предварительно созданных плагинов для популярных технологий (например, R , MQTT , Kafka , HTTP , MatLab ), а также для подключения к другим продуктам Software AG (например, Universal Messaging, Terracotta Вместе с установками Apama поставляются , Cumulocity).
Упорство
[ редактировать ]Процесс 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» . Проверено 16 января 2018 г.
- ^ «Apama Streaming Analytics* с процессором Intel® Xeon® E7 v3» . Интел . Проверено 16 января 2018 г.
- ^ «Анонс выпуска Apama Community Edition Apama 9.12 Community Edition» . www.apamacommunity.com . Проверено 16 января 2018 г.
- ^ «Software AG представляет Apama EagleEye — обновленное решение для наблюдения за рынком с поддержкой искусственного интеллекта — IoT Now — Как вести бизнес с поддержкой IoT» . IoT Now: как вести бизнес с поддержкой IoT . 2017-11-23 . Проверено 16 января 2018 г.
- ^ «Награда Sell-Side Technology Awards 2013: Лучшая технология обработки сложных событий (CEP) на стороне продавца — Progress Apama — WatersTechnology.com» . WatersTechnology.com . 03.06.2013 . Проверено 8 февраля 2018 г.
- ^ «Магический квадрант для пакетов интеллектуального управления бизнес-процессами» . www.gartner.com . Проверено 19 января 2018 г.
- ^ «The Forrester Wave™: потоковая аналитика, третий квартал 2017 г.» . www.forrester.com . Проверено 19 января 2018 г.
- ^ «Платформы потоковой аналитики – Bloor Research» . www.bloorresearch.com . 4 февраля 2015 г. Проверено 19 января 2018 г.
- ^ US 20020128897 , Нельсон, Джайлс и Бейтс, Джон, «Метод и устройство для оценки запросов на основе полученной информации о событиях», опубликовано 12 сентября 2002 г.
- ^ US 9009234 , Митчелл, Роберт Скотт; Хорсбург, Марк К. и Бентли, Ричард М., «Сложная система обработки событий, имеющая несколько резервных механизмов обработки событий», опубликовано 14 апреля 2015 г.
- ^ США 8656350 , Бейтс, Джон; Смит, Гарет и Бентли, Ричард М., «Конфигурация процессов на основе событий», опубликовано 18 февраля 2014 г.
- ^ США 8640089 , Бейтс, Джон; Смит, Гарет и Бентли, Ричард М., «Автоматизированное создание и развертывание сложных приложений для обработки событий и панелей мониторинга деловой активности», опубликовано 28 января 2014 г.
- ^ US 9400692 , Рид, Кристофер и Хорсбург, Марк, «Система и метод управления выделением и освобождением объектов в многопоточной системе», опубликовано 26 июля 2016 г.
- ^ US 20160048914 , Смит, Гарет, «Системы и/или методы торгового надзора и мониторинга», опубликовано 18 февраля 2016 г.
- ^ США 20160019608 , Смит, Гарет, «Динамически адаптируемый менеджер по работе с клиентами в режиме реального времени и/или связанный метод», опубликовано 21 января 2016 г.
- ^ US 9449218 , СМИТ, Лейтон и Смит, Гарет, «Системы и методы наблюдения и реагирования на больших площадках с использованием динамически анализируемой эмоциональной составляющей», опубликовано 20 сентября 2016 г.
- ^ «Progress Software объявляет о приобретении Apama» . Проверено 16 января 2018 г.
- ^ «Progress Software объявляет о соглашении о продаже решения Apama компании Software AG (NASDAQ:PRGS)» . www.investors.progress.com . Архивировано из оригинала 9 февраля 2018 г. Проверено 16 января 2018 г.
- ^ «Выпуск Apama Community Edition представляет выпуск Apama Community Edition» . www.apamacommunity.com . Проверено 16 января 2018 г.
- ^ «Платформа Апама» (PDF) . Архивировано из оригинала (PDF) 21 декабря 2019 г. Проверено 4 августа 2023 г.