For the first time in my life, I was able to get selected to Google Summer of Code 2014. GSoc has started in 2005 and this is the 10th time. I was able to get selected to one of the projects conducted by the WSO2, which is an open source middle-ware application development company in Sri Lanka.
The project is about developing BAM toolbox for WSO2 Business Process Server(BPS). BAM is known as Business Activity Monitor which is mainly used for big data analysis. In BPS there are two kinds of processes. They are BPEL processes and human task processes. Following are the information that can be retrieved from the processes.
- BPEL related statistics:
Process related information – version, total instances, deployed date, status
Process instance related information – instance activities,current state of the instance
- Human task related statistics:
Human Task definition related information – task count, task count by state, etc
Human Task instance information – participants, task completion time,etc
Human Task time related information – average response time, average task completion time, etc
Per user statistics – assigned list of tasks, completed lists of tasks, in-progress tasks, user response time, etc
Using an Asynchronous Data Publisher, those details can be published to BAM when they are generating at WSO2 BPS. The published data are stored in Cassandra database which is a NOSQL database. The stored data can be changed accordingly and can write to a relational database using a hive script. Hive script can be scheduled to run and it does its job without any human interaction. Finally a dashboard can be developed to display BPEL and Human task information. The data will be taken from the relational database.
- BPEL and human task event listener to capture events generated at WSO2 BPS
- BAM publisher to publish events to WSO2 BAM
- BAM toolbox which contains stream definitions, analytic scripts, and dashboard component
Coding Time Period – 19th May 2014 to 18th August 2014
|The notebook and the pen received from Google|