WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning
WSO2 Business Activity Monitor 2.0 – a new beginning Tharindu Mathew Product Manager – WSO2 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
Convergence of SOA & BAM“Some people would go SOAjust for BAM”“With business functions asservices, monitoring a wholecompany is just monitoringthe services”
Modelling a monitoring scenario● The flow of a monitoring scenario will consist of 3 parts – Data Aggregation – Data Analysis – Data Presentation
Aggregation● Capturing data● Event storage● What data to capture as events?
Analysis● Data operations● Operate on old data or new data or both?● Building KPIs● Building BI
Presentation● Visualizing KPIs● Custom Dashboards● Tools● Not just dashboards!
BAM 2.0 – A complete revamp Performance, Scalability and Customizability
Why a complete revamp?● Performance – Extremely important to be non- intrusive● Scalability – Scalability on multiple sides● Customizability – Everyones use case is different, even in the same organization ex: operations, CEOs, marketing
Use Cases of BAM● Tracking server statistics● Auditing● KPI Monitoring● Fault detection● Business Intelligence
Modular Architecture● Each component is individually scalable● Makes use of the Carbon platforms install/uninstall feature. Ex: Download BAM, uninstall all features except for the Event Receiver, and you end up with a BAM server with just the Event Receiver● Based on event load and data volume, we can decide what needs to be scaled
Data Agents● Get data across to BAM – handlers, mediators, web services● Simple API to embed for 3rd party applications● Asynchronous & non-blocking● Minimum processing● Thrift for high performance message throughput
Agent API EventReceiver eventReceiver = new EventReceiver(); eventReceiver.setSocketTransportEnabled(true); eventReceiver.setUrl("https://localhost:9443/"); eventReceiver.setUserName("admin"); eventReceiver.setPassword("admin"); eventReceiver.setPort(7611); events.add(johnEvent); BasicConfigurator.configure(); setTrustStoreParams(); Agent agent = new Agent(); agent.publish(events, eventReceiver); agent.shutdown();
Event Receiver● Extremely efficient with minimum conversions● In-built security● Invisible in most use cases
The Analyzer Framework (cont.)● The workhorse of BAM● A unit is an analyzer; Ex: get, aggregate, order, failure, alert● A set of analyzers consist of an analyzer sequence● Schedule the sequence; Ex: once a day, once a minute, every Wednesday at 12.15, every 30th at 12 midnight● If the given analyzers dont work, just plug your own – custom analyzer
Presentation Layer● Not just dashboards, also includes alerts, reports● Gadget IDE - Quick and easy WYSIWYG tool● Minimum processing – Let the analyzers do that● Point to a data source and build your visual elements
Gadget IDE – Drag and drop gadgets - DataFlow view
Gadget IDE – Drag and drop gadgets - Designview
Webinar happening next week● KPI Definition with BAM 2.0 – Leverage the full power of customizability to define and monitor your own KPIs – Monitoring of transactions in a Retail Store – Monitoring transactions of an WSO2 AS/WSO2 ESB production deployment or cluster
Questions?● Alpha available at http://bit.ly/wLKi9u● Beta release in March● GA in Q3 2012● Ready for you to start POC/Development work