Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Key Performance Indicators are quantifiable measurements that reflect the critical success factors of an organization. They will differ depending on the organization. 

...

This sample develops and visualizes couple of KPIs (Key Performance Indicator) for a phone retail store.

Info

It is recommended to use Apache Cassandra version 1.2.18 or higher for this sample.

The developed KPIs are 

  1. Quantity sold from each phone model -  The owner wants to know the performance of his product line. Total sales for each of the phone model is required.
  2. Number of orders received by each customer - The owner wants to know the no of orders received by each customer. 

Sample Guide

  1. Start WSO2 BAM server with default settings.
  2. Go to 'WSO2_BAM_HOME/samples/kpi-definition/' directory
  3. Type 'ant' with in the directory from the console(This publishes the events to BAM)

    Note that you can give custom values for parameters for Data receiver URL, user name and password. Default values of them are as follows.

    ParameterDefault Value
    URLtcp://localhost:7611
    User Nameadmin
    Passwordadmin

    Now lets see how new values can be given as parameters 

    ParameterNew Value
    URLtcp://localhost:7612
    User Nameuser
    Passwordpass123

     Command with new values : ant  -Durl=tcp://localhost:7612 -Dusername=user -Dpassword=pass123

    Published event format (Stream definition)

    Code Block
    {
     "name" : "org.wso2.bam.phone.retail.store.kpi",
     "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"
           }] 
    }

    Sample data

    Code Block
    Event{
       streamId = 'org.wso2.bam.phone.retail.store.kpi-1.0.0-97c75175-776d-4732-aa21-1b901c15778f',
       timeStamp = 1343723606667,
       metaData = [external],
       correlationData = null,
       payloadData = [Nokia, 2, 140000, Harry] 
    } 
  4. Go to management console and login.

  5. Click Main and then click Add in the BAM Toolbox menu.

  6. Select Phone Retail Store Toolbox, and click Install

    add a BAM toolbox

  7. Click Main and then click List in the BAM Toolbox menu, to view the list of all installed toolboxes.

    list of BAM toolboxes

  8.   Wait for some time, until script complete the first run after publishing the data. (Script will run in each minute).   If hive job is successful you will see the following message on BAM console. 

    Ended Job = job_local_0001
    Execution completed successfully
    Mapred Local Task Succeeded . Convert the Join into MapJoin
    OK

  9. Click on Main -> Gadgets -> View portal to see the populated gadgets on the summarized data.

    Phone models sales summary

    Sales summary by customers

...