Entendendo as diferenças entre Web Servers e Application Servers.
O que veremos neste artigo?
- Conceito de server
- Web Server
- Usos do Web Server
- Application Server
- Usos do Application Server
Introdução
Caso você seja um desenvolvedor de software provavelmente já se deparou com esses termos: “Web Server”, “Servidor”, “Application Server”, “Servidor de Aplicação”, etc. A verdade é todos possuem um conceito bem parecido, podemos ter até uma falsa impressão de que todos se tratam da mesma coisa. Mas não é bem assim, esse artigo visa justamente clarificar cada conceito para você poder ter uma visão mais assertiva de cada componente e saber quando uti
lizar cada um. Vamos por partes…
Mas o que é um Server?
Um Server (ou servidor) é um componente físico (hardware) que possui um sistema (software) responsável por aceitar e responder requisições feitas através da rede, geralmente internet ou intranet (rede interna).
As requisições são feitas por outros dispositivos que possuem a localização do servidor. Os dispositivos podem ser computadores, celulares, tablets, dentre outros. Basicamente qualquer dispositivo que tenha acesso a rede e possa realizar requisições via algum protocolo de rede.
Essas requisições são pedidos de processamento ou de acesso de algum recurso que só o servidor pode prover.
Você só está lendo esse artigo agora porque seu computador, através do navegador, enviou uma requisição via protocolo http para os servidores do linkedin. E os servidores do linkedin, por sua vez , enviou como resposta uma página
Web Server
Web Server é um tipo de Server, porém ele é especialista em servir conteúdo estático.
A função principal de um Web Server é servir conteúdo estático, como HTML, CSS, JavaScript, imagens e outros arquivos. Ele lida com requisições HTTP e entrega respostas para o cliente (navegador).
O uso comum dos Web Servers é hospedar sites estáticos ou servir o frontend de aplicações web.
Aqui o server não lida com processamento de regras de negócio. É bem comum web servers trabalharem em conjunto com Applications servers passando a responsabilidade para eles e aguardando a resposta (já iremos ver do que se trata).
Exemplos de Web Server
- Apache HTTP Server
- NGINX
- Microsoft IIS
Application Server
O Application Server também é um tipo de server, porém a especialidade dele é gerenciar e executar aplicações, servindo conteúdo dinâmico gerado por scripts, como Java, .NET, Python, Ruby, etc. Além disso, ele é responsável por executar lógica de negócios e interagir com o banco de dados.
É no Application Server que “deployamos” o nosso backend!
O uso comum dos application servers é hospedar aplicações complexas que requerem processamento de lógica de negócio, como APIs, microsserviços, e outras aplicações corporativas.
O Application server além de executar o processamento das regras de negócio, também fornece segurança, gerenciamento de conexões e gestão de transações.
Exemplos de Application Server
- Apache Tomcat
- JBoss
- WebSphere
- GlassFish
Trabalho em equipe
Web servers normalmente operam em conjunto com um application server. Quando temos aplicações web completas, frontend e backend, normalmente esses servers trabalham em conjunto cada um realizando a sua especialidade.
Conclusão
Durante esse artigo, passamos pelo conceito de server e como ele está presente no nosso dia a dia. Além disso, nos aprofundamos nos tipos de servidores mais comuns nas aplicações web da atualidade, web server e application server, sendo um responsável por servir conteúdo estático e o outro responsável por gerenciar aplicações e processar regras de negócio.