Pessoal, vou trabalhar na conversão de alguns sistemas contábeis e financeiros antigos desenvolvidos em Clipper para a plataforma Java, e usarei Swing. Obviamente vou ter que converter tudo para OO e penso em utilizar Domain Model.
Alguém tem alguma sugestão de arquitetura ou framework para este tipo de sistema? Basicamente eles vão acessar um banco de dados na rede (via TCP/IP) e serão instalados nas máquinas dos usuários (como uma app desktop normal)
Tenho uma certa experiência com Swing (desde 2005) mas sempre fiz as coisas “no braço”. Pensei em usar o Swing App Framework da Sun, mas soube que está descontinuado. Achei o Netbeans Platform muito complexo, alguém tem alguma sugestão?
Valeu!
Entendo que o requisito seja para desktop, mas acredito que o ideal seria um sistema intranet web.
Pois é mais fexivel, mas facil de manter e mais facil de administrar depois.
Sendo dektop pra acessar o bd na rede vc teria que usar rmi ou soket para a plicação client acesar a app server. :?
É um caso a se pensar. :roll:
Eu particularmente gosto muito de usar Spring, Struts2, JPA e Velocity.
Com o Maven para gerir o projeto e as dependencias do projeto.
Para intranet fica Show!! na minha opinião é claro.
se for mesmo desenvolver em dektop, pense no Open Swing que é mais atualizado.
Boa sorte no seu projeto.
Fallow
x111
Neste tópico o pessoal recomenda o WindowBuilder, não utilizei ainda para dar uma opnião.
Agora o dominio é independente da visualização então você pode faze-lo tranquilamente.
x111
paulo1911:
Oi amhfilho,
Entendo que o requisito seja para desktop, mas acredito que o ideal seria um sistema intranet web.
Pois é mais fexivel, mas facil de manter e mais facil de administrar depois.
Sendo dektop pra acessar o bd na rede vc teria que usar rmi ou soket para a plicação client acesar a app server. :?
É um caso a se pensar. :roll:
Eu particularmente gosto muito de usar Spring, Struts2, JPA e Velocity.
Com o Maven para gerir o projeto e as dependencias do projeto.
Para intranet fica Show!! na minha opinião é claro.
se for mesmo desenvolver em dektop, pense no Open Swing que é mais atualizado.
Boa sorte no seu projeto.
Fallow
Não é necessário a utilização de RMI, é possivel criar um cliente com acesso direto ao banco.
A
amhfilho
paulo1911, o sistema realmente é desktop.
O acesso a banco será por JDBC mesmo, pela rede. A camada de DAO será com JPA2 (eclipseLink)
johnny_quest
Como você conhece e tem experiência no swing desde 2005,
então te diria para projetar em outra área, mas especificamente para web.
Aproveite a oportunidade e crie o sistema todo na web, como forma de aprendizado mesmo
do que colocar o código no client usando swing.
Utilize JSF 2.0 como front controller, JPA 2.0 ou/e EJB 3.1 no backend.
A
amhfilho
Como você conhece e tem experiência no swing desde 2005,
então te diria para projetar em outra área, mas especificamente para web.
Aproveite a oportunidade e crie o sistema todo na web, como forma de aprendizado mesmo
do que colocar o código no client usando swing.
O sistema TEM QUE SER EM SWING! Não é uma decisão minha, e sim do cliente.
Bom, deixa pra lá…
johnny_quest
ok
x111
amhfilho:
Como você conhece e tem experiência no swing desde 2005,
então te diria para projetar em outra área, mas especificamente para web.
Aproveite a oportunidade e crie o sistema todo na web, como forma de aprendizado mesmo
do que colocar o código no client usando swing.
O sistema TEM QUE SER EM SWING! Não é uma decisão minha, e sim do cliente.
Bom, deixa pra lá…
Você ainda pode criar o front no swing e usar EJB no back ao invés de fazer um sistema cliente-servidor nolmal. O problema é que você necessitária instalar no servidor além do banco, o glassfish ou o jboss, mas o tempo de desenvolvimento creio que seja beemm menor por usar EJB, além do fato de ser facilmente migravel para internet!.
É uma opção interessante. Claro que nada impede de vc utilizar somente JPA, principamente se o sistema for de “prateleira”. Neste caso é a melhor opção mesmo, mas se for um sistema de uma empresa, eu pensaria em utilizar EJB.
A
amhfilho
Este sistema não é Enterprise. Não tem servidor de aplicação nem existe a possibilidade de rodar na Web. Vai ser um sistema Desktop mesmo, instalado via Java Web Start.
Obrigado pela ajuda de todos
javer
Não precisa complicar tanto, faz ele em Swing, qual o problema?
Apenas faça “como manda o figurino”, faça em camadas, use o Hibernate (esse facilita muito, inclusive com validação, o que é ótimo), use o JasperReport para os relatórios, etc…
Não precisa usar vários frameworks, use o Swing bruto que fica ótimo, se você tem experiência em Swing provavelmente nem precisamos dizer muito aqui o que deve fazer.
Abraço e boa sorte, peça ajuda no que for precisando.
A
amhfilho
Concordo javer. O fato de ser desktop é um requisito do cliente, e não uma opção minha, acho que a galera não entendeu.
Só pra constar, estou usando domain model com anotações de JPA. Também fiz uma camada de DAO que é acessada pelas classes do Swing. O acesso é feito por interfaces publicas então se um dia quiser implantar este sistema na Web é só alterar a implementação do DAO para obter o EntityManager por injeção de dependências e manter o controle no container.
Estou usando Swing puro mesmo, acho que vai dar menos trabalho do que aprender um outro framework.