[color=“blue”]Oi pessoal !!! Olha Fabricio eu acho que tô com um problema parecido mais como o meu projeto é pessoal então tenho tempo pra pensar nele sem pressa.
Também estou querendo desenvolver um software para desktop mas antes de encarar a implementação tô fazendo um projetinho e modelando usando UML antes, eu acho que assim fica mais facil se direcionar para não ficar perdido… :roll: e quando eu fico perdido eu desanimo e acabo desistindo… :lol:
Bom eu ja defini algumas coisas sobre a implementação do meu software desktop, ele também utilizara Swing para View e Hibernate para mapear banco de dado relacional(no meu caso MySQL)… não sei qual seria a utilidade de se utilizar EJBs… eu acho que aí você complica um pouco, mais tudo bem.
O meu software também poderá ser acessado pela web por isso também vou ter que implementar MVC para web… vou utilizar Java Server Faces, Servlets e JavaBeans… e o banco de dados a ser acessado é o mesmo que eu acesso no sistema pra desktop.
A falta de cronograma é um problema sério ! 8)
Vou começar a pensar em um…
E ai pessoal!
Cara, eu to passando por esse problema, mas to enfrentando que nem gente grande: fechando os olhos o correndo pra frente. rsssss…
Acho que tudo depende de como ta tua estrutura: no meu caso, eu comecei utilizando RMI como servidor, swing pra view, acessando base oracle. Mas começou a ficar meio maçandte: mta coisa pra pouco resultado. Dai veio o qusito tempo.
Acabei optando por ter um front em swing, distribuido por Webstart. O acesso ao banco fica na maquina client mesmo. Fica aquela velha coisa cliente servidor.
Funciona belezinha, show de bola
Soh que , no proprio client ta tudo separado: a parte de acesso ao banco da parte do swing.
Isso ta ajudando bastante, pq mta regra de negocio eh so jogar a mesma lib( le se JAR) no servidor, e o resto é so fazer em JSP ou sei la o q, utilizando a mesma LIB de acesso ao banco.
A parrte web estou começando a testar agora, mas ta dando tudo certo por enquanto.
A parte swing ja ta mo cara ai e ta chuchu beleza
Ta ai minha dica.
Mesmo assim… O que pode pesar seria o trafico de rede… Mas nesse caso ( meu caso ) o processo pesado fica no banco ( em procedures ), o que nao carrega tanto a rede.
Detalhe que o numero de usuarios medio tb eh de 100 usuarios… E sao exigentes em performance, isso eu afirmo
Se vc nao for colocar os processos no banco, ai acho melhor vc ter um servidor pra controlar. Acho que poderia ser ateh em EJB, mas ai acho que vai ser um trabalhao. Num sei, pq tb nunca trabalhei com EJB.
O problema é o seguinte:
Temos vários clientes com bancos diferentes. Oracle, postgree, …
Neste caso o uso excessivo ou simplesmente o uso de procedures e recursos exclusivos do banco impossibilitaria a independência do mesmo.
A aplicação está sendo estruturada de forma que exista independencia de banco e de VIEW para posterior implementação para WEB, sendo que hoje o desenvolvimento baseia-se em Swing.
Sim. Use EJBs (nunca pensei que fosse dizer isso) pois você tem muito mais a ganhar com o gerenciamento de transações e outros blablablas do que você teria caso:
implementasse as regras de negócio diretamente no cliente Swing, que tornaria seu sistema um pouco mais complicado de se manter;
implementasse as regras de negócio no banco de dados, coisa que deveria ser considerada crime hediondo, sem direito nem a condicional!
p.s.: <dica>Pense em distribuir seu aplicativo usando Java Web Start </dica> Ajuda bastante na manutenção, distribuição e versionamento de suas aplicações.
Daniel, já dei uma olhada e provavelmente usarei JWS.
lcmetzger, estou estudando a viabilidade de usar hibernate.
Estou fazendo umas implementações e testando xDoclet também.
Estou vendo que a galera por ai tá usando CMP para as operações básicas e outras técnologias pro resto, mas não sei se é uma boa idéia.