Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

[Dúvida] VII - Port binding

o item VII - Port binding ficou um pouco confuso pra mim, por falta de exemplo. Como seria um exemplo? Em Java, por exemplo, como uma app web iria subir sem servidor web?

5 respostas

Tomcat, por exemplo, Gustavo.

Uma aplicação Spring já vem com o Tomcat "embutido", não vem? Quando você executa seu projeto, uma porta é "aberta" e a aplicação é disponibilizada, certo?

Isso, vem. Certo.

Mas a ideia desse item VII, é eu disponibilizar "na mão" essa porta? Sem depender de um servidor web, isso?

solução!

Ah, entendi sua dúvida. Beleza, vamos lá.

A ideia desse fator é não depender de nenhum serviço externo para que sua aplicação seja disponibilizada. Isso quer dizer, por exemplo, não depender do Tomcat. Uma ferramenta sugerida pelo próprio site no 12 factor apps é usar o Jetty no mundo Java.

Mas atualmente, o uso do Tomcat muitas vezes é abstraído (como no caso de uma aplicação Sprint) não se fazendo necessária nenhuma instalação adicional, então sua aplicação já está sendo disponibilizada por uma porta.

A necessidade desse fator é para garantir que a aplicação vai ser executada em qualquer ambiente de cloud, sem que você precise de um servidor web específico, entende? Mas nesse caso, seu Tomcat já libera a porta e recebe as conexões HTTP, então pode ter qualquer ferramenta de cloud na frente dele sem problemas. Fez sentido?

Fez sim Vinícius!!

Essa recomendação serve para que se fosse implementado uma app Java "na mão", sem o auxílio do Spring Boot, certo? Como o Spring já deixa isso transparente pra gente, esse item não faz tanto sentido, entendido agora kkkk muito obrigado

Isso aí. Se pra colocar sua aplicação no ar você precisasse, além de subir sua aplicação, configurar também algum outro serviço externo (Nginx, tomcat ou algo parecido), aí sim você estaria fugindo desse fator, entende? :-D