280 likes | 491 Views
INNOV-17: How to Build Event Stream Processing (ESP) and Business Activity Monitoring (BAM) into Your Application. Dr John Bates. Dr Gareth Smith. VP Products Progress Apama. Principal Architect Progress Apama. Agenda. Interactive Introduction to Apama Scenario Creation. Definitions
E N D
INNOV-17: How to Build Event Stream Processing (ESP) and Business Activity Monitoring (BAM) into Your Application Dr John Bates Dr Gareth Smith VP Products Progress Apama Principal Architect Progress Apama
Agenda Interactive Introduction to Apama Scenario Creation • Definitions • What is Event Stream Processing (ESP)? • What is Business Activity Monitoring (BAM)? • Apama platform • Architecture & components • Building an example application • Revenue Assurance • Conclusions INNOV-17: How to Build ESP and BAM into Your Application
Event Stream ProcessingA New Computing Physics Static Data Processing:“How many shoes did we sell in our New York stores last week?” 1 2 3 4 5 6 7 8 9 time Event Stream Processing:“When 3 credit card authorizations for the same card occur in any 5 second window, deny the request and check for fraud.” INNOV-17: How to Build ESP and BAM into Your Application
ESP & BAMA New Computing Physics Business Activity Monitoring:“Show on a dashboard (a) how many credit card transactions we have processed today (b) average & peak transactions per minute (c) how many fraudulent transactions per hour.” 1 2 3 4 5 6 7 8 9 time Event Stream Processing:“When 3 credit card authorizations for the same card occur in any 5 second window, deny the request and check for fraud.” INNOV-17: How to Build ESP and BAM into Your Application
Example Event Driven ApplicationsMonitor, Analyze, and Act on Business Conditions in Real Time INNOV-17: How to Build ESP and BAM into Your Application
What do events look like? • Events are typed messages describing a change within a system • Example: • NewInvoice(customer, product, amount) • StockTick(symbol, price, volume) • TruckLocation(truck, driver, cargo, x,y,z) • Events are analogous to a new entry in a database table or a Sonic message • Detecting patterns in individual events or a correlation of several events over time can indicate an opportunity or threat to the business INNOV-17: How to Build ESP and BAM into Your Application
Business Benefits of ESP • Monitor, Analyze, ACT • The ability to take an action immediately when a business scenario is detected • Enables your application to respond instantly to opportunity or threat • It’s easy to add powerful capabilities to your existing application • You already have the events flowing in your system – you just need to send them into Apama • Add real-time rules to your application without continually changing your code • You don’t have to go on extending your application • Once the events are flowing into Apama, simply add or modify a rule in Apama • Rules can be defined by business or technical users • Codeless and code based development INNOV-17: How to Build ESP and BAM into Your Application
Agenda Interactive Introduction to Apama Scenario Creation • Definitions • What is Event Stream Processing (ESP)? • What is Business Activity Monitoring (BAM)? • Apama Platform • Architecture & components • Building an example application • Revenue Assurance • Conclusions INNOV-17: How to Build ESP and BAM into Your Application
Apama Product Suite Event Manager Developer Studio Research Studio Dashboards Dashboard Studio Scenario Modeler Apama IDE Event Store Integration Adapter Framework INNOV-17: How to Build ESP and BAM into Your Application
Inside the Event Manager Feedback Event Registration Multi-dimensional event matcher Composite event sequencer Event Input Queue Event Output Queue MonitorScript Virtual Machine Events Events Java Virtual Machine Match Notification C/C++ Scenarios INNOV-17: How to Build ESP and BAM into Your Application
Monitorscript eventSMS-Request { string user; string service; location loc; } monitor RingtoneServiceMonitor { SMS-Request request; action onload { on allSMS-Request(service=“Ringtone"):request { onSMS-Request (user = request.user) within(60.0) { emitUpdateBilling(request.user, “Double Discount”); } } } } INNOV-17: How to Build ESP and BAM into Your Application
JMON: Monitors in Java import com.apama.jmon.*; public class BillRequestService implements Monitor, MatchListener { public void onLoad() { EventExpression eventexpr = newEventExpression(“SMS-Request(service=\“Billing\”)”); eventexpr.addMatchListener(this); } public voidmatch(MatchEvent event) { System.out.println(“Billing Information Requested”); } } INNOV-17: How to Build ESP and BAM into Your Application
Apama IDE INNOV-17: How to Build ESP and BAM into Your Application
The Apama Scenario Modeler Enables Graphical Construction of ESP Scenarios Each scenario, or group of rules, represents a “pattern” which can be adjusted by business users to specify conditions to monitor, analyze and act on. Express time-based real-time rules with a high level development tool Intuitive visual user interface designed for business analysts “SmartBlocks” encapsulate pre-packaged modules made available to non-programmers. INNOV-17: How to Build ESP and BAM into Your Application
Apama Dashboard StudioCreate Customized Dashboards for Your Real-Time Business Processes • Real-time variables and analytics can be visualized using graphs, charts, tables etc. • Enables event-driven Apama logic to be visualized in real-time • Deployment options from standalone dashboard to thin client portal Select from a palette of graphical objects. Each object can be laid out in a graphical dashboard and bound to Apama events Users can customize the look and feel of all widgets, and specify which Apama event scenarios to visualize. INNOV-17: How to Build ESP and BAM into Your Application
Event Store - Capture Apama Dashboards • Event Store captures all events in time series order • Event Store is also able to capture derived events, e.g. Moving Average, from Event Manager • Event Store can capture all output from Event Manager as an audit trail Real-Time Event Processing Apama EventStore Historical Event Processing INNOV-17: How to Build ESP and BAM into Your Application
Event Store – Replay & Backtesting Apama Research Studio Apama Dashboards Business Intelligence • Enables “pre-flight testing” of Apama scenarios with historical data sequences • Output of runs can be captured in Event Store and charted • Also enables “digital forensics” – using recorded information to tune future performance Real-Time Event Processing Apama EventStore Historical Event Processing INNOV-17: How to Build ESP and BAM into Your Application
Integration Adapter Framework Apama Events Mapping Mapping Normalization Normalization Transport Integration Transport Integration Publish/ subscribe API Event Manager • Purpose of an adapter • Receive an event stream or create an event stream • Intercept transactions • Use database triggers • Subscribe to Sonic messages • Normalize to Apama event format for efficient analysis & response • Convert Apama events back to actionable messages OpenEdge Sonic Bus Native Sonic Messages INNOV-17: How to Build ESP and BAM into Your Application
Agenda Interactive Introduction to Apama Scenario Creation • Definitions • What is Event Stream Processing (ESP)? • What is Business Activity Monitoring (BAM)? • Apama Platform • Architecture & components • Building an example application • Revenue Assurance • Conclusions INNOV-17: How to Build ESP and BAM into Your Application
Building an Example Application • Case Study: Revenue Assurance • Ensuring that all service requests are both fulfilled and billed correctly and within a timely manner • Monitor via complex KPIs and present an graphical overview of the status • Alert relevant staff with specific problems • Undertake Autonomous Actions: modify the Service QoS settings to resolve problems • Same underlying principles are valid for tracking & billing in Supply Chain, ERP, Logistics etc. INNOV-17: How to Build ESP and BAM into Your Application
A (very) simplified revenue chain 2 1 • Process • User requests a service (1 + 2) • Service is fulfilled (4 + 5) • Request is Billed (3) • Problem • Any message (1-5) may be lost, corrupt or delayed • Depends on the throughput and the QoS • Parameters (Complex-KPIs) that we calculate: • Revenue leakage: requests that are not billed • Overcharging: requests that are billed but not fulfilled User’s mobile Switch (SMSC, MSC, SIP server) Application Server(s) Billing 3 5 4 INNOV-17: How to Build ESP and BAM into Your Application
Our revenue assurance demo package Scenario Smart blocks Dashboard - Display what’s going on - Monitor the alarms - Notify leakages that can’t be fixed - Calculate parameters - Apply treshold and raise alarms - Take corrective actions (e.g. adjust QoS) Reconciliation Value Added Service Billing 2 1 User’s mobile Switch (SMSC, MSC, SIP server) Application Server(s) Billing 3 5 4 INNOV-17: How to Build ESP and BAM into Your Application
Demonstration INNOV-17: How to Build ESP and BAM into Your Application
Agenda Interactive Introduction to Apama Scenario Creation • Definitions • What is Event Stream Processing (ESP)? • What is Business Activity Monitoring (BAM)? • Apama Platform • Architecture & components • Building an example application • Revenue Assurance • Conclusions INNOV-17: How to Build ESP and BAM into Your Application
Conclusions • ESP & BAM enables • Rules to be defined external to the application to monitor, alert & respond to key business opportunities & threats • Vizualization of key business events on real-time dashboards • In many cases events are already flowing through existing applications • Apama enables • Easy connection to existing applications • Graphical ESP rules definition for rapid development • Graphical dashboard creation INNOV-17: How to Build ESP and BAM into Your Application
Questions? INNOV-17: How to Build ESP and BAM into Your Application
Thank you foryour time INNOV-17: How to Build ESP and BAM into Your Application