Java J2EE: containers e padronização de serviços
Gabarito: Alternativa A. Ambas as asserções são verdadeiras e a II justifica corretamente a I. A arquitetura J2EE (Java 2 Enterprise Edition) define containers (Web, EJB) que fornecem serviços padronizados (transações, segurança, etc.) de forma independente do fornecedor, garantindo portabilidade. A II explica o objetivo da plataforma: padronizar e simplificar o desenvolvimento, oferecendo esses serviços para que o desenvolvedor foque no negócio – o que é exatamente a razão pela qual a I é verdadeira.
Asserção I — ✅ Verdadeira
Um componente J2EE (servlet, EJB, etc.) deve ser instalado no container apropriado. O container é um ambiente padronizado que provê serviços específicos ao componente, como gerenciamento de ciclo de vida, segurança, transações, etc. Como o container segue a especificação J2EE, o componente pode esperar que esses serviços estejam disponíveis em qualquer implementação de qualquer fornecedor (ex.: Oracle WebLogic, IBM WebSphere, Apache Tomcat para servlets). Isso é um dos pilares da portabilidade da plataforma.
Asserção II — ✅ Verdadeira
A J2EE foi criada para padronizar e simplificar o desenvolvimento de aplicações empresariais. Ela propõe um modelo em que componentes escritos pelo usuário fazem uso de serviços providos pela plataforma (os mesmos serviços do container), simplificando a implementação e permitindo maior foco na lógica de negócio. Isso está alinhado com o objetivo de reduzir a complexidade do desenvolvimento enterprise.
Relação entre as asserções — ✅ II justifica I
A II fornece a razão de fundo para a I: a padronização e a oferta de serviços simplificados explicam por que os containers existem e por que eles garantem a disponibilidade uniforme dos serviços. Sem a padronização proposta pela J2EE, não haveria a garantia de que um componente funcionaria em diferentes plataformas. Portanto, a II é uma justificativa correta e completa da I.
Gabarito: Alternativa A.