Apama 10.15.0 | Introduction to Apama | Apama Concepts | Event-driven programming
 
Event-driven programming
Events are data elements. Each event is a collection of attribute-value pairs that capture the state (or changes to state) of real-world or computer-based objects. Events consist of data and temporal attributes that represent the what, when, and where of an object. This can be the state of an object or the interaction of objects at a particular time. Real world examples of events include:
*Stock market trades and quotes
*RFID signals
*Satellite telemetry data
*Card swipes at a turnstile
*ATM transactions
*Network activities/faults
*Troop movement on a battlefield
*Activity on a website
*Electronic funds transfers
*SCADA alerts (Supervisory Control and Data Acquisition)
Processing events requires event-driven programming. The hallmarks of event-driven programming include the following:
*Program execution does not flow sequentially from beginning to end. There is no standard starting point.
*Program execution happens in response to the arrival of events. Some external source pushes the events into your program.
*Events arrive in asynchronous messages.
*There are two main bodies of code: code that analyzes incoming events to determine if the events are of interest and code that performs actions when events of interest are found.
There are a lot of similarities between GUI programming and event driven programming. For example, in a GUI program you typically write code that responds to mouse clicks.
See also How EPL applications compare to applications in other languages.