UM ESTUDO UTILIZANDO O ENTERPRISE
JAVABEANS (EJB)
Matheus Cardoso A.Silva1, Jaime William Dias1
1
Universidade Paranaense (UNIPAR)
– Paranavaí – PR – Brasil
[email protected], [email protected]
Resumo. Este artigo constitui de uma descrição de como funciona o
componente Enterprise JavaBeans, abordando suas principais características
e os benefícios que ele propõe ao desenvolvedor. O EJB é um componente que
auxilia o desenvolvedor em aplicações por possuir nele lógica de negócio, e
também por ser portável podendo reutiliza-lo em outras aplicações.
1. Introdução
O Enterprise JavaBeans (EJB) é um componente da plataforma J2EE e foi
desenvolvida pela Sun Microsystens, e tem como função de encapsular a lógica de
negócio de uma aplicação na camada web de um contêiner EJB [ORACLE, 2012].
Os benefícios gerados com a utilização do EJB em uma aplicação é que além
dele ser portável o desenvolvedor não precisa desenvolver a lógica de negócio ou banco
de dados, por que o EJB já contém lógica de negócio [ORACLE, 2012].
Session beans representa um conjunto de processos da lógica de negócio.
Existem três tipos de session: stateful, stateless e singleton.
O stateful mantem seu estado aberto enquanto durar a sessão EJB/cliente, pois o
cliente interage com EJB, assim determinado estado de conversação, no stateless ele
não mantem um estado conversacional com o cliente, pois dura somente enquanto ele
estiver sendo executando um método, o singleton é instanciado apenas uma vez por
aplicação, sendo muito parecido com o stateful [ORACLE, 2012].
O message-draven bean é um tipo de EJB que permite aplicações J2EE
processar mensagens assincronamente, parecido com um listener, ele é acessado através
de um serviço de mensagens Java Message Service (JMS) mediante ao recebimento de
uma mensagem vinda do cliente assincronamente via stateless [ORACLE, 2012].
O objetivo deste artigo visa mostrar como o funciona o componente Enterprise
JavaBeans, empregada no desenvolvimento de uma aplicação web.
2. O que é Enterprise JavaBeans?
Enterprise JavaBeans (EJB) é um componente da plataforma J2EE e foi desenvolvida
pela Sun Microsystens, sendo uma arquitetura de componentes de um servidor que
encapsula a lógica de negócio de uma aplicação. A logica de negócio é um código que
preenche os objetivos da aplicação na camada web de um contêiner EJB [ORACLE,
2012].
A Figura1: mostra a como funciona as características do Enterprise JavaBeans.
Figura 1. Mostra detalhadamente as funcionalidades do EJB
[MINDPROD, 2013].
3. Benefícios do Uso de EJBs
Os benefícios do uso do EJB implicam diretamente no desenvolvimento de uma
aplicação assim: [ORACLE, 2012]



O desenvolvedor se concentra em resolver problemas de negócio. O contêiner
EJB faz os serviços de gestão como transações e autorizações de segurança;
O desenvolvedor da aplicação pode concentrar na apresentação, pois o EJB
contém a lógica de negócios assim não precisando desenvolver regras de
negócio ou banco de dados de acesso, tornado a aplicação mais leve;
O EJB é portável, assim podendo reutilizar em outras aplicações.
4. Session Beans
Session beans representa um conjunto de processos de lógica de negócio que pode ser
chamada por um cliente de maneira local, remota ou via web service. Existem três tipos
de session bean sendo: [ORACLE, 2012]



Stateful: as instâncias do session bean tem um estado de conversação que são
mantidos nos métodos e operações.
Stateless: as instâncias do session bean não contem nenhuma conversação entre
os métodos qualquer instância pode ser usada para qualquer usuário.
Singleton: a instância do session bean é única e é compartilhado entre todos os
usuários e suporta acesso simultâneo.
4.1 Session Stateful
O session stateful mantem as informações de um estado entre um cliente e o EJB,
mantendo-se aberto enquanto durar a conexão entre eles, assim determinando um estado
de conversação. Então: [ORACLE, 2012].


