Based on my presentation at BarCamp Orlando 2010, I’ve decided to do a series of posts generalizing my work. Hopefully this will help me remember the skills used and, more importantly, help someone else in turn.
The dashboard built for my presentation consisted of an Adobe Flex application as the front end, a Java backend and BlazeDS (Adobe’s as well) in the middle to connect these two. I had developed a tech demo for work where this tool would provide real time operational insight into the progress of a long running task. More specifically, this operational dashboard would relay progress, realtime, on an Extract, Transform and Load (ETL from now on) job we needed to monitor.
This ETL job is a combination of java tools and different databases where data is extracted, then curated and then processed to be reused in different ways. It’s a thing of beauty in execution but a bit intimidating to someone like me who lacks a thorough understanding of what I do for a living 🙂
I thought it would be nice to build a tool to monitor on this process. It would have to be non intrusive to my team or to ETL, and had to be completely independent of the tool it was keeping tabs on. Thinking this would be a fun way to use Flex and BlazeDS (I miss working with Flex), I set out to built such a tool. Unbeknownst to be, the task would prove to be bit more complicated than I thought it would be (ignorance keeps me bold). In the end, some of the most daunting requirements where easily met with a completely free set of tools and the end result was not bad looking either. it even works!
I used quite a few tools to complete a working example and will try to break posts down into main components that can be completed independently. Feel free to stay tuned (or not) for the juicy parts. Hopefully, I can at least save you some time showing you what not to do.
Briefly, the dashboard was constructed with the following technologies, all freely available:
For the software parts, Abode Flex (ActionScript 3), Java and Hibernate.
For the server components, I used Tomcat and Adobe BlazeDS. Oh yeah, you are going to need a database server of your choice. I will be using MySQL.
Any text editor would do as well; I am most comfortable in Eclipse but you may use anything you want.