Servidor de aplicação x servidor web

Galera, tô começandoa gora com java e vim do delphi. então vcs já devem imaginar a quantidade de dúvidas né :P.

Mas para começar gostaria de um esclarecimento, no delphi eu desenvolvo em camadas usando o Borlansockserver, que é uma espécie de servidor de aplicação, na verdade ele faz a conexão entre uma app servidora e a app cliente.

Na maioria dos casos que eu tenho ouvido falar de desenvolvimento java está ligado a WEB, então eu gostaria de saber como isso funciona, o java tem um servidor de aplicação ? O jboss seria este servidor ? e o tomcat é um servidor de aplicação ou servidor web ?

Valeu gente

Tomcat = Servlet Container
Jboss, Weblogic, Glassfish… = Servidores de Aplicação.

Tô certo galera?

Sim!

E também dê uma olhada em Design Patterns - vai te ajudar a entender melhor como as aplicações Java são construídas (apesar de que em algumas empresas, Design Patterns é mito - rs!!!).

Abraços!!

Peço licença para pegar carona neste tópico, pois tenho uma dúvida parecida…

No caso de uma aplicação que irá rodar em desktop, qual a tecnologia recomendada para implementar o servidor de aplicações? Os citados se encaixariam neste caso? E se considerar que a aplicação deve ser acessível tanto por desktop quanto pela web?

E aê pessoas!!

Bem, acho que se eu tivesse que decidir em um cenário como estes, com certeza eu utilizaria EJBs rodando num JBoss.
Assim você poderia fazer seu client ser Desktop ou Web. Aliás, até um Palm de repente… rs!!
Alguém mais se habilita??

Abraços!!!

"

Marcos, entendi, mas que tipo de clientes podem se copnectar com este servidor ? Só clientes java ou por exemplo o flex também ?

Um servidor de aplicação é um servidor web com algumas funcionalidades extras(compatível com JEE).

A idéia é usar um servidor web convencional: Jetty, Tomcat e partir para um Servidor de aplicações (JBoss, etc) apenas se você de fato for precisar de algo que ele oferece.

Lembrando que o desenvolvimento num servidor web(especialmente no jetty) tende a ser mais fácil que num servidor de aplicações.

Muitas vezes essa nomenclatura(tosca a meu ver) confunde o iniciante. A pessoa pensa “Quero fazer uma aplicação web, logo precisarei de um servidor de aplicações” na verdade não é bem por ai.

Se você vai usar EJB(não inclua JPA aqui), Stateful Session Beans,Stateless Session Beans ou Message-Driven Beans então é bom que você use um servidor de aplicações.

Essa escolha vai variar em função do que você precisará para seu projeto, mas sempre pressuponha que você vai precisar apenas do mais simples(um servidor web) e vá para um servidor de aplicações apenas se de fato você for precisar de um.

Fica ai minha dica.

Espero que ajude.

Grave, pode ser que eu eteja falando besteira, mas o que eu vejo de diferença entre servidor web e servidor de aplicação é a performance, visto que o servidor web tem que ficar fazendo o parse das informações e o servidor de app não.

Tô certo ?

[quote=silfar]Grave, pode ser que eu eteja falando besteira, mas o que eu vejo de diferença entre servidor web e servidor de aplicação é a performance, visto que o servidor web tem que ficar fazendo o parse das informações e o servidor de app não.

Tô certo ? [/quote]

Oi Silfar,

A quais informações você se refere?

"

Marcos, entendi, aora ficou claro.
É como vc falou a diferença é em conectar com IP sem precisar de um servidor WEB, soap precisa de servidor web, e é um pouco mais lento que a comunicação direta por ip, mas acho que essa diferença não é tão significativa.

Na opinião de vcs qual o melhor protocolo a usar na cominicação entre cliente e server é soap mesmo ?

Acredito que o melhor que tem pra Flex é usando protocolo AMF. Se você estiver usando Java no back-end, com BlazeDS fica bala :slight_smile: