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, and
presentation of real-time information
about activities inside organizations
and involving customers and
partners.” - Gartner
Convergence of SOA & BAM


“Some people would go SOA
just for BAM”

“With business functions as
services, monitoring a whole
company is just monitoring
the 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 – Everyone's 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
Architecture
Modular Architecture

●
    Each component is individually scalable
●
    Makes use of the Carbon platform's
    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
Event Receiver
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
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 don't work, just plug your
    own – custom analyzer
A sample sequence – UI
A sample sequence - xml

<analyzerSequence name="productSummarizer">
  <trigger cron="1 * * * * ? *"/>
  <analyzers>
    <get name="orders" fromLastCursor="true" batchSize="3"/>
    <lookup default="EVENT"/>
    <aggregate>
       <measure name="quantity" aggregationType="SUM"/>
    </aggregate>
    <put name="productSummary" indexRow="allKeys">
  </analyzers>
</analyzerSequence>
A sample 'index' analyzer - UI
The Presentation Layer
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 - Data
Flow view
Gadget IDE – Drag and drop gadgets - Design
view
Dashboards
A BAM Framework
Summary

●
    BAM + SOA
●
    Aggregation, Analysis & Presentation
●
    BAM 2.0 – Performance, Scalability &
    Customizability in BAM
●   A BAM Framework
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
Selected Customers




        https://ail.google.com/mail/u/0/?
        ui=2&ik=ad9ae58f41&view=att&th=1331a7
        0983344a32&attid=0.1&disp=thd&realattid
        =f_gtxto6mk0&zw
WSO2 engagement model

•
    QuickStart
•
    Development
    Support
•
    Development
    Services
•
    Production
    Support
•
    Turnkey Solutions
     •
         WSO2 Mobile Services Solution
     •
         WSO2 FIX Gateway Solution
     •
         WSO2 SAP Gateway Solution

WSO2 Business Activity Monitor (BAM) 2.0 - a new beginning

  • 1.
    WSO2 Business ActivityMonitor 2.0 – a new beginning Tharindu Mathew Product Manager – WSO2 BAM
  • 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 “Theaggregation, analysis, and presentation of real-time information about activities inside organizations and involving customers and partners.” - Gartner
  • 4.
    Convergence of SOA& BAM “Some people would go SOA just for BAM” “With business functions as services, monitoring a whole company is just monitoring the services”
  • 5.
    Modelling a monitoringscenario ● The flow of a monitoring scenario will consist of 3 parts – Data Aggregation – Data Analysis – Data Presentation
  • 6.
    Aggregation ● Capturing data ● Event storage ● What data to capture as events?
  • 7.
    Analysis ● Data operations ● Operate on old data or new data or both? ● Building KPIs ● Building BI
  • 8.
    Presentation ● Visualizing KPIs ● Custom Dashboards ● Tools ● Not just dashboards!
  • 9.
    BAM 2.0 –A complete revamp Performance, Scalability and Customizability
  • 10.
    Why a completerevamp? ● Performance – Extremely important to be non- intrusive ● Scalability – Scalability on multiple sides ● Customizability – Everyone's use case is different, even in the same organization ex: operations, CEOs, marketing
  • 11.
    Use Cases ofBAM ● Tracking server statistics ● Auditing ● KPI Monitoring ● Fault detection ● Business Intelligence
  • 12.
  • 13.
    Modular Architecture ● Each component is individually scalable ● Makes use of the Carbon platform's 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
  • 14.
  • 15.
    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
  • 16.
    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();
  • 17.
    Event Receiver ● Extremely efficient with minimum conversions ● In-built security ● Invisible in most use cases
  • 18.
  • 19.
    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 don't work, just plug your own – custom analyzer
  • 20.
  • 21.
    A sample sequence- xml <analyzerSequence name="productSummarizer"> <trigger cron="1 * * * * ? *"/> <analyzers> <get name="orders" fromLastCursor="true" batchSize="3"/> <lookup default="EVENT"/> <aggregate> <measure name="quantity" aggregationType="SUM"/> </aggregate> <put name="productSummary" indexRow="allKeys"> </analyzers> </analyzerSequence>
  • 22.
    A sample 'index'analyzer - UI
  • 23.
  • 24.
    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
  • 25.
    Gadget IDE –Drag and drop gadgets - Data Flow view
  • 26.
    Gadget IDE –Drag and drop gadgets - Design view
  • 27.
  • 28.
  • 29.
    Summary ● BAM + SOA ● Aggregation, Analysis & Presentation ● BAM 2.0 – Performance, Scalability & Customizability in BAM ● A BAM Framework
  • 30.
    Webinar happening nextweek ● 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
  • 31.
    Questions? ● Alpha available at http://bit.ly/wLKi9u ● Beta release in March ● GA in Q3 2012 ● Ready for you to start POC/Development work
  • 32.
    Selected Customers https://ail.google.com/mail/u/0/? ui=2&ik=ad9ae58f41&view=att&th=1331a7 0983344a32&attid=0.1&disp=thd&realattid =f_gtxto6mk0&zw
  • 33.
    WSO2 engagement model • QuickStart • Development Support • Development Services • Production Support • Turnkey Solutions • WSO2 Mobile Services Solution • WSO2 FIX Gateway Solution • WSO2 SAP Gateway Solution