Escolar Documentos
Profissional Documentos
Cultura Documentos
Slide 1
Palestrantes
Slide 2
Agenda
• Introdução
• Por que EJB
• Tipos de EJB
Slide 3
Características do EJB
Slide 4
Por que EJB ?
Slide 5
Por que EJB ?
Cliente
SOA / WS
Regras de
Negócio
web
Swing /
JavaFX
Web Browser Java Web
JVM + Container EE
Rede Local
Slide 6
Por que EJB ?
+regras
Controle Transacional
Escalabilidade
Segurança
Regras
de Negócio
Config. de Dados
Ambiente Legados
Middleware de
Mensagens
Slide 7
Por que EJB ?
Slide 8
Remote Method Invocation
javax.ejb
EJB Server / Container
TCP / IP java.rmi
Aplicação
Apresentação
Transporte
rede java.net
Slide 9
Tipos de EJBs
• Java EE 1.4
– Session Bean (Stateless/Stateful)
– Entity Bean (BMP/CMP)
– Message Driven Bean
• Java EE 5
– Session Bean (Stateless/Stateful)
– Message Driven Bean
Slide 10
EJB 3.x
• Tipos:
– Session beans (Stateless e Stateful)
– Message-driven beans
• Interface de negócio
– Local
– Remota
– Service Endpoint (web services)
• Classe de implementação do componente
– POJO somente com métodos do componente
• Uso simplificado
Slide 11
EJB 3.x
• Interface de negócio
– Anotada com o tipo da interface:
@Local (javax.ejb)
@Remote (javax.ejb)
@WebService (JAX-WS ) (javax.jws)
Slide 12
EJB 3.x
Slide 13
EJB 3.x
• Classe de implementação:
import br.com.globalcode.model.Item;
import java.util.*;
import javax.ejb.Stateful;
@Stateful
public class CarrinhoBean implements CarrinhoRemote {
List<Item> itens = new ArrayList<Item>();
Slide 14
Programação para EJBs
• Empacotamento / Deployment:
Slide 15
EJB 3.x
• Uso:
– Componentes são injetados dentro dos
clientes
– Anotações definem a dependência com o
componente
Slide 16
EJB 3.x
Injeção de dependência
Slide 17
Enterprise Java Beans 3.1
• JSR 318
– Melhora ainda mais EJBs 3.0
– Menor curva de aprendizado
– Maior simplicidade para aplicações menos complexas
– Novos recursos promissores
• Principais mudanças
– Novo componente Singleton Bean
– Melhoria no agendamento de tarefas
– Alternativa simplificada a MDBs
– Simplicidade no uso em aplicações Web / Desktop
Slide 18
EJB Lite
Slide 19
EJB Lite
EJB LITE EJB FULL
Interface Local/NoInterface SIM SIM
Interface Remota SIM
Stateless, Stateful, Singleton SIM SIM
JPA 2.0 SIM SIM
Chamadas Assíncronas SIM
MDBs SIM
Web Services EndPoints SIM
Compatibilidade EJB 2.x SIM
Interoperabilidade RMI-IIOP SIM
Timer Service SIM
Entity Beans SIM
CMT/BMT SIM SIM
Segurança Declarativa SIM SIM
Interceptors SIM SIM
Slide 20
Deploy de EJBs na camada Web
Slide 21
Deploy de EJBs na camada Web
JAVA EE 5 JAVA EE 6
jsp,
jsp, <<EJB>>
servlets,
servlets, CarrinhoCompras
img,
img, etc. <<EJB>>
jsp,
jsp,
servlets,
servlets, CarrinhoCompras
img,
img, etc.
ecommerce.wa carrinho.ja
r r
ecommerce.wa
r
ecommerce.ea
r
Slide 22
Conclusões
Slide 23
Mais Informações
http://www.oracle.com/technetwork/java/javaee/overview/index.html
http://docs.oracle.com/javaee/5/tutorial/doc/
http://docs.oracle.com/javaee/6/tutorial/doc/
Slide 24