Servidor de aplicação? Glassfish?

Estou começando a estudar Java para web e gostaria que alguém explicasse o que é um servidor de aplicação e como ele funciona e tambem dizer para que serve o Glassfish. Agradeço quem poder mi responder

Servidor de Aplicacao eh um software que te fornece alguns “servicos” comuns, geralmente considerados servicos de “infraestrutura”. Por exemplo, se voce tem uma aplicacao que lida com compra e venda de acoes, pq vc deveria se preocupar com “logging”, ou em como transformar os “requests HTTP” em objetos Java? Quando se fala em “JEE” (ou J2EE, para os mais antigos), significa que estamos falando de uma serie de padroes comuns que devem ser implementados pelos “Servidores de Aplicacao”. Entao, voce faz o seu codigo seguindo este padrao e vc tem acesso as implementacoes especificas do seu Application Server, como “Logging”, “JTA”, “EJB”. Em tese, se vc seguiu a risca os padroes, vc pode ir de um “Application Server” para outro sem mudar nada no seu codigo.

Existem alguns softwares que nao implementam todos os padroes, como Tomcat, e sao por vezes chamados de “servlet containers”.

Dentre os servidores de aplicacao que implementam todos os padroes, estao Glassfish (open source), JBoss AS (open source), WebSphere e WebLogic.

Eu sugiro que vc leia o livro “JBoss in Action”, caso voce ja tenha pouca experiencia com Java. Mas voce deve saber razoavelmente bem sobre Java (programacao em geral) e sobre como as coisas funcionam na internet (protocolo HTTP, por exemplo). Alguma experiencia com programacao “server side” tambem sera de boa valia :wink: