Escolar Documentos
Profissional Documentos
Cultura Documentos
Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente
web que acessa as funcionalidades do EJB. Foi utilizado o Eclipse Kepler e JBoss AS 7.1.
Sumrio
1.
Introduo............................................................................................................................. 2
1.1
1.2
2.
3.
4.
5.
6.
Concluso .............................................................................................................................. 7
1
www.gabrielamorim.com
1. Introduo
Enterprise Beans so componentes Java EE que implementam a tecnologia Enterprise
JavaBeans (EJB). Estes componentes rodam em um container EJB, dentro de um servidor
de aplicao, que fornece servios de transao e segurana de forma transparente para o
desenvolvedor.
Enterprise Beans rodam do lado servidor encapsulando a lgica do negcio da aplicao e
trazem inmeros benefcios. Primeiro, fornece servios de nvel de sistema, como
gerenciamento de transaes e segurana. Segundo, implementam a lgica do negcio e,
em times onde h diviso de camadas, favorece o foco do desenvolvedor em alguma
camada especfica. Terceiro, so componentes portveis e pode-se criar novas aplicaes a
partir de beans existentes.
1.1 Quando usar Enterprise Beans?
O uso de EJBs deve ser considerado quando:
Nas verses anteriores da especificao EJB 3, as verses EJB 2.x e EJB 1, havia um terceiro
tipo de Enterprise Bean, o Entity Bean. Eles foram substitudos pelas entities da JPA.
2
www.gabrielamorim.com
Ser aberta uma janela de configurao de projeto como a apresentada na figura 2. Escolha
um nome para o projeto no campo Project name e marque a opo Add project to an
EAR. A opo de adicionar o projeto a um EAR criar um arquivo EAR que conter o
projeto EJB recm-criado, desta forma, o deploy ser do arquivo EAR com o JAR que
contm os EJBs. Clique em Finish para concluir a configurao e criar o projeto.
Note na aba Project Explorer que foram criados trs projetos, MyEJBProject,
MyEJBProjectClient e MyEJBProjectEAR. Segue descrio de cada um dos projetos:
3
www.gabrielamorim.com
3. Criando um EJB
Clique com o boto direito sobre o projeto EBJ, MyEJBProject no caso, em seguida New >
Session Bean (EJB 3.x), como mostra a figura 3.
Ser aberta uma janela de configurao para o EJB a ser criado, conforme figura 4. Informe
o pacote do EJB e o nome da classe. Por default, o tipo do EJB Stateless sem interface (Nointerface view). Mantenha o EJB Stateless, mas altere a criao da interface (Create
business interface) marcando a opo Local e desmarcando a opo No-interface View.
Clique em Finish para criar o EJB e sua interface Local.
4
www.gabrielamorim.com
5
www.gabrielamorim.com
Este mtodo deve ser implementado no EJB. A listagem de cdigo 2 mostra o EJB com a
implementao do mtodo String getHelloMessage().
package com.gabrielamorim.myejb;
import javax.ejb.Stateless;
@Stateless
public class HelloBean implements HelloBeanLocal {
/**
* Default constructor.
*/
public HelloBean() {
}
@Override
public String getHelloMessage() {
return "Hello!";
}
}
Listagem de Cdigo 2 Implementao do EJB HelloBean
Aps estes passos, tem-se um EJB pronto para ser usado! A prxima sesso mostra como
usar o EJB HelloBean injetando-o em uma aplicao Web (em um Servlet) por meio da
anotao @EJB.
6
www.gabrielamorim.com
package com.gabrielamorim.myservlets;
import com.gabrielamorim.myejb.HelloBeanLocal;
@WebServlet("/ServletToEJB")
public class ServletToEJB extends HttpServlet {
private static final long serialVersionUID = 1L;
@EJB
private HelloBeanLocal helloBean;
public ServletToEJB() {
super();
}
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println(helloBean.getHelloMessage());
}
}
Listagem de Cdigo 3 Servlet injetando o EJB por meio da interface local
Atente-se para a anotao @EJB sob o atributo helloBean do tipo HelloBeanLocal. Esta
anotao injeta uma instncia do EJB HelloBean em helloBean. Basta fazer o deploy do
EAR em um container Web e EJB e acessar o ServletToEJB para ver a mensagem do EJB.
6. Concluso
Foi criado um projeto EJB com um EJB Stateless sendo exposto por uma interface local aos
seus clientes. O projeto EJB foi adicionado a um EAR, junto com o a biblioteca contendo a
interface local do EJB. Foi criado tambm um projeto Web para utilizar o EJB criado por
meio de um Servlet que teve o EJB injetado por meio da anotao @EJB. O projeto Web
tambm foi adicionado ao EAR, resultando assim em um nico deploy.
Este passo a passo teve o intuito de mostrar a criao e a utilizao de um EJB de forma
simples e objetiva, tendo como pblico alvo pessoas que j estudaram a teoria e que
ficaram confusos na hora de implementar um EJB na prtica.
7
www.gabrielamorim.com