I have a big dataset (100Mbs/day) and a bunch of console a TCL/TK tools to view it - I want to turn it into a web app that I can build, and others can maintain.
In long:
my group runs simulations yielding 100s of Mbs of data daily, in multiple (mostly but not only) text forms.
We have a bunch of scripts and tools, mostly old school 1990's style stuff requiring a 5-button mouse, as well as lots of ad-hoc scripts that engineers build out of frustration every month or so. These produces UIs, graphs, spreadsheets (various sizes), logs, event histories etc.
I want to replace (or at least supplement) the xwindows / console style UI with a web-based one, so I need the following properties:
pleasant to program
can wrap existing command-line tools in separate views (I don't need to scrape GUIs or anything)
as I port logic from the existing scripts I can create a modularised and pleasant codebase to replace it
I can attach a web-ui to navigate between views - each view is likely to contain keys which might make sense to view in another
I am new to building systems that have logic on the back-end and front-end of a web-server. from that point of view, they do this:
backend wraps old-school executables, constructs calls into them and them takes the output and wraps it up, niceifies it and delivers it to the web client. For instance the tool might generate a number of indexed images (per invocation) which I might deliver all at once or on-demand. May (probably) need to to heavy stats on some sources.
frontend provides navigation connecting multiple views, performs requests from one view for data from another (or self to self), etc. Probably will have some views with a lot of interactivity.
Can people please point me towards viable solutions for this? I know it's a bit of an open question so as answers come in I hope to refine the spec until we have a good match.
I guess I expect to see answers like "RoR!" "beans!" "Scala!" but please give an indication of why those are a good fit; I know nothing!
I got bumped off SO for asking an open-ended question, so sorry if its OT here too (let me know). I take the policy that I use the best/closest matched language for a project but most of my team are extremely low level (ie pipeline stages and CDyn) so I don't have the peer group to know where to start.