[quote=Luca]A Sun continua gastando energia onde não deve. Se querem incentivar aplicações desktop competitivas, deveriam se concentrar em melhorar a API de impressão e a de conexão com dispositivos, onde o Java ainda continua perdendo de goleada para os concorrentes como o C# por exemplo.
[/quote]
Eu me pergunto sempre (em tom quase que deseperado): Porque, meu Deus, a Sun não dá moral pra essas coisas… Porque…
[quote=mister__m][quote=RafaelRio]
O que o Michael disse é bem possível, e ainda podemos utilizar o HSQLDB ou o Derby/JavaDB para armazenar dados locais e trabalhar em cima deles off-line.
Se fizer o "dever de casa" direito, um software pode começar como
cliente -> servidor de banco de dados
e evoluir para
cliente -> middleware -> backend.
[/quote]
O módulo shared do genesis permite fazer isso sem mudar uma linha de código :-)[/quote]
Michael, você está se referindo à remotabilidade transparente?
Nesse caso eu teria os componentes de negócio dentro dos clientes, mesmo que executassem no servidor (ou estou viajando ?). O ideal não seria migrar esses componentes para o servidor, utilizando, talvez, EJB 3.0?
Só pra não fugir muito do tópico :lol:
se o banco for embarcado, eu uso HSQLDB; se não, PostgreSQL.
Uma coisa interessante na arquitetura é que você pode continuar tendo lógica local nos seus objetos de negócio, i.e., métodos não-anotados com @Remotable. Assim, toda a lógica de negócios fica num lugar só.
No caso do genesis, por exemplo, em modo remoto os seus componentes são executados dentro de um Stateless Session Bean, sem que assim você esteja “amarrado” com essa tecnologia. Os aspectos permitem abstrair a tecnologia real usada debaixo dos panos para execução dos componentes, o que dá essa flexibilidade do modo local também.
me desculpe ressucitar esse tópico, mas tive uma dúvida: TODOS os sistemas que tem acesso a um banco de dados devem possuir esse banco em outro lugar e acessar ele pela Internet? No caso, o BD poderia ficar num servidor na minha empresa e ele acessa a partir da empresa dele. Funcionaria assim? Se ele não tiver conexão com a Internet ele tá fudid* então? E o software funcionaria obrigatoriamente num navegador e mesmo assim utilizaria swing?
Acho que internet não pode ser considerado o unico meio para isso.
Acredito que existam sistemas de uso exclusivamente interno que não necessitam de acesso via internet, acho até que algumas coisas as próprias empresas nem querem que possam ser acessadas vai internet, mesmo porque isso sempre irá gerar um custo maior com segurança.
Mas o que acho que o Luca quis dizer é que mesmo em sistemas construidos em uma arquitetura considerada ultrapassada como cliente/servidor não é recomendável que o BD fique na mesma máquina que a aplicação por motivos como performance, segurança, politicas de backup, manutenção do BD, acesso por mais de um usuário.
Agora se você esta pensando em um sistema pequeno, controle de caixa de uma padaria, por exemplo, que vai ser instalado num único ponto, e que por limitações de custos ou outros, é conveniente que fique tudo numa máquina só… acho que é possível sim.
Claro, como disse estamos falando de um sistema pequeno, que pode até ser acessado por outra estação, mas que vai ter uma perfomance comprometida pela capacidade da máquina que hospeda aplicação e servidor de BD.
Quanto ao software acessando um BD em outra máquina poderia ser web ou swing, eu acho. Mas se for swing não seria executado dentro do navegador, mas como aplicação separada, com um .JAR em cada máquina.
Hehehehe… por favor comentem essa besteirada toda que falei !