Questão nº 33
Questão de Tecnologia da Informação · FCC TRT4 2022 (nº 33)
O Spring Boot trouxe um modelo de tempo de execução baseado em um arquivo autônomo, que para ser iniciado não necessita de um servidor Web Java EE instalado separadamente, como o Apache Tomcat, favorecendo a execução da aplicação em um contêiner Docker, por exemplo. Este arquivo autônomo é conhecido como
- Afat JAR file. (alternativa correta)
- Bcompressed WAR file.
- Cslim WAR file.
- Dfat WAR file.
- Eslim JAR file.
Resposta comentada
Gabarito Alternativa A
O Spring Boot revolucionou a forma de empacotar aplicações Java, permitindo que elas sejam executadas de forma independente, sem a necessidade de instalar um servidor web como o Apache Tomcat separadamente. Isso é possível porque a aplicação é empacotada em um único arquivo que contém tudo o que precisa para rodar, incluindo um servidor web embarcado.
(A) Correta: O _fat JAR file_ (ou JAR executável) é o arquivo autônomo que o Spring Boot gera. Ele inclui não apenas o código da sua aplicação e suas dependências, mas também um servidor web embarcado (como Tomcat, Jetty ou Undertow). Isso permite que a aplicação seja iniciada diretamente com `java -jar sua-aplicacao.jar`, sem a necessidade de um servidor web externo previamente instalado, facilitando a execução em ambientes como contêineres Docker.
(B) Incorreta: Um _compressed WAR file_ não descreve o modelo de empacotamento autônomo. Embora todos os arquivos WAR sejam compactados (são essencialmente arquivos ZIP), essa descrição não aborda a inclusão de dependências ou de um servidor web embarcado.
(C) Incorreta: Um _slim WAR file_ é um arquivo WAR que contém apenas o código da aplicação, sem as suas dependências. Ele depende de um servidor web externo e de que as dependências sejam fornecidas pelo ambiente de execução, o que é o oposto do modelo autônomo do Spring Boot.
(D) Incorreta: Um _fat WAR file_ é um arquivo WAR que inclui todas as dependências da aplicação. Embora ele empacote as dependências, um arquivo WAR ainda é projetado para ser implantado em um servidor de aplicação Java EE (mesmo que embarcado). A questão se refere a um arquivo autônomo que não necessita de um servidor Web Java EE instalado separadamente. O _fat JAR_ é a forma mais direta e característica de atingir essa autonomia completa, pois ele próprio é o executável que contém o servidor, enquanto o WAR, por sua natureza, ainda se encaixa na categoria de "aplicação web" para um contêiner. A armadilha aqui é que "fat" sugere inclusão de dependências, mas o formato WAR ainda implica um modelo de implantação ligeiramente diferente do JAR executável autônomo.
(E) Incorreta: Um _slim JAR file_ é um arquivo JAR que contém apenas o código da aplicação, sem as suas dependências. Ele não seria autônomo e exigiria que as dependências fossem gerenciadas externamente, o que é o oposto do modelo de empacotamento do Spring Boot para execução independente.
Fonte: FCC TRT4 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.