O estado de um determinado EJB mantem interação entre o EJB e um usuário
somente enquanto a conexão estiver aberta;
O EJB necessita manter as informações do usuário entre a chamada dos
métodos.
A Figura2: mostra como o cliente1 no primeiro método de negócio recebe „A1‟
até o cliente completar a chamada do método, a sessão ira usar a mesmo bean
instanciado trabalho em seu estado.
Figura2. Mostra um exemplo de como funciona do session stateful
[THEOPENTUTORIALS, 2012].
4.2 Session Stateless
Este EJB não mantem não matem informações de uma sessão ou usuário na chamada de
um método. Dessa forma o stateless proporciona melhor desempenho que o stateful,
porque cada instância do session stateless pode ter vários usuários e o stateful um de
cada vez. Este tipo de session se sobressai melhor em aplicações que requerem um
número grande de clientes. Assim: [ORACLE, 2012]


Faz uma única chamada de métodos, assim o EJB realiza uma tarefa para todos
os clientes;
O EJB implementa um web service;
A Figura3 mostra como vários clientes pode obter a mesma instância, porém não
ao mesmo tempo. Por exemplo, o cliente3 pode instanciar „A3, após a conclusão
o pedido do cliente4 também pode ser atribuído „A3‟.
Figura3. Mostra um exemplo de como funciona o session stateless
[ THEOPENTUTORIALS, 2012].
4.2 Session Singleton
Foi criado somente na versão 3.1 do EJB, ele é instanciado apenas uma vez por
aplicação que existe durante o seu ciclo de vida. Foi desenvolvido para quanto uma
única instância do EJB é compartilhada e concorrentemente acessada por clientes. É
parecido com um o EJB session stateful, porem a instancia é única. É utilizado quando:
[ORACLE, 2012]


O estado tem que ser mantido durante a execução da aplicação;
Um único EJB precisa ser acessado por múltiplos threads concorrentemente
A Figura4 mostra o singleton recebendo uma requisição somente depois de ler e
atualizar esta uma requisição, sendo instanciado uma única vez.
Figura 4. Mostras mostra o singleton sendo instanciado uma única vez
[OREILLY, 2010].
5. Message-draven Bean
São EJBs que permitem a aplicações J2EE processar mensagens assincronamente
parecido com um listener, porém ele não recebe um evento e sim mensagens da
aplicação [ORACLE, 2012].
O Massage-draven Bean é acessado através de um serviço de mensagens (JMS),
enviando mensagens ao messageListener. Eles são mediante ao recebimento de uma
mensagem vinda do cliente assincronamente via stateless [ORACLE, 2012].
Quando uma mensagem chega ao contêiner chama o método onmessage do
message-driven bean, depois chama os métodos auxiliares helper methods processando
de maneira transacional, esse tipo de EJB não é acessado via interface como session
beans, possuindo apenas uma classe bean [ORACLE, 2012].
6. Metodologia
A metodologia do trabalho apresentado foi realizada através de pesquisa bibliográfica
onde foram levantadas as informações sobre o conhecimento, desempenho e eficiência
do framework EJB.
7. Conclusão
O componente EJB supre suficientemente no desenvolvimento de uma aplicação por
torna-la mais fácil, não necessitando desenvolver regras de negócio por já vim em
conjunto com componente.
Este artigo abordou como funcionam o componente EJB e quais são os seus
benefícios de sua utilização, assim conclui-se que este componente contribuiu no
desenvolvimento da aplicação tornando a mais fácil por ser conter a lógica de negócio e
ser portável e flexível em sua utilização.
O objetivos do sistema foram suprido devido aos benefícios gerados com a
utilização da tecnologia Enterprise JavaBeans, pois o tempo economizado no controle
das transações contribuirão para o sucesso do sistema, assim superando as expectativas
do mesmo.
Referencias
ORACLE
“Understanding
Oracle
WebLogic
Server”
disponível
http://docs.oracle.com/cd/E24329_01/web.1211/e24446/ejbs.htm#CIHEFECG
em
MINDPROD (2012) “Enterprise Java Beans” http://mindprod.com/jgloss/ejb.html
acessado em 15 de julho de 2013.
THEOPENTUTORIALS, 2012 “session stateful” http://theopentutorials.com/wpcontent/uploads/stateful-session-bean-state-management_1946/stateful-session-beanstate-management.jpg?5b264b acessado 15 de julho de 2013.
THEOPENTUTORIALS, 2012 “session stateless” http://theopentutorials.com/wpcontent/uploads/stateless-session-bean-pooling_1983/stateless-session-beanpooling.jpg acessado em 15 de julho de 2013.
OREILLY,
2010
“session
stateless”
http://answers.oreilly.com/uploads/monthly_10_2010/post-2018-128828011196.jpg
acessado em 26 de julho de 2013.
Download

Matheus Cardoso Atunes da Silva