SóProvas


ID
2518306
Banca
FCC
Órgão
TRE-PR
Ano
2017
Provas
Disciplina
Arquitetura de Software
Assuntos

Aplicações Java EE usam o modelo cliente-servidor, distribuindo as tarefas e cargas de trabalho entre os fornecedores de um serviço (servidores) e os requerentes dos serviços (clientes). Nestas aplicações,

Alternativas
Comentários
  • O gabarito é a letra D.

     

    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.

  •  a) componentes EJB e JPA são executados no lado do cliente, assim como páginas web criadas com HTML e JSP. (já elimina por dizer que é cliente)

     b) componentes JSP e Servlet são executados na JVM instalada no lado cliente e integrada ao navegador do usuário. (já elimina por dizer que é cliente)

     c) componentes de implantação WAR contém arquivos JAR, EAR, XML, EJB, JSF, servlet e páginas web. (da para eliminar com certeza quando fala que contém arquivos EJB)

     d) um servidor de aplicação padrão normalmente contém um contêiner web e um contêiner EJB. (Correto)

     e)o Tomcat é a implementação de referência para servidor de aplicação, suportando JSP, Servlet, EJB, JPA, JSF e JMS. (Tomcat não suporta EJB, EJB roda no JBoss)

  • Em relação a letra (e) tenham em mente o seguinte: a implementação JEE de referência é o GlassFish e não o Tomcat. Anos atrás o Tomcat foi implentação referência de container servlet. Como já explicado pelos colegas o Tomcat nem vem com container EJB, então não tem como ele ser implementação referência de servidor de aplicação JEE, embora muitas empresas insistam em utilizá-lo ainda.

     

    https://javaee.github.io/glassfish/

  • termo correto para tomcat é servlet container.

    As vezes as bancas ressaltam essa diferença, as vezes elas chamam de servidor

  • componentes EJB JPA sao camada negocios

    componentes JSP e Servlet são web

    Web Tier pode ser implementado em Servlet Containers, mini servidores de aplicação mais leves que não disponibilizam todos os serviços dos servidores de aplicação. O Apache Tomcat é um Servlet Container. Em muitas situações, é mais produtivo aplicações somente com Servlet Containers, colocando a lógica de negócio em Plain Old Java Objects (POJOs). É por isso que JEEServer é dividido em Web Tier e Business Tier.