Conceitos confusos

Olá.

Estou estudando alguns pontos da Tecnologia Java e me surgiram algumas dúvidas que em leituras no site da Sun (www.java.sun.com) e Livros não consegui uma resposta clara e objetiva. Acredito que isso seja difícil até para alguns profissionais experientes.

A Tecnologia Java possui 3 plataformas: JSE, JEE e JME. Cada uma destas para uma finalidade específica de desenvolvimento.

  • A JSE é para desenvolvermos aplicações desktop’s, servidoras e applets.

  • A JEE é para desenvolvermos aplicações corporativas, no estilo Web e distribuídas em rede.

  • JME é para desenvolvermos para dispositivos com pouco recurso de memória.

Minhas dúvidas começam assim:

Sei que a JRE é formada por um conjunto de API’s e a própria JVM. E sei, também, que a JVM é quem interpreta o arquivo criado na compilação (bytecode). Neste caso, acredito que somente a JVM é necessária ser instalada na máquina do cliente. Porém, alguns Livros e sites falam que tem que se instalar a JRE. Por quê?

Para executar uma aplicação desenvolvida em Java eu preciso da JRE ou JVM? Melhorando, se eu desenvolver uma aplicação com interface gráfica com Swing (JSE) eu preciso instalar no cliente a JVM ou JRE? Se eu desenvolver uma aplicação em Java com Servlets e JSP’s (JEE) eu preciso instalar no cliente a JVM ou JRE?

Tudo que posso desenvolver com JSE: SOMENTE aplicações gráficas com Swing, AWT e Applets (via browser). Entendo que aplicações desktop’s são aplicações que a interface (composta da parte visual e regra de negócio) fica na máquina cliente e a única coisa que teria fora é o banco de dados. Montando assim um modelo Cliente/Servidor. Estou certo nesta visão?

Encontro conceitos, até no site da Sun, que poderiam ser desenvolvidos com a JSE aplicações servidoras. O que seria aplicações servidoras?

Quando desenvolvo uma aplicação com Servlet e JSP estou utilizando a JEE? É isso que baixo do site da Sun para desenvolvimento JEE? O que vem neste download? Como posso identificar que estou trabalhando em JEE?

Posso dizer que tudo que desenvolvo com JEE é SEMPRE algo que será utilizado via browser?

Afinal quais são as aplicações desenvolvidas com cada uma destas edições (JSE e JEE)?

Obrigado

Bom para rodar uma aplicação em Java vc precisa ter somente o JRE. Já para desenvolver vc vai precisar do JDK. O JRE vem com a JVM. Servlets e JSP rodam no servidor. Já para applets será necessário o cliente instalar um JRE.

Com JSE você pode desenvolver aplicações clientes e servidores. Aliás vc pode até escrever até ‘aplications servers’. Servlets e JSP são parte da especificação da JEE. Desenvolver JEE pode envolver desenvolver até para Servidores que troque dados com desks ou mobiles.

Acho melhor vc escolher um bom livro (ou fazer um curso) para aprender o básico do Java. Isto será sua base para os próximos estudos de Java. Ai vc pode ir para JME, JSE, JEE. Se especilizar em uma… trabalhar com todas… Java é um tecnologia. Java é uma plataforma de desenvolvimento. Boa diversão…

O que seria uma aplicação servidora desenvolvida em JSE? Seria a interface e lógica no usuário e o banco de dados em rede. Isso caracteriza uma aplicação servidora?