Aplicativo com cliente Swing e Web

2 respostas
D

Olá pessoal,

venho aqui pedir uma opinião a vocês programadores, analista e engenheiros de software.

Estou iniciando um novo projeto para sistema WMS. Sistema o qual haverá um fluxo de dados razoável, com muitas entradas DB e alguns acessos simultâneos.
Haverá dois modos de acesso para o mesmo sistema. Modo local, utilizando um cliente com interface Swing ou SWT. E remoto, através de um cliente web, com Struts 2.0 ou JSF.

Utilizando o conceito MVC, penso em utilizar o mesmo código para Modelo e Controle, alterando apenas a camada de Visualização.

Minha grande dúvida é em relação aos frameworks e tecnologias à usar.

Tenho definido a utilização de PostgreSQL + Hibernate c/ Annotations para camada de modelo. Agora… será que a utilização de Spring seria uma boa para esse projeto?

Bom, gostaria de saber a sugestão de vocês, não apenas para a dúvida com o Spring. Mas também para o demais…
Será que a utilização de Hibernate não deixará o sistema um tanto quanto lento?

Obrigado,

Diogo Roedel

2 Respostas

C

A questao de ultilizacao de frameworks dentro de um projeto, abranje muitas opnioes e muitos tipos diferentes de aplicabilidade de sistema.
Digamos que o seu sistema vai trabalhar com cruds simples e tal, alguma coisa de injecao de dependencias, AOP e X coisas…
Pq n ultilizar spring ?
Mas c tu for perguntar a opniao do Bruno Carlo… ele ja vai descuidar e tal rsr
O Spring tem um tratamento especial com o hibernate, ele ja tem coisas bem prontas pra tu trabalhar com hibernate.
Entao eu verificaria sobre o que vai ser o sistema e a especificacao, digamos, o foco do sistema e tal.
Ler documentacoes, e casos de sucesso ou insucesso.

G

Eu tenho usado o Spring em projetos pessoais, open source e comerciais. Posso te dizer que se você procurar entender bem o funcionamento do framework, entender todos os conceitos envolvidos, poderá tirar um bom proveito de tudo que o framework se propõe a fazer.

Para a aplicação Desktop, eu iria de SWT usando o bom e velho MVC. Para a aplicação Web, eu iria de Struts2 + Hibernate + Spring.

Esses frameworks seriam a espinha dorsal do seu sistema, tendo essa estrutura bem definida fica mais fácil realizar possíveis modificações que surgem ao longo do desenvolvimento. Afinal, um bom sistema é aquele que é capaz de sobreviver as modificações que são impostas.

Essa dúvida em relação a lentidão causada pelo Hibernate, já foi superada há bastante tempo. Hoje em dia em um projeto de verdade, não há espaço para utilização de SQL na mão. O Hibernate é uma poderosa ferramenta que bem usada pode auxiliar bastante. Mas ainda existe aquela velha história, não adianta ter uma boa ferramenta em maõs e utilizá-la da forma errada.

Se você procurar se informar melhor, verá que existem várias estratégias de cache para utilizar com o Hibernate. Há também algumas melhores práticas de utilização do framework, que quando bem usadas tornam o desenvolvimento/sistema muito simples e rápido.

Aconselho fortemente um estudo nos frameworks que você pretende usar, se possível crie uma simples aplicação para ver como tudo funciona.

Abraços.

Criado 13 de março de 2008
Ultima resposta 18 de mar. de 2008
Respostas 2
Participantes 3