comp-12: building apama applications
DESCRIPTION
COMP-12: Building Apama Applications. Picking the Right Tools. John Trigg. Principal Product Manager, Progress Apama. Agenda. Complex Event Processing & Apama Constituents in CEP Development Scenarios and Dashboards The Developer and MonitorScript - PowerPoint PPT PresentationTRANSCRIPT
COMP-12: Building Apama Applications
Picking the Right Tools
John TriggPrincipal Product Manager,
Progress Apama
© 2007 Progress Software Corporation2 COMP-12: Building Apama Applications
Agenda
Complex Event Processing & Apama Constituents in CEP Development Scenarios and Dashboards The Developer and MonitorScript Building Blocks – Developers and Analysts
Collaborate The Business User Summary
© 2007 Progress Software Corporation3 COMP-12: Building Apama Applications
What makes CEP so Special?
New way of processing• Works in real time
Time is built in• Analyze by sequence / within time frames
Speed• Sophisticated tools: high speed, high volume
Flexibility• Adaptable across industries, data,
communication modes
© 2007 Progress Software Corporation4 COMP-12: Building Apama Applications
A New Way of Processing
Time1 2 3 4 5 6 7 8 9
Event Stream Data Processing
“When 3 authorizations for the same credit card occur in any 60 second period, deny the request
and require manual approval.
Event Stream Data Processing
“When 3 authorizations for the same credit card occur in any 60 second period, deny the request
and require manual approval.
Traditional (Static) Data Processing
“How many invalid credit card authorizations were accepted yesterday?”
Traditional (Static) Data Processing
“How many invalid credit card authorizations were accepted yesterday?”
© 2007 Progress Software Corporation5 COMP-12: Building Apama Applications
Apama’s Leadership Position
Scalable Event Processing Platform• Sub-millisecond latency
• 000’s of scenarios
Sophisticated Development Tools• Business & technical users
• Rich event processing language
Flexible Event Capture and Replay• Backtesting & digital forensics
Graphically-Rich Dashboards• Real-time event monitoring
Rich Integration Framework• Event sources, messaging, & applications
• Access historical insight in real-time in RDBMS and BI
© 2007 Progress Software Corporation6 COMP-12: Building Apama Applications
DashboardsDeveloper Studio
Block Builder
Dashboard Studio
Scenario Modeler
Research Studio
Event Correlator(s)
Integration Adapter Framework
Enterprise Management & Monitoring Environment
Progress Apama Architecture
Event Store
EventsEvents
EventsEvents
EventsEvents
ActionsActions
ActionsActions
ActionsActions
Capture for Simulation &
Analysis
Scenario 2Scenario 2Scenario 1Scenario 1
Scenario 3Scenario 3 Scenario 4Scenario 4
Apama IDE
© 2007 Progress Software Corporation7 COMP-12: Building Apama Applications
Agenda
Complex Event Processing & Apama Constituents in CEP Development Scenarios and Dashboards The Developer and MonitorScript Building Blocks – Developers and Analysts
Collaborate The Business User Summary
© 2007 Progress Software Corporation8 COMP-12: Building Apama Applications
Who Gets Involved in Apama Projects?Bringing IT, Business Analysts and Business Users Together
BusinessAnalysts
Translator of requirements from the business
Definition and design of dashboards
Definition and testing of business rules
Use and define suitable business analytics
Understanding of existing processes
Key power user
TechnicalArchitects andDevelopers
Responsible for integration of tools into the existing environment
Will work with business analysts on supportingthe business applications
Implementation of analytics
Responsible for operational issues
Business Line
End users of dashboards
Wish to alter and set parameters
To monitor executions and to receive alerts
To intervene manually
To monitor automated actions
Likely provider of funds for BAM project
© 2007 Progress Software Corporation9 COMP-12: Building Apama Applications
Agenda
Complex Event Processing & Apama Constituents in CEP Development Scenarios and Dashboards The Developer and MonitorScript Building Blocks – Developers and Analysts
Collaborate The Business User Summary
© 2007 Progress Software Corporation10 COMP-12: Building Apama Applications
Scenarios – Key Concepts
A Scenario is a high level term defining a business level application, process, query or model• E.g. Receiving Process
• E.g. Fraud Detection Process
Built by business analysts• Construction of blocks, rules, states, variables
• Converted to MonitorScript for execution
© 2007 Progress Software Corporation17 COMP-12: Building Apama Applications
Scenarios – How to Build
Demo• Blocks
• Wiring
• States
• Rules (incl Global)
• Variables
• Test
© 2007 Progress Software Corporation18 COMP-12: Building Apama Applications
Apama Dashboards – Visualizing Event Processing
Real-time variables and analytics can be visualized using graphs, charts, tables etc.
Enables event-driven Apama logic to be visualized in real-time
Variety of deployment options (web, app, …)
© 2007 Progress Software Corporation19 COMP-12: Building Apama Applications
Dashboards – Options for Deployment
Client• Client Install
Webstart/Applet• Managed thru launch
• No pre-install
Browser• Zero install
Portal Integration• JSR-168 compliance
Dashboards developed ONCE
Can be deployed any number of ways
© 2007 Progress Software Corporation21 COMP-12: Building Apama Applications
Dashboards - Demonstration
© 2007 Progress Software Corporation22 COMP-12: Building Apama Applications
Agenda
Complex Event Processing & Apama Constituents in CEP Development Scenarios and Dashboards The Developer and MonitorScript Building Blocks – Developers and Analysts
Collaborate The Business User Summary
© 2007 Progress Software Corporation23 COMP-12: Building Apama Applications
What is MonitorScript?
Apama’s Event Processing Language• Event Driven
• Script Language
Optimized for• Streams of structured event messages
• Seeking patterns of events based on– TIME– CONTENT
© 2007 Progress Software Corporation24 COMP-12: Building Apama Applications
MonitorScript Key ConceptsApama Event Processing Language
event MachineState {string state; string host;}
MachineState (“fail”,”192.164.2.174”)
Event Definition: specify event members and their type. Other types include integer, float, boolean, sequence, dictionary, and event.
Events Instance: specify member values
Event Template: specify pattern for one event
MachineState (state=“fail”,host=“192.164.2.174”)
© 2007 Progress Software Corporation25 COMP-12: Building Apama Applications
MonitorScript Key ConceptsApama Event Processing Language
Listener, Tags, and Action: commands to execute when an event expression is matched. Typical commands are:
- emit an event (such as an alert) to an external system
- route an event to another listener
Event Expression: specify sequence of one or more event templates
MachineState (state=“fail”, host=“192.164.2.174”) -> SlaViolation(qos=3) within(60.0)
on all MachineState (state=“fail”, host=“192.164.2.174”):c1
-> SlaViolation(qos=3):c2 within(60.0)
{emit SlaAlert (c1.host, c2.qos);
route RebalanceLoad (c1.host);}
© 2007 Progress Software Corporation26 COMP-12: Building Apama Applications
Other Concepts for a Developer – Plug-Ins
Plug-ins• Plug-ins are used to
integrate C or C++ functions directly into the Correlator
• Plug-ins are dynamically loaded
• The functions exposed by the plug-in are directly accessible through MonitorScript
Dynamic Library
Plug-in Wrapper
C/C++ Routine
© 2007 Progress Software Corporation27 COMP-12: Building Apama Applications
Other Concepts for a Developer - Adapters
Used to connect middleware, data feeds, database and so on to the Apama Platform
Convert inbound data sources to Apama Events and vice versa
Built around standardized framework – the IAF• Pre-built Transport handlers
and Codecs• Custom Transport handlers
and Codecs• Flexible Semantic Mapping
capabilities DatabaseEvent Feed
Normalization Normalization
Native Messages
Transport Integration
API
Transport Integration
Event Correlator
Mapping
Apama Events
Mapping
© 2007 Progress Software Corporation28 COMP-12: Building Apama Applications
Demo of MonitorScript/Dev Studio
© 2007 Progress Software Corporation29 COMP-12: Building Apama Applications
Agenda
Complex Event Processing & Apama Constituents in CEP Development The Developer and MonitorScript Scenarios and Dashboards Building Blocks – Developers and Analysts
Collaborate The Business User Summary
Subtitle Goes Here - Arial Italic 24 pt.
© 2007 Progress Software Corporation30 COMP-12: Building Apama Applications
What is a SmartBlock?
A Block is an encapsulation of a specific function that can be reused within scenarios• Adheres to a specific design pattern with
standardized access• Implementation details hidden• Typically encapsulation of external access
or an analytic• Embedded within an Scenario• Written in XML & MonitorScript
© 2007 Progress Software Corporation31 COMP-12: Building Apama Applications
Example Blocks
Data Feed Access• RFID reader
• JMS Feed
Analytic• Statistical Calculation
Re-usable Scenario• Built by another and converted into a block
• E.g. Common monitoring rules
© 2007 Progress Software Corporation32 COMP-12: Building Apama Applications
How to Build a Block
1. Block Builder Tool Describe the
parameters Describe
inputs and outputs
Describe functions
Code functions in MonitorScript
2. Build a Scenario; Save it as a block
© 2007 Progress Software Corporation33 COMP-12: Building Apama Applications
Agenda
Complex Event Processing & Apama Constituents in CEP Development The Developer and MonitorScript Scenarios and Dashboards Building Blocks – Developers and Analysts
Collaborate The Business User Summary
© 2007 Progress Software Corporation34 COMP-12: Building Apama Applications
The Business User
Interacts with pre-built scenarios thru• Apama Dashboards
• Alerts, messaging
• Legacy interfaces triggered by Apama updates
Scope limited to scenario design• Can create/remove particular monitors
– Scenario instances
• Can adjust parameters of in-process monitors– Scenario instance variables
© 2007 Progress Software Corporation35 COMP-12: Building Apama Applications
Research Studio
What is It?• Replay tool based on captured event data
– Raw– Generated
Why Use?• Simulation
– Select time slices from captured data– Evaluate new scenarios against similar real world data
• Debug– Replay to specific points in time– Determine what event sequences caused particular
updates/events
© 2007 Progress Software Corporation36 COMP-12: Building Apama Applications
Agenda
Complex Event Processing & Apama Constituents in CEP Development The Developer and MonitorScript Scenarios and Dashboards Building Blocks – Developers and Analysts
Collaborate The Business User Summary
© 2007 Progress Software Corporation37 COMP-12: Building Apama Applications
In Summary
Multiple constituents in any application development – CEP is no different
One environment that offers tools for different user perspectives fosters collaboration and accelerated development
The same environment allows different users to directly apply their knowledge to a project
© 2007 Progress Software Corporation38 COMP-12: Building Apama Applications
Questions?
© 2007 Progress Software Corporation39 COMP-12: Building Apama Applications
For More Information, go to…
www.progress.com/apama• www.progress.com/apama/news/webinars
for archived webinars on CEP and BAM
CEP Blog : apama.typepad.com
Contact• John Trigg, Principal Product Manager,
Apama– [email protected]
© 2007 Progress Software Corporation40 COMP-12: Building Apama Applications
Thank you foryour time
© 2007 Progress Software Corporation41 COMP-12: Building Apama Applications