Melhor Prática para solução

Boa Noite Pessoal!
Vou ser direto, hoje tenho uma aplicação web onde roda em um servidor wev Glass Fish da Sun.

  • Essa aplicação tem com objetivo extração de dados “relatórios” em um banco de dados oracle, as informações podem ser geradas na tele “HTML” ou em formato “EXCEL”.
  • A aplicação é bem simples, tem um menu do lado esquerdo da tela com os relatórios ao clicar no menu ele abre do lado direito em um IFRAME a paginas HTML com os dados dos parametros que vou passar para meu SERVLET. Cada action do form eu chamo um servlet definido no meu web.xml
  • Hoje essa solução esta bem bagunçada, foi um desenvolvimento rapido, sem projeto, para atender o cliente de forma rapida, era uma necessidade na época por isso acabou sendo desenvolvida de forma rapida. Então hoje ela está da seguinte forma:

HTML ou JSP visão do cliente -> Acessa JAVASCRIPT -> que chama SERVLETS onde esta toda regra e conexão com banco de dados. De acordo com os dados que foram passados do HTML ele gera o relatório.
Eu tenho um servlet para cada relatório, o javascript é mesmo para validar os campos

Hoje como mais tempo queria utilizar alguma solução onde possa organizar melhor meu codigo pensei no formato MVC onde eu possa separar o codigo da regra de negocio e conexao com banco, assim facilita a manutenção.

Gostaria de algumas sugestões de vocês

Desde já agradeço.

Obrigada
Cristian

Caro amigo, pelo visto você está no mesmo barco que muitos desenvolvedores, mas pelo menos já deu o primeiro passo buscando uma melhor solução. Inicialmente se você deseja simplesmente separá-la em camadas, aconselho iniciar separando toda a camada de acesso a dados. Antes de mais nada gostaria de saber se foi feita uma modelagem OO separando as entidades lógicas que representam os objetos de negócio.

Inicialmente pesquise sobre os seguintes padrões: JavaBeans, DAO, BusinessDelegate e Business Service.

Segue um material que fiz para explicar estes padrões principais. Espero que lhe ajude. Após ler o material e refletir um pouco, pode me explicar melhor como esta organizada sua aplicação e se necessário lhe dou mais umas dicas.

Forte abraço,

José Antônio Castilho Fernandes
SCJP 5, SCWCD 5, SCBCD 5

[quote=jose_castilho]Caro amigo, pelo visto você está no mesmo barco que muitos desenvolvedores, mas pelo menos já deu o primeiro passo buscando uma melhor solução. Inicialmente se você deseja simplesmente separá-la em camadas, aconselho iniciar separando toda a camada de acesso a dados. Antes de mais nada gostaria de saber se foi feita uma modelagem OO separando as entidades lógicas que representam os objetos de negócio.

Inicialmente pesquise sobre os seguintes padrões: JavaBeans, DAO, BusinessDelegate e Business Service.

Segue um material que fiz para explicar estes padrões principais. Espero que lhe ajude. Após ler o material e refletir um pouco, pode me explicar melhor como esta organizada sua aplicação e se necessário lhe dou mais umas dicas.

Forte abraço,

José Antônio Castilho Fernandes
SCJP 5, SCWCD 5, SCBCD 5

[/quote]

Boa Tarde Jose, muito bom seu artigo, fiquei com muitas dúvidas…rss mas faz parte, posso te garantir que não utilizei nenhum desses padrões, ou seja lendo seu artigo posso te garantir que não utilizei padrão nenhum. Meu código esta uma bagunça só, por enquanto estou conseguindo dar manutenção, porque estou só no projeto, mas penso que poderia ficar muito melhor para que outro profissional não bata na porta de casa…rssss
Bom vamos lá, a principio Jose é um projeto muito simples Gerar relatório de uma base dedos de outro sistema, vou explicar melhor.

Trabalho com EBS (Enterprise Business Suite) da Oracle é uma ferramenta de mercado concorrente do SAP. O que acontece que dentro do EBS existe um ferramenta chamada Oracle Discover, ou seja é uma ferramenta de relatórios do EBS que vem com 27 relatórios de padrões que não atenderam a necessidade do cliente, com isso nasceu a minha ferramenta, juntei meu conhecimentos em desenvolvimento Java e criei uma ferramenta Web que hoje tem 9 relatórios mas que atendem o cliente satisfatoriamente. Foi desenvolvida como expliquei no topico, porem sinto a necessidade de melhora-la até para facilitar meu trabalho e ganhar tempo no desenvolvimento. Com isso busco uma solução que seja melhor adequada, já que o banco de dados já esta pronto e a modelagem do banco é padrão oracle, como eu conheço bem a modelagem do EBS, eu sei onde estão as informações e seus relacionamentos, com isso criei os relatórios onde o cliente pode customizar a consulta, definir campos, diversos parametros em tempo de execução e gerar o relatórios. Resumindo é uma aplicação web onde conecta no banco do EBS e extrai informações de acordo com solicitação efetuada pelo usuário. Inclusive a autenticação feita no sistema web de relatório é feita com usuários criados no EBS.

Não sei se ficou claro como esta o processo, como meu projeto esta bagunçado, tenho scriplet misturado com tag html que acessa SERVLET no submit esta bem bagunçado, na hora de corrigir um problema demoro um bom tempo até mapear tudo, gostaria de facilitar e separar isso utilizar um MVC ou algo que ache melhor pratica para essa solução.

Desde já agradeço.
Obrigado.
Cristian