The post is about creating a dashboard to display event notifications using few of WSO2 Technologies.
Requirement : Capture events from an event sender and display it in a dashboard
Used Technologies : WSO2 Enterprise Service Bus, WSO2 Application Server, WSO2 Gadget Server
Architecture : In brief, events are generated randomly, ESB will act as an event sink, and it will publish the events to the subscribed parties (to a service deployed in WSO2 AS). There is a gadget deployed in WSO2 Gadget Server where it will poll the received events from the service periodically.
HOWTO :
The ESB
At the ESB end we will have to set up the event sink as following,
https://gist.github.com/1653037.js?file=synapse.xml
Then you need to create a topic in the ESB and subscribe the created service. Steps in doing so is documented here
The Service
A very simple service to accumulate the events (this is not at all production grade, who whats to keep all the event in memory 😉 )
https://gist.github.com/1653077.js?file=TrafficEventReceiverService.java
The Client
Its too long to post, you can check it at https://gist.github.com/1653062
You can run the client like “ant trafficevent -Dtrpurl=http://localhost:8280 -Devent=traffic.is.crazy”
The Gadget
https://gist.github.com/1653079.js?file=TrfficEventGadget.xml
In Action