I'd second this. With Catalyst::Model::Adaptor or Catalyst::Model::Factory you can use Catalyst pretty much as glue between your existing model (the package you have written already) and the web framework, which provides the views and the controllers. The controllers should be tiny as they only call methods in your model based on input parameters. I use that approach too. Have a look at
Catalyst::Action::REST as well.