请输入您要查询的百科知识:

 

词条 Apama (software)
释义

  1. History

  2. Overview

      Event Processing Language    Apama Queries    Designer    Plugins    Persistence    Visualization  

  3. See also

  4. References

  5. External links

{{Infobox software
| title = APAMA
| name = APAMA
| logo =
| screenshot =
| caption =
| developer = Software AG
| latest release version = 10.3.0
| latest release date =
| status = Active
| programming language = C++ and Java (programming language)
| operating system = Cross-platform
| genre = Complex Event Processing, Event Stream Processing, IoT, Data Analytics
| license = Commercial / Freemium
| website = {{URL|apamacommunity.com}}
}}Apama is a Complex Event Processing (CEP) and Event Stream Processing (ESP) engine, developed by Software AG. Apama serves as a platform for performing streaming analytics over a range of high volume/low latency inputs and applications, such as IoT devices, financial exchanges, fraud detection, social media and similar.[1] Users can define data patterns to listen for and actions to take when these patterns are found, which are defined in the provided Domain Specific Language called the Event Processing Language (EPL). The core Apama engine is written in C++; the process can also optionally contain a JVM for interacting with user created Java code. Apama focuses on high throughput, low latency and memory efficient performance; used in both Intel benchmarks[2] and smaller machines such as the Raspberry Pi,[3] routers and other Edge/IoT[4] devices. It is particularly noteworthy within the CEP space as being one of the earliest projects, a long term market leader,[5][6][7][8] and innovator of many patents.[9][10][11][12][13][14][15][16]

History

Apama Ltd. was founded in 1999 by Dr John Bates, Dr Giles Nelson and Dr Mohamad Afshar, who met while undertaking research at the Cambridge University Department of Computer Science and Technology.

In 2005, Apama Limited was acquired by Progress Software for $25 million.[17]

In 2013, Apama was acquired by Software AG from Progress for an undisclosed amount.[18]

In 2016, a freemium version, Apama Community Edition, was released,[19] alongside supporting forums and GitHub spaces.

Overview

Event Processing Language

Applications for Apama are authored in the Event Processing Language (EPL). EPL contains language features designed purely for Event Driven Programming,[20] including:

  • Events - Simple data structures containing fields and actions
  • Monitors - Similar to classes in other languages, monitors contain listeners and actions and are loaded upon injection
  • Listeners - Declarative patterns defining interesting conditions/combinations of events. Aggregation, temporal and filtering operators are supported
  • Actions - Imperative functions, usually run by listeners upon activation or monitors upon load
  • Contexts - Similar to threads, monitors exist inside contexts
  • Channels - Mechanism for communicating between contexts and external systems
  • Streams - Ordered partitions of events with support for aggregation and SQL-like queries

The EPL C++/Java-like syntax is designed to create CEP applications succinctly in conjunction with the above features, an example of which can be found below:

event MyEvent {

    integer myInt;    sequence 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) returns boolean {        // do work on the list        return true;    }

}

Apama Queries

Apama Queries is an alternate language for creating rules over defined data sets, such as the past five minutes of received data or past twenty events received, in an automatically multi-threaded environment that scales across machines. Apama Queries are better suited for monitoring very large sets, such as bank transactions. Typically, each entity (i.e. account holder) will be partitioned and processed independently of the rest of the set. Queries and Monitors can communicate via channels. An example of the previous scenario can be found below:

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;        }

}

Designer

The Software AG Designer is an Eclipse based IDE with special support for developing and deploying Apama applications, which is included in a standard installation. Features include code assistance, package management, profiling, GUI development and deployment management.

Plugins

Apama supports the ability for users to create plugins to extend capability. These plugins come in two forms, EPL plugins (to add features to EPL) and Connectivity plugins (for communicating with the outside world). C++ and Java APIs are available for both plugin types. Connectivity plugins come in two forms, codecs (which translate data from one format to another, such as the internal Apama representation to JSON) and transports (which handle sending/receiving to/from external systems, such as JMS). Connections to external systems are made by composing chains of codecs and one transport to achieve the desired topology; these connections are defined by a YAML configuration file at start-up or through dynamic management with the provided tools. Several pre-built plugins for popular technologies (e.g. R, MQTT, Kafka, HTTP, MatLab) as well as connectivity to other Software AG products (e.g. Universal Messaging, Terracotta, Cumulocity) are shipped with Apama installations.

