in reply to When to use ORMs, Catalyst, etc
In my building web applications I have taught myself through much pain and suffering .. *one* good way (perhaps of many) of working.
My way (likely a shared view with some others):
The "web application" is an oxymoron. There is no web application- there is only a web interface.
Why? I keep all my procedures, database things, interaction, methods, whatever- as much as possible (usually this is just about everything)- completely appart from *any* interface but the API itself.
Then my tests must interact with the code.
That works? Then I may do a cli interface, *then* I use CGI::Application and it's minions of plugins to interface.
Because of the nature of the web and multiple hordes asking for the same junk everytime, I may resort to Cache::File.
I'm sure my mantra of a web app is not unique and it's not the only good one out there. It doesn't hold imperative for me if I face a simple need such as a picture gallery. But growing into it has really helped me out with larger things.
The web application is an oxymoron. There is no web application. There is only a web interface.