[SP-pm] MVC correto para um certo problema

Oberdan Luiz May oberdan.luiz em gmail.com
Quinta Novembro 1 06:32:05 PDT 2007


   Olá pessoal,

   Nos últimos tempos tenho visto na lista uma série de tópicos a respeito
do uso (ou não) de MVCs como Catalyst e coisas do tipo. Visto isso gostaria
de algumas opiniões  sobre a possível utilização de algo assim em um
sisteminha antigo que eu estou reescrevendo.

   É uma conceitualmente simples, um sistema de geração de relatórios. Telas
com diversas drop-downs onde o usuário escolhe os parâmetros das consultas e
intervalo de datas , clica em OK e o sistema monta o relatório. Só faz
consultas, sem insert, update ou delete. Acredito que quase todo mundo aqui
já teve ou ainda tem que fazer coisas assim.

   A versão inicial desse sistema usava CGI::Application como framework e
por consequência HTML::Template (que é muito bom pra coisas simples). A
interface era feita em HTML com os valores de algumas drop-downs lidas de
arquivos de configuração do servidor. Os relatórios eram retornados em HTML,
PDF ( HTML convertido pra PDF com htmldoc: http://www.htmldoc.org ) e
algumas planilhas do Excel geradas com Spreadsheet::WriteExcel.

   Algum tempo atrás, o cliente que me pediu isso da primeira vez me
procurou e disse que precisa de uma versão nova, com mais relatórios e por
ai vai. Como a versão inicial já estava obsoleta e era feia de doer, eu
levantei a possibilidade de uma reescrita, e estou estudando as coisas que
estão disponíveis na web antes de sair reinventando a roda feito um idiota.

   O que eu encontrei foi o seguinte:

   Para a interface gráfica a ExtJS ( http://extjs.com ). Com isso, ficaria
algo quase totalmente client-side. Algumas coisas seriam trazidas do
servidor com um pouco de ajax. A versão beta ainda é pesada, mas o sistema é
pra poucos usuários, e vai rodar primariamente na rede local dos caras,
então largura de banda não é problema.

    Como resultado, devo passar praticamente tudo para planilhas do Excel,
continuando com Spreadsheet::WriteExcel (hard-coded, infelizmente, mas o
resultado é bom) ou fazendo gráficos com o Fusion (
http://www.fusioncharts.com - sim, esse é pago ). Provavelmente não vai ter
mais saída em HTML.

    O restante continua igual: montar as consultas de acordo com os
parâmetros passados, recuperar os registros, e fazer um  pós-processamento
pra organizar.

    Partindo desse cenário, levando em conta que a interface vira
client-side, e os relatórios em HTML devem sumir, pode-se dizer que não vou
usar mais sistemas de template/visualização baseado em HTML. Como o sistema
só trabalha com select, facilidade de fazer CRUD também não é a coisa mais
necessária do mundo. Aliado a isso, eu não sei se vou poder instalar
mod_perl nos servidores alvo.

    Frente a isso compensa colocar um MVC completo, como Catalyst por
exemplo, no meio de tudo? Pessoalmente eu gosto do Catalyst, e gostaria de
aprender mais sobre ele, mas nesse caso acho que seria um canhão pra matar
uma formiga... Alguém conhece  alguma alternativa mais light, fora o
CGI::Application? Ou seria melhor nem pensar em MVC nesse caso?

    []'s

    Oberdan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071101/232cf72f/attachment.html 


Mais detalhes sobre a lista de discussão SaoPaulo-pm