Persistence

The Apama process is entirely in memory and supports an optional SQLite based in-built persistence system. Additionally, the connectivity API supports reliable messaging to systems that support it, such as JMS. Finally, a pre-built distributed memory store plugin is provided with standard installations for use with appropriate back-ends.

Visualization

Apama provides an in-built dashboarding technology developed from within the Software AG Designer, as well as native connections to Software AG's MashZone NextGen.

See also

  • Complex event processing (CEP) - A related technology for building and managing event-driven information systems.
  • Data Stream Management System (DSMS) - A type of software system for managing and querying data streams
  • Event correlation
  • Event-driven architecture — (EDA) is a software architecture pattern promoting the production, detection, consumption of, and reaction to events.
  • Event stream processing — (ESP) is a related technology that focuses on processing streams of related data.
  • Operational intelligence — Both CEP and ESP are technologies that underpin operational intelligence.
  • Pattern matching
  • Real-time business intelligence — Business Intelligence is the application of knowledge derived from CEP system

References

1. ^{{Cite news|url=https://www.softwareag.com/corporate/products/apama_webmethods/analytics/default|title=Apama Streaming Analytics & Event Processing Platform|access-date=2018-01-16}}
2. ^{{Cite web|url=https://www.intel.com/content/www/us/en/big-data/apama-analytics-xeon-e7-v3-paper.html|title=Apama Streaming Analytics* with the Intel® Xeon® Processor E7 v3|website=Intel|access-date=2018-01-16}}
3. ^{{Cite web|url=http://www.apamacommunity.com/apama-9-12-community-edition-release-announcement/|title=Apama Community Edition Apama 9.12 Community Edition release announcement|website=www.apamacommunity.com|language=en-US|access-date=2018-01-16}}
4. ^{{Cite news|url=https://www.iot-now.com/2017/11/23/71815-software-ag-introduces-apama-eagleeye-updated-ai-enabled-market-surveillance-solution/|title=Software AG introduces Apama EagleEye for an updated, AI-enabled market surveillance solution - IoT Now - How to run an IoT enabled business|date=2017-11-23|work=IoT Now - How to run an IoT enabled business|access-date=2018-01-16|language=en-US}}
5. ^{{Cite news|url=https://www.waterstechnology.com/awards-rankings/2271718/sell-side-technology-awards-2013-best-sell-side-complex-event-processing-cep-technology-progress-apama|title=Sell-Side Technology Awards 2013: Best Sell-Side Complex-Event Processing (CEP) Technology ─ Progress Apama - WatersTechnology.com|date=2013-06-03|work=WatersTechnology.com|access-date=2018-02-08|language=en}}
6. ^{{Cite web|url=https://www.gartner.com/doc/3818763|title=Magic Quadrant for Intelligent Business Process Management Suites|website=www.gartner.com|access-date=2018-01-19}}
7. ^{{Cite web|url=https://www.forrester.com/report/The+Forrester+Wave+Streaming+Analytics+Q3+2017/-/E-RES136545|title=The Forrester Wave™: Streaming Analytics, Q3 2017|website=www.forrester.com|language=en|access-date=2018-01-19}}
8. ^{{Cite web|url=https://www.bloorresearch.com/technology/streaming-analytics-platforms/|title=Streaming analytics platforms – Bloor Research|website=www.bloorresearch.com|language=en-GB|access-date=2018-01-19}}
9. ^{{Citation|title=Method and apparatus for evaluating queries against received event information|date=12 Sep 2002|url=http://www.google.co.uk/patents/US20020128897|inventor-last=Nelson|inventor2-last=Bates|inventor-first=Giles|inventor2-first=John|issue=US20020128897 A1|accessdate=2018-01-19}}
10. ^{{Citation|title=Complex event processing system having multiple redundant event processing engines|date=14 Apr 2015|url=http://www.google.co.uk/patents/US9009234|inventor-last=Mitchell|inventor2-last=Horsburgh|inventor3-last=Bentley|inventor-first=Robert Scott|inventor2-first=Mark K.|inventor3-first=Richard M.|issue=US9009234 B2|accessdate=2018-01-19}}
11. ^{{Citation|title=Event-based process configuration|date=18 Feb 2014|url=http://www.google.co.uk/patents/US8656350|inventor-last=Bates|inventor2-last=Smith|inventor3-last=Bentley|inventor-first=John|inventor2-first=Gareth|inventor3-first=Richard M.|issue=US8656350 B2|accessdate=2018-01-19}}
12. ^{{Citation|title=Automated construction and deployment of complex event processing applications and business activity monitoring dashboards|date=28 Jan 2014|url=http://www.google.co.uk/patents/US8640089|inventor-last=Bates|inventor2-last=Smith|inventor3-last=Bentley|inventor-first=John|inventor2-first=Gareth|inventor3-first=Richard M.|issue=US8640089 B2|accessdate=2018-01-19}}
13. ^{{Citation|title=System and method for managing the allocating and freeing of objects in a multi-threaded system|date=26 Jul 2016|url=http://www.google.co.uk/patents/US9400692|inventor-last=Reed|inventor2-last=Horsburgh|inventor-first=Christopher|inventor2-first=Mark|issue=US9400692 B2|accessdate=2018-01-19}}
14. ^{{Citation|title=Trade surveillance and monitoring systems and/or methods|date=18 Feb 2016|url=http://www.google.co.uk/patents/US20160048914|inventor-last=Smith|inventor-first=Gareth|issue=US20160048914 A1|accessdate=2018-01-19}}
15. ^{{Citation|title=Dynamically adaptable real-time customer experience manager and/or associated method|date=21 Jan 2016|url=http://www.google.co.uk/patents/US20160019608|inventor-last=Smith|inventor-first=Gareth|issue=US20160019608 A1|accessdate=2018-01-19}}
16. ^{{Citation|title=Large venue surveillance and reaction systems and methods using dynamically analyzed emotional input|date=20 Sep 2016|url=http://www.google.co.uk/patents/US9449218|inventor-last=SMITH|inventor2-last=Smith|inventor-first=Leighton|inventor2-first=Gareth|issue=US9449218 B2|accessdate=2018-01-19}}
17. ^{{Cite news|url=https://www.businesswire.com/news/home/20050406005777/en/Progress-Software-Announces-Acquisition-Apama|title=Progress Software Announces Acquisition of Apama|access-date=2018-01-16|language=en}}
18. ^{{Cite web|url=http://investors.progress.com/releasedetail.cfm?releaseid=771123|title=Progress Software Announces Agreement to Sell Apama Solution to Software AG (NASDAQ:PRGS)|website=investors.progress.com|language=en|access-date=2018-01-16}}
19. ^{{Cite web|url=http://www.apamacommunity.com/introducing-apama-community-edition/|title=Apama Community Edition Introducing Apama Community Edition|website=www.apamacommunity.com|language=en-US|access-date=2018-01-16}}
20. ^http://www.apamacommunity.com/wp-content/uploads/2016/06/SAG_The_Apama_Platform_20PG_WP_Jun16-Web.pdf

External links

  • Apama Community Edition
  • [https://www.softwareag.com/corporate/products/apama_webmethods/analytics/default Apama Commercial Edition]
  • [https://www.softwareag.com/corporate/default.html Software AG]
  • [https://reprints.forrester.com/#/assets/2/202/%27RES136545%27/reports Forrester Wave: Streaming Analytics, 2017Q3]
  • Disruptive Analytics by Thomas W. Dinsmore, Apress ({{ISBN|978-1-4842-1312-4}}), a book about emerging trends in analytics, including Apama
  • PrEstoCloud, a research paper featuring Apama

1 : Events (computing)

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/13 10:22:29