Arquitetura Desktop Robusta

Ola galera! Recentemente recebi uma proposta para desenvolver um sistema em Java. Só que uma das exigencias do cliente é que ele seja Desktop.

Ja fazem 2 anos que eu estou bitolado, desenvovlendo so para Web. Não me lembro quase nada de swing.

Minha dúvida é a seguinte… da pra usar uma arquitetura robusta sem usar um framework como o Genesis ou o Open swing?
Tipo assim, usar Hibernate+Spring+Swing?

Fiz um teste com hibernate, consigo salvar mas nao consigo listar em uma jTable.

Alguem ja fez algo parecido? Se ja, poderia compartilhar a arquitetura que usou e explica-la?

Posta algum código de repente algum alma perdida do swing aparece.

Mas considerando que os próprios frameworks devem ter sido criados sem ajuda deles mesmo que ainda estavam em construção e partindo do pressuposto que eles são robustos eu acredito que sim, é possivel obter uma arquitetura desktop robusta sem a ajuda de qualquer framework. Eu não conheco esses frameworks mas estou estudando logica. :slight_smile:

A combinação Hibernate+Spring+Swing é bastante adequada.

Quanto a listar no JTable, acho que o problema é reaprender a trabalhar com JTable, não uma limitação da arquitetura. Dê uma olhada em como funciona o TableModel, e será bem fácil exibir qualquer lista de objetos. Outra opção é usar o ObjectTableModel, que está no link da minha assinatura.

Cara você falou 85% do meu atual problema. Voltar a mecher com JTable. To tentando reaprender, vou ver se bato cabeça mais um pouco e ver se consigo fazer alguma coisa.

Alguem aqui ja trabalhou com o Spring e o Hibernate em aplicações desktop?
Tenho algumas duvidas:
1 - Como se configura o Spring em aplicações desktop?
2 - Como uso hibernate com JTable?

Olá , boa tarde… respondendo a pergunta desde o começo: imagino uma arquitetura robusta usando desktop de acordo com sua necessidade. Pois bem, vc tem três opções na minha opinião:
1 - Se a aplicação não terá muitos usuários e a atualização de versões não será algo crítico: Usa as jsr;s 295 e 296 BeanBinding, inclusive o net beans já tem suporte a elas. Esta arquitetura consiste em criar uma aplicação java desktop com jpa(pode ser hibernate) muito parecida com delphi, ou seja, você tem um jar que fica no cliente com todas suas regras de negócio e que rodam 100% no cliente, só acessam o banco para persistir dados;
2 - Se for algo robusto MESMO você pode construir ejb´s remotos e acessá-los via jnlp (web-start) enquanto sua aplicação desktop será somente a “view”.
3 - A mais recomendada na minha opinião: usa adobe air + blazeds + spring + hibernate, e vc terá uma aplicação desktop muito mais “rica” e ainda entrará na onda do ria (flex, javafx etc…)

Espero Ter ajudado
Kloss