2. 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.
3. Business Activity Monitoring
“The aggregation, analysis, and
presentation of real-time information
about activities inside organizations
and involving customers and
partners.” - Gartner
4. BAM In a Nutshell
1. Aggregate
2. Analyze
3. Visualize
5. BAM 2.0 Analytics Design Flow
Capture Data of Interest Aggregate
Define Indexes
Analyze
Create Analyzer Sequences
Design Visualizations Visualize
6. 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.
7.
8. 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)..
9.
10. 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.
11.
12.
13. 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 and
generate the gadget.
14. 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.
15.
16. Retail Store : Incoming Data
{ “in_message_body” :
“
“,
“retailStream” : “retail”,
....
}
21. Analyzers Explained
The 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.
22. 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.
26. 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.
29. 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.
30. Summary
●
Introduction
●
BAM 2.0 Analytics Design Flow
●
Use Case 1 : Retail Store
●
Use Case 2 : Cluster Statistics Monitoring
31. Questions?
●
Alpha available at this link
●
Beta release in March
●
GA in Q3 2012
● Ready for you to start POC/Development work
37. WSO2 engagement model
•
QuickStart
•
Development
Support
•
Development
Services
•
Production
Support
•
Turnkey Solutions
•
WSO2 Mobile Services Solution
•
WSO2 FIX Gateway Solution
•
WSO2 SAP Gateway Solution