Bom dia galera, tive uma prova na faculdade e não consegui responder a uma pergunta:
Qual a diferença entre Web Server, Web Container e Application Server? Cite exemplos.
Agora ja se foi, mas eu quero saber isso, alguem pode me ajudar?
Bom dia galera, tive uma prova na faculdade e não consegui responder a uma pergunta:
Qual a diferença entre Web Server, Web Container e Application Server? Cite exemplos.
Agora ja se foi, mas eu quero saber isso, alguem pode me ajudar?
nao querendo ser chato, vc chegou ao usar o google?
flw!
Sim, procurei.
Consigo achar definições separadas, as não tenho experiência o suficiente pra dizer as diferenças entre um e outro corretamente.
Achei diversas coisas, mas tenho duvidas.
Web Service - serviço que integra programas e aplicações a outros programas e aplicações, especialmente quando estes são desenvolvidos usando diferentes linguagens, ferramentas ou plataformas através de XML.
WebContainer - servidor que disponibliza um Web Service porém não roda EJB
Application Server - WebContainer que roda EJB
Esta correto?
[quote=spdio]Bom dia galera, tive uma prova na faculdade e não consegui responder a uma pergunta:
Qual a diferença entre Web Server, Web Container e Application Server? Cite exemplos.
[/quote]
Web Server - Servidor Web - é uma software que conversa com browsers via HTTP e presa pela escalabilidade.
Ou seja, aguenta falar com muitos bowsers ao mesmo tempo. Exemplo: Apache Web Server.
Ele apenas usa o protocolo HTTP e envia ao browser contudo estático tal como páginas html, imagens, videos, etc…
Não ha programação do lado do servidor.
O ambiente de um Web Server é meio que inutil sem uma mecanismo dinâmico. Por isso inventou-se o CGI uma forma de anexar programas às requisições HTTP. Com isso contruiram-se vários CGI engines (motores) que são baseados em diversas linguas C, Perl , Python, etc… Em java o motor CGI é padronizado pela especificação de Servlets. Os servelts são classes que o programador cria para manipular a requisição HTTP ( principalmente, embora, em tese, possa trabalhar com outros protocolos).
O Web Container é uma forma de se referir ao ambiente onde os Servlets rodam. É incluso um mecanismo de CGI e processamento de HTTP. A diferença entre Web Server e Web Container é que Web Server é generico para qualquer tecnologia e se refere a um produto, normalmente. Web Container é um peça da especificação de Servlets e só existe em Java. Normalmente os ofwares que implementa web containers implementam um forma de web server para poder tratar o HTTP ou ganchos para se amarrarem a um web server real. Por exemplo, o Tomcat pode ser usado como motor CGI do Apache Web Server.
O Web Container é essencialmente um ambiente que controla Servlets. Coloquialmente o signfiicado é extendido para se referir a todo o software incluindo o mini web server incluido. Especialmente quando se fala do Tomcat como produto independente.
Application Server - Servidor de Aplicação - é o resultado da especificação java EE. É um software que contém um Web Container, um EJB Container , acesso JNDI e JMS ambiente tansacional com JTA e muitas outras tecnologias como Java Mail , JDBC e CORBA que juntas formam o ambiente EE.
Servidores de Aplicação são mais completos, complexos e robustos que um Web Container sozinho principalmente pelo que podem fazer ( por exemplo, suporte a EJB). EJB é especificamente recomendando quando existe uma demanda muito forte de transações e/ou distribuição. Historicamente a distribuição ficou meio que na gaveta quando a maioria das distribuições enveredou pelos webservices ( que o AS tb permite) e deixou de lado a distribuição de objetos. Então, hoje, usam-se EJB quando ha muito necessidade de controlar transações.
Quase todas as tecnologias presentes no AS podem ser usadas fora dele, portanto o AS não passa de um ambiente que garante certos requisitos de infraestrutura e especificação EE.
[quote=spdio]Sim, procurei.
Consigo achar definições separadas, as não tenho experiência o suficiente pra dizer as diferenças entre um e outro corretamente.
Achei diversas coisas, mas tenho duvidas.
Web Service - serviço que integra programas e aplicações a outros programas e aplicações, especialmente quando estes são desenvolvidos usando diferentes linguagens, ferramentas ou plataformas através de XML.
WebContainer - servidor que disponibliza um Web Service porém não roda EJB
Application Server - WebContainer que roda EJB
Esta correto?
[/quote]
WebService - exemplo SOA
WebContainer = TomCat
Application Server = Glassfish
EJB vc usa para separar a camada de negocio da apresentacao… agora procure sobre as tecnologias acima que vai encontrando e montando o quebra-cabeça… acho a melhor forma de aprender…
flw! espero estar contribuindo para sua carreira dessa forma!
abraço!
http://camilolopes.wordpress.com nesse meu blog tem sobre SOA.
De uma forma bem simples, é o seguinte:
Web Server - Um “servidor de páginas”. Atende a requisições HTTP, fornecendo conteúdo estático como: páginas HTML, figuras, arquivos em geral para download.
Web Container - Serviço que gerencia e executa componentes de criação de conteúdo dinâmico (exemplo: Servlets, páginas JSP). É uma parte da especificação Java EE.
Esses dois acima trabalham juntos da seguinte forma: Os clientes (browser) fazem a requisição para um Web Server. Dependendo do que for solicitado o Web Server aciona o Web Container para criação de conteúdo dinâmico.
Application Server - Não tenho certeza dessa definição, mas acredito ser um servidor que atenda toda a especificação Java EE. Ou seja, um serviço que contém Web Container + Container EJB + JNDI + outras coisinhas…
Importante! Web SERVICE é um outro assunto, não confunda com Web Server!
E como foi dito pelo colega, dê uma pesquisada para obter algumas definições mais completas.
EDIT: Não tinha visto que a questão foi respondida em mais detalhes pelo sergioTaborda, os posts foram quase ao mesmo tempo…
[quote=spdio]Sim, procurei.
Consigo achar definições separadas, as não tenho experiência o suficiente pra dizer as diferenças entre um e outro corretamente.
Achei diversas coisas, mas tenho duvidas.
Web Service - serviço que integra programas e aplicações a outros programas e aplicações, especialmente quando estes são desenvolvidos usando diferentes linguagens, ferramentas ou plataformas através de XML.
WebContainer - servidor que disponibliza um Web Service porém não roda EJB
Application Server - WebContainer que roda EJB
Esta correto?
[/quote]
acho que vc procurou errado…primeiro vc perguntou sobre web server, e depois colo a definição que encontrou de web service…
Muito bem explicado.
Muito obrigado a todos, não tenho mais duvidas.
Agora ja tem mais noção do que utilizar para diferentes tipos de projetos.
Eu vou começar a desenvolver um pequeno portal JEE, preciso de coneúdo dinâmico, porém vou utilizar poucas “tecnologias”, vou usar Tomcat.
Galera, novamente muito obrigado a todos, em breve vou manjar de tudo igual a vocês, hehe.
Abraços