Acerca de JBoss Seam, JPA, facelets, JNDI e JDBC, assinale ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - JPA, um framework utilizado na camada de persistência, define uma forma para mapear POJO (plain old Java objects) para um banco de dados.
A Java Persistence API (JPA) é um framework amplamente utilizado para gerenciar o mapeamento relacional de objetos em Java, facilitando a interação entre objetos Java e as tabelas de um banco de dados. Essa tecnologia fornece uma maneira padrão de persistir os POJOs, ou seja, objetos Java simples, sem lógica de negócios ou comportamentos especiais relacionados à persistência. Ela abstrai a complexidade do mapeamento direto de objetos para tabelas de banco de dados, fazendo uso de anotações ou arquivos XML para configurar esse mapeamento.
Essa alternativa está correta porque descreve apropriadamente o propósito da JPA, que é fornecer uma camada de abstração para o gerenciamento de dados em aplicações Java, permitindo que os desenvolvedores se concentrem na lógica de negócios em vez de detalhes específicos de acessos ao banco de dados.
É importante entender os conceitos errôneos apresentados nas outras alternativas para validar a escolha da alternativa correta:
A alternativa B está incorreta porque o JDBC é uma API para conexão com bancos de dados, e não está vinculada exclusivamente a bancos de dados orientados a objetos, mas sim a qualquer tipo de banco de dados relacional.
A alternativa C está incorreta porque JBoss Seam é um framework que integra várias tecnologias, como EJB3 e JSF, e não um framework ORM. O mapeamento objeto-relacional é uma característica da JPA, não do JBoss Seam.
A alternativa D está incorreta porque Facelets é uma tecnologia de view para JSF (JavaServer Faces) que usa XHTML para definir a interface de usuário, e não tem relação com JNDI ou mecanismos de integração e localização de serviços de nome.
A alternativa E está incorreta, pois confunde os conceitos ao dizer que o JNDI é parte do projeto de JSF. Na verdade, JNDI é uma API para acessar serviços de diretórios, como LDAP, e não está especificamente relacionada a XHTML ou JSF.
Entender cada uma dessas tecnologias e seu papel dentro do ecossistema Java EE é crucial para resolver questões como esta. A JPA lida com a persistência de dados, JDBC provê conectividade para bancos de dados, JBoss Seam é um framework para desenvolvimento de aplicações, Facelets é uma tecnologia de template para JSF, e JNDI é usado para acessar diversos tipos de serviços de diretório.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
OK, é possível acertar por eliminatória, mas JPA é framework ou é uma API que faz parte da especificação JEE? Ou, ainda, nesse contexto, aceita-se caracterizar JPA como framework?
Em princípio, entendo que existem frameworks que implementam a especificação JPA.
Para contribuições...
Fui no mesmo passo do Maurício, inicialmente tomei a A como errada por falar em framework, porém após ler todas as alternativas, fui obrigado a ficar com a "A". Até fui confirmar se não era prova da FCC.
JPA é, por definição, uma API, mas por eliminação, como disseram os colegas, a resposta correta.
JDBC, uma biblioteca vinculada a API da arquitetura JEE, define como um cliente pode acessar bancos de dados, sem necessariamente ser OO exclusivamente.
O [errado] JBoss Seam[/errado] Hibernate é um framework ORM (object-relational mapping) utilizado em aplicações que facilitem as operações de persistência de objetos em bancos de dados relacionais por meio de uma conexão JDBC.
[errado]Facelets[/errado], Web Services (?) componentes da arquitetura J2EE, permitem localizar objetos, distribuí-los e integrá-los por meio dos mecanismos integração e localização de serviços de nome.
[errado]JNDI[/errado] Facelets, parte do projeto de JSF, utiliza XHTML como tecnologia de apresentação dos dados, possibilitando a separação entre as camadas de negócio e de controle. (uma espécie de template engine)
a-
O JPA fornece um conjunto de interfaces e classes para aplicações Java, fazendo parte da especificação JEE desde a versão 5.0.Permite a persistência do estado de qualquer classe Java, por anotações obrigatórias. Cria tabelas no banco de dados e operações de mapeamento objeto relacional, alem de criar as tabelas no banco de dados, ele automaticamente cria também os relacionamentos entre elas e FK's de acordo com as anotações de associação e navegabilidade
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo