Applet com Servlet  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
gbazilio
Thread.start()

Membro desde: 05/04/2006 21:08:36
Mensagens: 27
Offline

Já ouvi falar várias coisas, mas até agora ñ tenho uma idéia formada.
Imagine um sistema de controle de supermercado feito em applet rodando na web. Applet comunicando direto com o banco de dados para exibir os dados para o usuário. Tem algum problema nessa estrutura applet-database?

Já ouvi dizer para colocar um servlet para fazer essa conexão com o banco de dados. Mas não sei qual a vantagem disso? Pq colocar um servlet no meio, applet-servlet-database, para se comunicar com o banco de dados? Quais as vantagens? Quais as desvantagens? Qual a diferença?

Afinal, applet-database ou applet-servlet-database? Por que?
marcos.junqueira
JavaEvangelist
[Avatar]

Membro desde: 12/02/2005 15:43:29
Mensagens: 457
Localização: Uberlândia - MG
Offline

Pra usar applet-database vc teria que assinar o seu applet, porém não é muito interessante pq todo applet é baixado para a máquina do cliente e ele pode ver seu código...
jah em applet-servlet-database, o servlet fica no servidor e o applet acessa ele atraves de URL, nenhum código referente a como é feito o armazenamento é armazenado no cliente.

Marcos Oliveira Junqueira

"Não importa a forma como um guerreiro é derrubado, mas sim a maneira como ele se ergue."
[Email] [WWW] [MSN] [ICQ]
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

Vantagens:
- Desenvolver em 3 camadas: pense no applet apenas como camada de apresentação. Assim será mais fácil reaproveitar as classes de negócio se for desenvolver em outro front-end.
- Pool de conexões: conectando um applet direto do banco de dados, você terá que ter uma conexão para cada cliente. Num esquema via servlet, você poderia utilizar um pool de conexões.
- Segurança: expor o seu banco de dados. Se você utilizar um servidor de aplicação, pode limitar (via firewall) o acesso ao banco de dados. Além disso, dependo do caso é interessante nem permitir os usuário poderem logar no banco de dados diretamente, evitando que ele faça operações diretas (insert, delete e update na mão) no banco de dados.
- Performance e escalabilidade: com conexão direta do applet no banco de dados, todo o processamento vai ser feito na maquina do cliente. Isto pode exigir computadores com maior capacidade de processamento e memória. Concentrando em um servidor, você poderia fazer apenas upgrades no servidor.

Desvantagem:
- Disponibilidade: com um servidor de aplicação a mais, teria mais um ponto de falha além do banco de dados. Seria necessário clusterizar tanto o banco de dados quanto o servidor de aplicação.

Bem, foi isto que consegui lembrar de vantagen e desvantagens.
gbazilio
Thread.start()

Membro desde: 05/04/2006 21:08:36
Mensagens: 27
Offline

marcos.junqueira disse
Pra usar applet-database vc teria que assinar o seu applet......


de qualquer maneira vc teria q assinar o applet para poder usar fazer uma conexão com o servet, no caso o HTTP. certo?
agora...realmente...nda seria armazenado no computador do usuário.

oyama disse
Pool de conexões: conectando um applet direto do banco de dados, você terá que ter uma conexão para cada cliente. Num esquema via servlet, você poderia utilizar um pool de conexões.


oq seria um pool de conexões?
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

gbazilio wrote:de qualquer maneira vc teria q assinar o applet para poder usar fazer uma conexão com o servet, no caso o HTTP. certo?

Não posso te garantir 100%, mas acho que sem assinar, você pode fazer conexão HTTP ao servidor de onde você fez download do applet.
gbazilio wrote:agora...realmente...nda seria armazenado no computador do usuário.

Os applet podem ser armazenados em cache da maquina cliente. Se você for na parte de configuração do Java, vai achar a pasta e as bibliotecas armazenadas. Mas em todo o caso, dá para fazer download do applet passando a URL para o browser, tipo http://www.seusite.com/applet/applet.jar

gbazilio wrote:oq seria um pool de conexões?

É você ter um "cache" de conexões abertas com o seu banco de dados, e ir utilizando a medida que for necessário. Abrir conexão com banco de dados é muito custoso, portanto é mais eficiente abrir na iniciação da sua aplicação e ir alocando a medida do necessário.
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team