KPI Definition With BAM 2.0 Tharindu Mathew – Product Manager, BAM Buddhika Chamith – Software Engineer, BAM
KPI Definition With BAM 2.0
Tharindu Mathew – Product Manager, BAMBuddhika Chamith – Software Engineer, BAM
WSO2• Founded in 2005 by acknowledged leaders in XML, Web Services
Technologies & Standards and Open Source
• Producing entire middleware platform 100% open source under Apache license
• Business model is to sell comprehensive support & maintenance for our products
• Venture funded by Intel Capital and Quest Software.
• Global corporation with offices in USA, UK & Sri Lanka
• 150+ employees and growing.
Business Activity Monitoring
“The aggregation, analysis, andpresentation of real-time informationabout activities inside organizationsand involving customers andpartners.” - Gartner
BAM In a Nutshell
1. Aggregate
2. Analyze
3. Visualize
BAM 2.0 Analytics Design Flow
Capture Data of Interest Aggregate
Define Indexes
Create Analyzer Sequences
Design Visualizations
Analyze
Visualize
Capture Data of Interest
● Using data agents.
● Currently we have agents for service/ mediation statistics and message tracing.
● Easy to write new agents to publish custom data using Agent API.
Define the Indexes
● Required since these indexes are used for filtering and fetching data from the data store during analytics.
● Conceptually not that different from SQL indexes. (Composite Indexes)..
Create Analyzer Sequences
● An analyzer is a unit of data processing in the data flow.
● A sequence of analyzers makes up a data flow doing some useful piece of analytics on raw data.
● Currently a XML based language.
● Possible to plug in custom analyzers.
Design the Visualizations
● Visualizations are based on gadgets.
● Using a drag and drop style modelling tool, Gadget IDE.
● Wire the data source to the visualization elements andgenerate the gadget.
Use Case 1 : Retail Store
Let's assume a retail store. The owner wants to know the performance of his product line. Total sales for each of the product is required.
{ “in_message_body” :
“
“,
“retailStream” : “retail”,
....
}
Retail Store : Incoming Data
Stream filtering Index
Analyzer Sequence – Part I
Data Model
Analyzer Sequence – Part II
Analyzers ExplainedThe frequency in which the analyzer task will run.
Get data of retail data stream in batches of 1000 from the database by using the created index.
Extract item code and quantity from received SOAP Body and add them to the data flow.
Group the data by item code.
Drop unnecessary columns of each row.
Sum the quantity of each item.
Store in 'productSummary' table. If item already exists in the table add current quantity to the amount present in database and store.
Product Summary Indexer
Gadget IDE – Data Flow View
Gadget IDE – Design View
Use Case 2 : Statistics Monitoring
Two data centers each having a cluster of ESB and App server nodes. It is required to monitor statistics such as request counts, response times etc. for each data center and cluster.
{ “dataCenter” : “”,
“cluster” : “”,
“request_count” : “3”,
“response_count” : “2”,
“fault_count” : “1”,
“response_time” : “3.5”,
“clusterStream” : “cluster”,
....}
Cluster Monitor : Incoming Data
Analytics● Define two indexes. One for filtering out data for 'clusterStream' data stream. Other for querying table 'clusterSummary' to which summarized data from analytics are stored.
● Analyzer sequence groups the data by both data data center and cluster and aggregate request, response, fault counts and averages the response times and store the result in 'clusterSummary' table.
● Introduction
● BAM 2.0 Analytics Design Flow
● Use Case 1 : Retail Store
● Use Case 2 : Cluster Statistics Monitoring
Summary
Questions?
● Alpha available at this link● Beta release in March● GA in Q3 2012● Ready for you to start POC/Development work
Questions?
Use Case 2 – Analyzer Part I
Use Case 2 – Analyzer Part II
Use Case 2 – ClusterStreamSelector
Use Case 2 – ClusterIndex
https://ail.google.com/mail/u/0/?ui=2&ik=ad9ae58f41&view=att&th=1331a70983344a32&attid=0.1&disp=thd&realattid=f_gtxto6mk0&zw
Selected Customers
WSO2 engagement model
• QuickStart
• DevelopmentSupport
• Development Services
• Production Support
• Turnkey Solutions
• WSO2 Mobile Services Solution• WSO2 FIX Gateway Solution• WSO2 SAP Gateway Solution