Resumo de Arquitetura de Software - Servidores de Aplicação

Servidores de Aplicação

Servidores de Aplicação: Conceito

Servidores de aplicação são plataformas intermediárias entre o usuário (cliente) e os sistemas back-end (bancos de dados, serviços empresariais). Eles gerenciam lógica de negócio, segurança, transações e comunicação em aplicações distribuídas, seguindo modelos como Java EE ou .NET.

Principais Funções

  • Gerenciamento de Ciclo de Vida: Controla a execução de aplicações (inicialização, processamento, encerramento).
  • Comunicação: Facilita interação entre clientes (web, mobile) e recursos back-end.
  • Segurança: Autenticação, autorização e criptografia (ex: JAAS no Java EE).
  • Transações: Coordena operações atômicas (ex: JTA - Java Transaction API).
  • Escalabilidade: Balanceamento de carga e clusters para alta disponibilidade.

Exemplos de Servidores

  • Java EE: WildFly (JBoss), GlassFish, WebLogic (Oracle).
  • .NET: IIS (Internet Information Services) com integração ASP.NET.
  • Open Source: Apache Tomcat (para aplicações web, mas com limitações em serviços EE).

Diferença para Servidores Web

Servidores web (ex: Apache HTTP Server, Nginx) entregam conteúdo estático e dinâmico (via CGI/plugins), enquanto servidores de aplicação executam lógica complexa, gerenciam componentes EJB, JMS, e outros serviços empresariais.

Termos-Chave para Concursos

  • EJB (Enterprise Java Beans): Componentes de negócio em Java EE.
  • JNDI (Java Naming and Directory Interface): Serviço de diretório para localizar recursos.
  • Deploy: Processo de implantação de aplicações no servidor.
  • Container: Ambiente runtime para componentes (ex: container EJB no WildFly).