comp-12: building apama applications

34
COMP-12: Building Apama Applications Picking the Right Tools John Trigg Principal Product Manager, Progress Apama

Upload: dudley

Post on 06-Jan-2016

33 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: COMP-12: Building Apama Applications

COMP-12: Building Apama Applications

Picking the Right Tools

John TriggPrincipal Product Manager,

Progress Apama

Page 2: COMP-12: Building Apama Applications

© 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

Page 3: COMP-12: Building Apama Applications

© 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

Page 4: COMP-12: Building Apama Applications

© 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?”

Page 5: COMP-12: Building Apama Applications

© 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

Page 6: COMP-12: Building Apama Applications

© 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

Page 7: COMP-12: Building Apama Applications

© 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

Page 8: COMP-12: Building Apama Applications

© 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

Page 9: COMP-12: Building Apama Applications

© 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

Page 10: COMP-12: Building Apama Applications

© 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

Page 11: COMP-12: Building Apama Applications

© 2007 Progress Software Corporation17 COMP-12: Building Apama Applications

Scenarios – How to Build

Demo• Blocks

• Wiring

• States

• Rules (incl Global)

• Variables

• Test

Page 12: COMP-12: Building Apama Applications

© 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, …)

Page 13: COMP-12: Building Apama Applications

© 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

Page 14: COMP-12: Building Apama Applications

© 2007 Progress Software Corporation21 COMP-12: Building Apama Applications

Dashboards - Demonstration

Page 15: COMP-12: Building Apama Applications

© 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

Page 16: COMP-12: Building Apama Applications

© 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

Page 17: COMP-12: Building Apama Applications

© 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”)

Page 18: COMP-12: Building Apama Applications

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

Page 19: COMP-12: Building Apama Applications

© 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

Page 20: COMP-12: Building Apama Applications

© 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

Page 21: COMP-12: Building Apama Applications

© 2007 Progress Software Corporation28 COMP-12: Building Apama Applications

Demo of MonitorScript/Dev Studio

Page 22: COMP-12: Building Apama Applications

© 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.

Page 23: COMP-12: Building Apama Applications

© 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

Page 24: COMP-12: Building Apama Applications

© 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

Page 25: COMP-12: Building Apama Applications

© 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

Page 26: COMP-12: Building Apama Applications

© 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

Page 27: COMP-12: Building Apama Applications

© 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

Page 28: COMP-12: Building Apama Applications

© 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

Page 29: COMP-12: Building Apama Applications

© 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

Page 30: COMP-12: Building Apama Applications

© 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

Page 31: COMP-12: Building Apama Applications

© 2007 Progress Software Corporation38 COMP-12: Building Apama Applications

Questions?

Page 32: COMP-12: Building Apama Applications

© 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]

Page 33: COMP-12: Building Apama Applications

© 2007 Progress Software Corporation40 COMP-12: Building Apama Applications

Thank you foryour time

Page 34: COMP-12: Building Apama Applications

© 2007 Progress Software Corporation41 COMP-12: Building Apama Applications