Conceito
Já faz tempo que a plataforma Java prega alguns conceitos importantíssimos no desenvolvimento de componentes de software, são eles: baixo acoplamento, escalabilidade, disponibilidade, integridade, iteroperabilidade, além de outros.
A especificação EJB( Enterprise JavaBeans ) é de longe a especificação mais importante da plataforma JEE, promovendo toda a infraestrutura necessária para o desenvolvimento de componentes distribuídos, muiti-tiers, escaláveis e orientados a objeto.
Tipos
Essa especificação possui 3 (três) tipos fundamentais que são: Entity beans, Session Beans e Message Driven Beans:
Session Beans
Executa uma tarefa para o cliente. Pode manter o estado durante uma sessão com o cliente (Subtipo “Stateful”) ou não (Subtipo “Stateless”).
Message Driven Beans
Processa mensagens de modo assíncrono entre os ejb’s e cuja API de mensagens é Java Message Service (JMS).
Entity Beans
Representa um objeto que vai persistir numa base de dados ou outra unidade de armazenamento.
Interfaces de Acesso
Para acessar os EJB é necessário definir as suas interfaces de acesso que são: Interface Local, Interface Remota ou Ambas. A Interface Local define o acesso ao bean somente no computador onde está sendo executado o servidor de aplicação. A Interface Remota define o acesso ao bean somente a computadores externos. E ambas define acesso ao bean tanto do computador com o servidor de aplicação ou computadores externos.
A evolução dos EJB
Nas primeiras versões do JEE, os componentes EJBs eram tidos pelos programadores como componentes dificeis de serem programados, não era por menos, ainda na sua versão 2.1, o uso extensivo de XML, associado a obrigatoriedade de se implementar várias interfaces, fez com que se escolhesse essa tecnologia apenas em casos mais críticos.
Com relação a evolução dessa tecnologia, podemos dizer que ela teve sua principal transformação na versão 3.0, com as principais melhorias:
· Uso Extensivo de anotações, reduzindo o número de classes e interfaces em que o programador era obrigado a implementar;
· Uso opcional do deployment descritor;
· Filosofia de “configuração por excessão”, assumindo configurações predefinidas;
· A “Business Interface” necessária aos session beans, não necessita mais ser de um dos tipos: EJBObject, EJBLocalObject ou java.rmi.Remote, podendo ser apenas uma simples Interface Java;
· Simplificação da persistencia de entidades através da Java Persistence API( JPA );
Atualmente a tecnologia EJB encontra-se na versão 3.1, sob a especificação JSR 318, lançada oficialmente no dia 10 de dezembro de 2009, que também trousse inúmeras facilidades ao desenvolvimento desses componentes, como por exemplo:
· Interfaces locais opcionais;
· O empacotamento e deployment de EJBs podem ser feitos diretamentes em arquivos WAR sem a necessidade de criação de um EJB-JAR;
· A possibilidade de usar EJBs de dentro de aplicações Java SE(Embeddable API);
· Possibilidade de chamar de forma assincrona métodos de um “Session Beans”;
· Criação automática de “EJB Timers”;
· As expressões utilizadas para configurar EJB Timers agora são baseadas na classe Calendar;
· Uma sintaxe global e portável para se fazer lookup de componentes EJB;
Um Exemplo do uso de Enterprise JavaBeans 3.1 utilizando Netbeans
Livros recomendados
Referencias
– Site Oficial
– Site Oficial JCP
-Wikipedia EJB
Data: 14 de Setembro de 2010
Autor: Natanael Fonseca