Espero que este documento da Oracle ajude alguém como eu a entender o tópico do EJB de uma maneira simples.
O que é um bean corporativo? Escrito na linguagem de programação Java, um enterprise bean é um componente do lado do servidor que encapsula a lógica de negócios de um aplicativo. A lógica de negócios é o código que cumpre o objetivo do aplicativo. Em um aplicativo de controle de inventário, por exemplo, os beans corporativos podem implementar a lógica de negócios em métodos chamados checkInventoryLevel e orderProduct. Invocando esses métodos, os clientes podem acessar os serviços de inventário fornecidos pelo aplicativo.
Benefícios dos beans corporativos Por várias razões, os beans corporativos simplificam o desenvolvimento de aplicativos grandes e distribuídos. Primeiro, como o contêiner EJB fornece serviços no nível do sistema para beans corporativos, o desenvolvedor do bean pode se concentrar na solução de problemas de negócios. O contêiner EJB, em vez do desenvolvedor do bean, é responsável pelos serviços no nível do sistema, como gerenciamento de transações e autorização de segurança.
Segundo, como os beans, e não os clientes, contêm a lógica de negócios do aplicativo, o desenvolvedor do cliente pode se concentrar na apresentação do cliente. O desenvolvedor do cliente não precisa codificar as rotinas que implementam regras de negócios ou acessam bancos de dados. Como resultado, os clientes são mais finos, um benefício particularmente importante para clientes executados em dispositivos pequenos.
Terceiro, como os beans corporativos são componentes portáteis, o montador de aplicativos pode criar novos aplicativos a partir dos beans existentes. Esses aplicativos podem ser executados em qualquer servidor Java EE compatível, desde que eles usem as APIs padrão.
Quando usar beans corporativos Você deve considerar o uso de beans corporativos se o seu aplicativo tiver algum dos seguintes requisitos:
O aplicativo deve ser escalável. Para acomodar um número crescente de usuários, pode ser necessário distribuir os componentes de um aplicativo em várias máquinas. Não apenas os beans corporativos de um aplicativo podem ser executados em máquinas diferentes, mas também sua localização permanecerá transparente para os clientes.
As transações devem garantir a integridade dos dados. Os beans corporativos suportam transações, os mecanismos que gerenciam o acesso simultâneo de objetos compartilhados.
O aplicativo terá uma variedade de clientes. Com apenas algumas linhas de código, os clientes remotos podem localizar facilmente enterprise beans. Esses clientes podem ser magros, variados e numerosos.