Servlets ou Java Web Start?

10 respostas
V

:?: :?:

Olá,

Gostaria de saber qual das implentações Java (Servlets ou Java Web Start) é a melhor para ambientes Web, levando em consideração os seguintes itens:

1. Performance
2. Segurança
3. Simplicidade
4. Manutenção

Qual destas me fornecerá maior alternativa de desenvolvimento de aplicações?

Obrigada.

:stuck_out_tongue:

10 Respostas

Luca

Olá

As 2 tecnologias são complementares. Não se pode escolher entre servlets e JWS. A escolha que a turma geralmente faz no cliente é:
a) Sistemas com cara de browser (HTML, JavaScript, JSP e afins) usando servlets;
b) Sistemas com cara de aplicação Windows (Applet ou JWS) usando servlets.

Normalmente a opção a) é mais rápido de desenvolver, atende aos seus itens 1 a 4 porém é difícil de acessar aos recursos da máquina cliente.

[]s
Luca

V

Olá Luca,

Não entendi a sua reposta b).
Como fazer sistemas com cara de aplicação Windows usando servlets?
Dá pra fazer isso???

:?:

Luca

Olá

Servlets são executados no servidor. São acessados usando protocolo HTTP (ou HTTPS). O cliente pode ser em C, Delphi, Assembler, Java, HTML (cara de browser) ou qualquer outra coisa capaz de enviar algo com cara de GETs e POSTs e interpretar respostas.

Minha resposta apenas considerou clientes tipo cara de browser e cara de aplicação Windows.

[]s
Luca

Rafael_Steil

Nao da para comparar as duas diretamente. JWS geralmente sao aplicacoes que utilizam Swing ( disse “geralmente” pq da pra usar SWT tmb :wink: ), ou seja, roda no micro do usuario. Servlets sao aplicaoes que ficam no servidor web, e sao acessadas via algum navegador web.

Rafael

louds

Existe sempre a opção híbrida, que é o cliente falar com o servidor via http, RMI, EJB, etc.

Digasse de passagem, é a opção a ser escolhida quando não for usar um navegador, pq sistemas 2-tier devem morrer.

_fs

Só um adendo … já li um monte de gente encrevendo que desenvolver interfaces com HTML é mais fácil.
Eu discordo totalmente … acho bem mais fácil falar com widgets do que com html+javascript.

Luca

Olá

A solução usando HTTP/HTTPS (com cliente qualquer) que eu citei acima é boa porque passa fácil pelos firewalls. Nas empresas grandes nem sempre há um entendimento cordial entre o setor que solicita a aplicação e o depto de redes. Daí volta e meia há dificuldades em usar qq coisa que não viaje por HTTP/HTTPS.

Qualquer que seja o cliente Java (html, JavaScript, JSP, applet ou swing/SWT + JWS) a infra-estrutura do browser sempre é usada. O Java Web Start usa a infra do browser.

LIPE, desenvolver sobre html é mais rápido mas não quer dizer que seja fácil dar conforto ao usuário. Para fazer uma interface rica com html+JavaScript o trabalho é bem grandinho. Até pouco tempo era difícil encontrar gente que conhecesse swing.

[]s
Luca

dukejeffrie

“LIPE”:
Só um adendo … já li um monte de gente encrevendo que desenvolver interfaces com HTML é mais fácil.
Eu discordo totalmente … acho bem mais fácil falar com widgets do que com html+javascript.

Meu, vc me deu a deixa pra expressar o que eu tenho pra dizer.

Vansol, quando vc for escolher entre WebStart e Servlets, vc na verdade tá escolhendo entre:

  1. Interface do browser, com HTML
  2. Interface GUI.

Essa escolha é muitas vezes difícil e depende do domínio, depende do que vc tá querendo construir.

O pessoal fez muita coisa com J2EE pra ter aplicações com instalação zero, mas um Browser não é nem de longe capaz de interagir com o usuário com a mesma flexibilidade de uma GUI.

… a menos que vc use toneladas de javascript, e daí vc tem essas apps que o LIPE citou, que são imensamente mais difíceis de trabalhar.

Concluindo, sobre os seus itens:

  1. Performance: esquece, nem dá pra comparar. Depende do volume de dados, da complexidade das interações com o usuário e do nível de segurança que vc precisa.

  2. Segurança: dá pra fazer coisas seguras com os dois. Mas dá pra fazer coisas mais seguras com applets/webstart do que só com servlets.

  3. Simplicidade: esse assunto dá pano pra manga. Simplicidade pra desenvolver? Simplicidade pra usar? Geralmente GUIs tem uma curva de aprendizado maior, mas podem fazer coisas mais complexas.

  4. Manutenção: igual. Dá pra fazer coisas muito fáceis e muito difíceis de dar manutenção com as duas tecnologias.

Ah, Luca, o JWS não usa a infra do browser não… ele é totalmente separado. Uma app JWS tem uma poucas diferenças em relação a um applet: um applet usa a JVM registrada no plugin do browser (vc pode escolher no source HTML), está restrito ao espaço dedicado a ele no HTML, e usa o SecurityManager “de applets”. Com JWS vc pode declarar que vc precisa da JVM “XYZ”, e vc tem uma flexibilidade maior com o SecurityManager. Nos dois casos, as classes têm que estar visíveis por HTTP (ou seja, deve ser possível baixar o JAR com um URL), mas uma app WebStart pode rodar offline se ela não depender de nada no servidor (ver exemplos da Sun).

[]s

louds

Interface usar toneladas de JS é a pior besteira que pode ser feita. Trabalhoso pacas fazer, manutenção complexa, problemas de portabilidade.

Tou terminando de desenvolver a segunda interação dum sistema que usa JS para tornar a GUI mais amigavel e te digo, manter quase 8k linhas de JS não é facil. Tão pouco manter elas rodando 100% no mozilla e no IE.

Luca

Olá

Duke, JWS usada do modo padrão depende do browser para instalar atualizações. Depois de verificada a existência de novas versões o browser pode ser fechado. Mas é preciso haver um browser instalado e é aí que chamei a atenção para a necessidade do browser.

É possível pode criar um mecanismo de instalação de novas versões totalmente desvinculado do browser. Me parece que o Deploy Director da Quest que comprou a Sitraka faz atualização mesmo sem browser instalado. Veja http://www.scl.com/java/index.html

[]s
Luca

Criado 20 de fevereiro de 2004
Ultima resposta 24 de fev. de 2004
Respostas 10
Participantes 6