Apama (software)

Last updated
APAMA
Developer(s) Software AG
Stable release
10.5.3 / June 26, 2020;3 years ago (2020-06-26) [1]
Written in C++ and Java
Operating system Windows, Linux
Type Complex event processing, Event stream processing, IoT, Data analytics
License Commercial / Freemium
Website 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. [2] 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 [3] and smaller machines such as the Raspberry Pi, [4] routers and other Edge/IoT [5] devices. It is particularly noteworthy within the CEP space as being one of the earliest projects, a long term market leader, [6] [7] [8] [9] and innovator of many patents. [10] [11] [12] [13] [14] [15] [16] [17]

Contents

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. [18]

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

In 2016, a freemium version, Apama Community Edition, was released, [20] 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, [21] including:

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:

eventMyEvent{integermyInt;sequence<string>myListOfStrings;booleanmyBool;}monitorMyMonitor{actiononload(){spawnworker()tocontext("mySideThread");}actionworker(){onallMyEvent(myInt>10)asmyCoassignedEvent->MyEvent(myInt>20)orMyEvent(myBool=true)within30.0{if(doWork(myCoassignedEvent.myListOfStrings)!=true){log"Problem!";}}}actiondoWork(sequence<string>)returnsboolean{// do work on the listreturntrue;}}

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:

queryFindSuspiciousWithdrawals{parameters{floatDURATION;floatTHRESHOLD;}inputs{Withdrawal()keycardNumberwithinDURATION;}findeveryWithdrawalaswwherew.amount>100selectlast(w.transactionId)astidselectlast(w.cardNumber)ascidhavinglast(w.amount)>THRESHOLD*avg(w.amount){sendSuspiciousTransaction(tid,cid)toSuspiciousTransactionManager;}}

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

Related Research Articles

Software AG is a German multinational software corporation that develops enterprise software for business process management, integration, and big data analytics. Founded in 1969, the company is headquartered in Darmstadt, Germany, and has offices worldwide.

Nagios Core, formerly known as Nagios, is a free and open-source computer-software application that monitors systems, networks and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications and services. It alerts users when things go wrong and alerts them a second time when the problem has been resolved.

Progress Software Corporation (Progress) is an American public company that offers software for creating and deploying business applications. Headquartered in Burlington, Massachusetts with offices in 16 countries, the company posted revenues of $531.3 million (USD) in 2021 and employs approximately 2100 people.

Event processing is a method of tracking and analyzing (processing) streams of information (data) about things that happen (events), and deriving a conclusion from them. Complex event processing (CEP) consists of a set of concepts and techniques developed in the early 1990s for processing real-time events and extracting information from event streams as they arrive. The goal of complex event processing is to identify meaningful events in real-time situations and respond to them as quickly as possible.

Online transaction processing (OLTP) is a type of database system used in transaction-oriented applications, such as many operational systems. "Online" refers to that such systems are expected to respond to user requests and process them in real-time. The term is contrasted with online analytical processing (OLAP) which instead focuses on data analysis.

Operational intelligence (OI) is a category of real-time dynamic, business analytics that delivers visibility and insight into data, streaming events and business operations. OI solutions run queries against streaming data feeds and event data to deliver analytic results as operational instructions. OI provides organizations the ability to make decisions and immediately act on these analytic insights, through manual or automated actions.

Omnipeek is a packet analyzer software tool from Savvius, a LiveAction company, for network troubleshooting and protocol analysis. It supports an application programming interface (API) for plugins.

<span class="mw-page-title-main">Splunk</span> American technology company

Splunk Inc. is an American software company based in San Francisco, California, that produces software for searching, monitoring, and analyzing machine-generated data via a web-style interface.

<span class="mw-page-title-main">Truviso</span>

Truviso is a continuous analytics, venture-backed, startup headquartered in Foster City, California developing and supporting its solution leveraging PostgreSQL, to deliver a proprietary analytics solutions for net-centric customers. Truviso was acquired by Cisco Systems, Inc. on May 4, 2012.

<span class="mw-page-title-main">Microsoft Azure</span> Cloud computing platform by Microsoft

Microsoft Azure, often referred to as Azure, is a cloud computing platform run by Microsoft, which offers access, management, and development of applications and services through global data centers. It provides a range of capabilities, including software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Microsoft Azure supports many programming languages, tools, and frameworks, including Microsoft-specific and third-party software and systems.

Nastel Technologies is an information technology (IT) monitoring company that sells software for Artificial Intelligent IT Operations (AIOps), monitoring and managing middleware, transaction tracking and tracing, IT Operational Analytics (ITOA), Decision Support Systems (DSS) business transaction management (BTM) and application performance management (APM).

SQLstream is a distributed, SQL standards-compliant plus Java stream processing platform. SQLstream, Inc. is based in San Francisco, California and was launched in 2009 by Damian Black, Edan Kabatchnik and Julian Hyde, author of the open source Mondrian Relational OLAP Server Engine.

The following is provided as an overview of and topical guide to databases:

<span class="mw-page-title-main">Apache Drill</span> Open-source software framework

Apache Drill is an open-source software framework that supports data-intensive distributed applications for interactive analysis of large-scale datasets. Built chiefly by contributions from developers from MapR, Drill is inspired by Google's Dremel system. Drill is an Apache top-level project. Tom Shiran is the founder of the Apache Drill Project. It was designated an Apache Software Foundation top-level project in December 2016.

Esper is an open-source Java-based software product for Complex event processing (CEP) and Event stream processing (ESP), that analyzes series of events for deriving conclusions from them.

<span class="mw-page-title-main">Industrial Internet Consortium</span> Trade organization

The Industrial Internet Consortium rebranded as the Industry IoT Consortium in August 2021. The Industry IoT Consortium is a program of the Object Management Group (OMG).

Predix, known as Predix Platform is an industrial IoT software platform from GE Digital. It provides edge-to-cloud data connectivity, processing, analytics, and services to support industrial applications. The Platform has both edge and cloud components. Predix Cloud is hosted on AWS.

The industrial internet of things (IIoT) refers to interconnected sensors, instruments, and other devices networked together with computers' industrial applications, including manufacturing and energy management. This connectivity allows for data collection, exchange, and analysis, potentially facilitating improvements in productivity and efficiency as well as other economic benefits. The IIoT is an evolution of a distributed control system (DCS) that allows for a higher degree of automation by using cloud computing to refine and optimize the process controls.

John Bates is a British computer scientist, and businessman. He has started several technology companies in the UK. Bates is CEO at ECM/DMS vendor SER Group.

References

  1. "Apama Community Edition New release". apamacommunity.com. Retrieved 2021-03-25.
  2. "Apama Streaming Analytics & Event Processing Platform" . Retrieved 2018-01-16.
  3. "Apama Streaming Analytics* with the Intel® Xeon® Processor E7 v3". Intel. Retrieved 2018-01-16.
  4. "Apama Community Edition Apama 9.12 Community Edition release announcement". www.apamacommunity.com. Retrieved 2018-01-16.
  5. "Software AG introduces Apama EagleEye for an updated, AI-enabled market surveillance solution - IoT Now - How to run an IoT enabled business". IoT Now - How to run an IoT enabled business. 2017-11-23. Retrieved 2018-01-16.
  6. "Sell-Side Technology Awards 2013: Best Sell-Side Complex-Event Processing (CEP) Technology ─ Progress Apama - WatersTechnology.com". WatersTechnology.com. 2013-06-03. Retrieved 2018-02-08.
  7. "Magic Quadrant for Intelligent Business Process Management Suites". www.gartner.com. Retrieved 2018-01-19.
  8. "The Forrester Wave™: Streaming Analytics, Q3 2017". www.forrester.com. Retrieved 2018-01-19.
  9. "Streaming analytics platforms – Bloor Research". www.bloorresearch.com. Retrieved 2018-01-19.
  10. US 20020128897,Nelson, Giles&Bates, John,"Method and apparatus for evaluating queries against received event information",published 12 Sep 2002
  11. US 9009234,Mitchell, Robert Scott; Horsburgh, Mark K.& Bentley, Richard M.,"Complex event processing system having multiple redundant event processing engines",published 14 Apr 2015
  12. US 8656350,Bates, John; Smith, Gareth& Bentley, Richard M.,"Event-based process configuration",published 18 Feb 2014
  13. US 8640089,Bates, John; Smith, Gareth& Bentley, Richard M.,"Automated construction and deployment of complex event processing applications and business activity monitoring dashboards",published 28 Jan 2014
  14. US 9400692,Reed, Christopher&Horsburgh, Mark,"System and method for managing the allocating and freeing of objects in a multi-threaded system",published 26 Jul 2016
  15. US 20160048914,Smith, Gareth,"Trade surveillance and monitoring systems and/or methods",published 18 Feb 2016
  16. US 20160019608,Smith, Gareth,"Dynamically adaptable real-time customer experience manager and/or associated method",published 21 Jan 2016
  17. US 9449218,SMITH, Leighton&Smith, Gareth,"Large venue surveillance and reaction systems and methods using dynamically analyzed emotional input",published 20 Sep 2016
  18. "Progress Software Announces Acquisition of Apama" . Retrieved 2018-01-16.
  19. "Progress Software Announces Agreement to Sell Apama Solution to Software AG (NASDAQ:PRGS)". investors.progress.com. Archived from the original on 2018-02-09. Retrieved 2018-01-16.
  20. "Apama Community Edition Introducing Apama Community Edition". www.apamacommunity.com. Retrieved 2018-01-16.
  21. "The Apama Platform" (PDF). Archived from the original (PDF) on 2019-12-21. Retrieved 2023-08-04.