Splunk and Liferay. First one is targeted to handling data and second one for viewing it. Honestly, they can do other things too, but my point of view need some strict borderlines. Splunk have some pretty cool ways to view charts, lists and other stuff (I think it can even view maps). And of course Liferay can handle data too, it’s an application framework. But now, splunk handles and liferay views. Separation of concerns and layers that have clean responsibilities, that’s what I want as an architect.
We have been building one kind of dashboard to one of our customers, or actually customer’s customers, and it’s intranet. Maps, charts and lists and interactions between them. And part of the data comes from Splunk instance. As I said before, Splunk can view some pretty cool data visualizations too, but in our case we need centralized authentication (SSO) and authorization and also combination of charts with other views, like maps and lists. So we decided to do visualizations at Liferay’s side of system. At POC phase we used Leaflet API for map (leaflet offers very pretty interface for maps and layers on them) and Google Chart api for charts. And Splunk’s cool Java api for querying data from background.
Why it’s cool? In my opinion, it’s quite simple but still versatile. You can find usage examples from here. But basically you can do asynchronous or synchronous queries using Splunk search language, select how to format your result (JSON, XML, CSV), integrate results to your application and of course login into that system. We did little transformation at the portlets controller class and that’s it: we could return JSON to our portlet’s view.
These very lightweight technologies offer clean way to do some pretty cool interactions and visualizations in a portal. And there is not so much job to do if you want to move all that stuff on other platform like Grails or plain old Spring MVC.
Liferay and Splunk are a beautful combination. If you want to know more about the combo, just e-mail me or ask me on twitter,