Olá a todos,
Comecei a estudar J2E a pouco tempo, e lendo algumas coisas fiquei com uma dúvida, um conteiner tem a mesma função de um servidor de aplicação tipo JBoss??
Agradeço a todos
Olá a todos,
Comecei a estudar J2E a pouco tempo, e lendo algumas coisas fiquei com uma dúvida, um conteiner tem a mesma função de um servidor de aplicação tipo JBoss??
Agradeço a todos
De uma maneira geral o container normalmente roda apenas jsp e servlet. Enquanto um servidor de aplicação roda toda a especificação do java ee
Então o conteiner seria um servidor de aplicação só que com menos recursos(tipo o tomcat?).
Bom, não é bem assim… existe uma confusão nos conceitos de Container Web, Servidor Web e Servidor de Aplicação Web. Um Servidor Web guarda informações da aplicação web e o bd, mas ele não resolve os problemas da inteligência da aplicação web. Se a aplicação web for somente HTML puro mais imagens estáticas, dados que não passam por tratamento, submissão de formulários, então um servidor web por si só resolve.
Porém, se é uma aplicação java, por exemplo, e que contém submissão de formulários, requests, responses, sessões, DAOs, BEANS, Actions (no caso de Struts), Managed Beans (no caso de JSF), ou seja, existe uma inteligência por trás do sistema, então é necessário executar no servidor uma estrutura que roda essa inteligência do sistema (como o seu IDE faz para rodar a aplicação na sua máquina). Esse cara é o Container Web. É o cérebro do servidor, por assim dizer.
Já um Servidor de APLICAÇÃO Web é a junção destas duas coisas: ele tem um Servidor Web e Containers Web dentro dele.
Um SERVIDOR DE APLICAÇÃO WEB, como GlassFish, WebSphere, JBoss, dá suporte a vários recursos do pacote JEE, como o EJB. Isto porque ele possui, além de um Container WEB, um Container EJB.
Já um Container Web, como TomCat, fornece recursos a somente um tipo de aplicação, mais básica. Tom Cat não dá suporte, por exemplo a EJB ou Spring, porque ele é um container WEB, não um cointainer EJB, sacou?
Então concluímos que não é como você disse, “o container é um servidor de aplicação, mas com menos recursos”, e sim: um Servidor de Aplicação possui vários containers, enquanto o TomCat é um Container só.
Bom, não é bem assim… existe uma confusão nos conceitos de Container Web, Servidor Web e Servidor de Aplicação Web. Um Servidor Web guarda informações da aplicação web e o bd, mas ele não resolve os problemas da inteligência da aplicação web. Se a aplicação web for somente HTML puro mais imagens estáticas, dados que não passam por tratamento, submissão de formulários, então um servidor web por si só resolve.
Porém, se é uma aplicação java, por exemplo, e que contém submissão de formulários, requests, responses, sessões, DAOs, BEANS, Actions (no caso de Struts), Managed Beans (no caso de JSF), ou seja, existe uma inteligência por trás do sistema, então é necessário executar no servidor uma estrutura que roda essa inteligência do sistema (como o seu IDE faz para rodar a aplicação na sua máquina). Esse cara é o Container Web. É o cérebro do servidor, por assim dizer.
Já um Servidor de APLICAÇÃO Web é a junção destas duas coisas: ele tem um Servidor Web e Containers Web dentro dele.
Um SERVIDOR DE APLICAÇÃO WEB, como GlassFish, WebSphere, JBoss, dá suporte a vários recursos do pacote JEE, como o EJB. Isto porque ele possui, além de um Container WEB, um Container EJB.
Já um Container Web, como TomCat, fornece recursos a somente um tipo de aplicação, mais básica. Tom Cat não dá suporte, por exemplo a EJB ou Spring, porque ele é um container WEB, não um cointainer EJB, sacou?
Então concluímos que não é como você disse, “o container é um servidor de aplicação, mas com menos recursos”, e sim: um Servidor de Aplicação possui vários containers, enquanto o TomCat é um Container só.
Valeu marcuscarvalho1, exelente a sua explicação muito obrigado mesmo. obrigado otaviojava tambem pela força.
coloca o assunto como resolvido.
seria uma boa editar o título para algo mais sugestivo, o tema aqui é realmente interessante. muitos desenvolvedores não entendem complementamente essas particularidades.