Puakma: Under the hood

I'm Brendon Upson, jack-of-all-trades, master of one or two. I'm talking about life running a small ISV tackling business issues and leaping technology hurdles in a single bound.

webWise Network Consultants is based in Sydney, Australia and develops the groundbreaking Tornado Server technology.

Dragged again, screaming from the comfort zone

Filed under: by Brendon Upson on 2006-08-07

It has been a whirlwind few weeks. Just as I was relaxing into a beautiful daze of complacency a new customer dragged me back out screaming. 

We now have a new Tornado customer who has engaged us to build a web deployment system to run on top of their Tivoli installation. Basic principle is helpdesk and workstation deployment people can go to a secure internal web page and and through a click or two send a software package to be deployed on the workstation. Precisely the work Tornado was designed for.

Of course there were a few hurdles to leap. First, this is our first customer using Oracle, so some tweaks had to be made to the webdesign app (table building logic, eg CREATE TABLE ...) and to the Tornado core, specifically the HTMLView class.

The webdesign app has undergone a HUGE overhaul. This started prior to the new customer and took a little longer than I would have liked to get it all working. The old webdesign interface was heavy on html, contained some clunky (and sometimes IE only) javascript and a few "spacer.gif" images for good measure. These are all gone now, replaced with a fresh new look and extremely light css based layout and a little ajax thrown in for good measure. The wedesign app is the oldest in the fleet, and most neglected - it always worked well enough to not bother rewriting.

The HTMLView class is used inside Tornado to render lists of records from a database (and used behind the <P@View @P> tag). Basically you throw an SQL query at it and it will render in full html glory a representation of that recordset, which you can also scroll through using next and previous. The really bad news is each database vendor implements the LIMIT clause in a different way - or not at all. Oracle's implementation is questionable (and don't even start me on Microsoft SQL Server!). The real benefit of HTMLView is that you just say "SELECT * FROM ATABLE ORDER BY Name" and the HTMLView class takes care of all the hard work. Using LIMIT means you only have to deal with a small subset of all the records in the table. Short answer is HTMLView got a good reworking to be able to deal with Oracle. Whew.