monitoring your business with wso2 bam
TRANSCRIPT
![Page 1: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/1.jpg)
Monitoring Your Business with WSO2 BAM
Anjana FernandoSenior Technical Lead
WSO2 Inc.
Chathura EkanayakeSenior Technical Lead
WSO2 Inc.
![Page 2: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/2.jpg)
Outline• Introduction to Business Activity Monitoring
• WSO2 Business Activity Monitor
• WSO2 BAM Components
• WSO2 BAM Toolboxes
• WSO2 BAM High Availability Distributed Deployment
• Demonstrations
![Page 3: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/3.jpg)
Business Activity Monitoring
“The aggregation, analysis, and presentation of real-time information about activities inside organizations and involving customers and partners” - Gartner
![Page 4: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/4.jpg)
Aggregation
● Capturing data
● Data storage
● What data to capture?
![Page 5: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/5.jpg)
Analysis● Data operations
● Building KPIs
● Operate on large amounts of historic data or new data
● Building BI
![Page 6: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/6.jpg)
Presentation
● Visualizing KPIs/BI
● Custom Dashboards
● Visualization tools
● Not just dashboards!
![Page 7: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/7.jpg)
WSO2 Business Activity Monitor
• Fully-open source solution for aggregating and analyzing data and presenting information about business activities.
• Cloud-enabled, lightweight, developer-friendly and easy-to-deploy
• High performance data capture framework
• Elastically-scalable data analysis powered by Apache Hadoop
• Pre-built Data Agents for WSO2 products
![Page 8: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/8.jpg)
Architecture
![Page 9: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/9.jpg)
Data Agents
![Page 10: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/10.jpg)
Data Agents● Compatible with CEP/BAM
● Get data across to BAM
− Service monitoring feature – WSO2 AS, DSS, ESB, API Manager
− Mediation monitoring feature – BAM Mediator for WSO2 ESB
− Custom data-agents
● Asynchronous & non-blocking
● Thrift for high performance message throughput
![Page 11: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/11.jpg)
Custom Agents
• Data agents are meant to be installed/plugged into the server to be monitored
• A Java SDK is provided
• Through Thrift, different languages can be supported
![Page 12: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/12.jpg)
Data Receiver
![Page 13: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/13.jpg)
Data Receiver● Receives data and stores it in Cassandra
○ Scalable, big data repository
● Asynchronous & non-blocking
○ Combination of Cassandra, Thrift and the non-blocking nature results in extremely fast writes
● Shared with WSO2 CEP for real time analysis
● Supports Thrift & REST API
● Supports plugging in of different receiver types
![Page 14: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/14.jpg)
Data Model• Data is sent over using strongly typed Data Streams
{ 'name':'phone.retail.shop', 'version':'1.0.0', 'nickName': 'Phone_Retail_Shop', 'description': 'Phone Sales', 'metaData':[ {'name':'clientType','type':'STRING'} ], 'payloadData':[ {'name':'brand','type':'STRING'}, {'name':'quantity','type':'INT'}, {'name':'total','type':'INT'}, {'name':'user','type':'STRING'} ]}
● Data Streams are versioned○ Allows for easier analysis
![Page 15: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/15.jpg)
The Analyzer Engine
![Page 16: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/16.jpg)
The Analyzer Engine● Powered by Apache Hadoop with querying/managing
through Apache Hive
● Data transfer to and from data sources is handled through custom storage handlers
● Parallel, distributed processing through the MapReduce programming model
![Page 17: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/17.jpg)
• Runs on local Hadoop node or delegates to Hadoop cluster
• Scalable analytics
• Cluster can range from a couple of nodes to 1000s
● Analysis is carried out based on analytics scripts
● Scripts are based on an easy-to-learn, SQL-like query language
INSERT OVERWRITE TABLE UserTable SELECT userName, COUNT(DISTINCT orderID),SUM(quantity) FROM PhoneSalesTable WHERE version= "1.0.0" GROUP BY userName;
The Analyzer Engine
![Page 18: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/18.jpg)
The Analyzer Engine
● Scripts can be scheduled○ Ex: once a minute, every Wednesday at 4:15 p.m., every
30th at 12 midnight
● Polyglot data architectures are supported○ Write summarised information to any kind of datastore
○ Custom written Hive JDBC handler used by default for output to relational DBs
![Page 19: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/19.jpg)
The Presentation Layer
![Page 20: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/20.jpg)
The Presentation Layer
• Gadget Portal for the dashboard
• Gadget Generation Wizard – Tool for generating custom
gadgets for the dashboard
• Activity Dashboard for correlating activities
• Message Console
• Plug in your own report server/ dashboard server
![Page 21: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/21.jpg)
The Presentation LayerBAM Dashboards
![Page 22: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/22.jpg)
The Presentation LayerGadget Portal
![Page 23: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/23.jpg)
The Presentation Layer
Activity Dashboard
![Page 24: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/24.jpg)
Activity Dashboard (cont'd)
![Page 25: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/25.jpg)
The Presentation LayerMessage Console (HL7)
![Page 26: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/26.jpg)
Message Console (cont'd)
![Page 27: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/27.jpg)
BAM Toolboxes● BAM Toolboxes are installable and hot deployable artifacts used for
deploying functionalities to a BAM server
○ Stream definitions○ Analytics scripts○ Dashboards
● Supports plugging in of one or more of the above features
● Toolboxes for monitoring and auditing most WSO2 products are available OOTB
● Toolboxes for custom scenarios can be created easily
![Page 28: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/28.jpg)
HA Distributed BAM deployment● WSO2 BAM can be clustered and deployed in a distributed manner to enable
high-availability, fail-over scenarios
○ Partially distributed deployment
■ Cassandra (storage) nodes are clustered
○ Fully distributed deployment
■ All components of BAM are clustered (data receiver, storage, analyzer and presentation)
● Hazelcast in-memory data grids are used for clustering implementation
![Page 29: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/29.jpg)
Partially Distributed BAM deployment
![Page 30: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/30.jpg)
Fully Distributed BAM deployment
![Page 31: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/31.jpg)
Deployment – Shared events with CEP
![Page 32: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/32.jpg)
Performance of WSO2 BAM
3-Node Cassandra Cluster used
![Page 33: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/33.jpg)
Demo: From Publishing to Visualization
![Page 34: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/34.jpg)
Monitoring a business process - Sales order handling
Verify order
Select supplier
Produce items
Ship products
In_production = true
![Page 35: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/35.jpg)
Monitoring a business process - Business events
Verify order
Select supplier
Produce items
Ship products
In_production = true
Case ID = case_1Activity = Verify orderAssignee = SmithDuration = 20 mins
Case ID = case_1Activity = Verify orderAssignee = SmithDuration = 20 mins
![Page 36: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/36.jpg)
Business events...
Case ID Activity Assignee Duration
Case_1 Verify order Smith 10
Case_2 Verify order John 15
Case_1 Produce items Nick 30
Case_1 Ship products Peter 150
Case_2 Produce items John 200
Case_3 Verify order Smith 20
...
![Page 37: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/37.jpg)
WSO2 BAM - Deployment
Workflowsystem
BAM data publisher
Events store(e.g. Cassendra)
WSO2 BAM
Analyticsscripts
Results store(e.g. MySQL)
Gadget server
Gadgets
Visualizations /Reports
![Page 38: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/38.jpg)
Demo: Activity Monitoring
![Page 39: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/39.jpg)
Questions?
![Page 40: Monitoring Your Business with WSO2 BAM](https://reader033.vdocuments.net/reader033/viewer/2022060115/557cfb03d8b42a89158b4d24/html5/thumbnails/40.jpg)
Thank You