Dúvida sobre JNDI e EJB

Estou estudando para um concurso que irá cai JNDI e EJB. Li alguns artigos e apostilas falando sobre o assunto, A minha dúvida é :

JNDI serve para criar conexão e permissão para servidor de arquivos
EJB é indicado para criação de sistema com alto grau de complexidade

Vamos lá :

Resumidamente …

Cada container EJB que é implantando em um servidor de aplicação tem seu proprio registro interno chamado de ENC, este ENC é
implementado pelo JNDI e é um local em que o Container mantem referencias especificas ao seu ambiente.
ENC é um contexto no mundo JNDI, É como um alias que faz referencia no Container EJB.
Cada bean tem seu ENC, o ENC é controlado pelo container e alcançado por beans usando JNDI.

Respondendo suas perguntas

Não serve para criar conexão, ele serve para buscar recursos gerenciados (DataSource, fabricas JMS , CICS , etc) no ENC do container EJB

Não necessariamente, hoje existe uma versão do EJB lite que pode ser usado se forma simples e leve.

Sim, mas também nem todos os cenários complexos. Eu jamais usaria EJB sem real necessidade, ignorantemente falando muitas vezes pode ser um obstaculo tecnico a mais sem necessidade. Mas o erickfm8 tem a resposta mais equilibrada.

Não existe receita de bolo, mas fazer o melhor possível para a evolução continua do projeto e deixando o cliente satisfeito.

Antes da versão do EJB 3.x, realmente o desenvolvimento era maçante e difícil e devido a isso o EJB levou essa fama que impregnou até hoje.

Hoje o desenvolvimento com EJB é não é difícil, e ainda temos a opção de usar o Java EE6 web profile com suporte apenas para EJB Lite, que torna o EJB mais simples ainda.

Porem, novamente referente a sua pergunta, eu acredito que o pessoal que projetou a prova espera um “Sim” como uma resposta correta

Valeu pela ajuda