Sumário. Parte Um Visão geral Introdução... 23

Documentos relacionados
Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

UNIDADE IV ENTERPRISE JAVABEANS

Enterprise Java Bean. Enterprise JavaBeans

Entity Beans CMP. O que é CMP? Criação de Entity Beans CMP Deployment no JBoss EJB-QL Exemplo Prático

Web Technologies. Tópicos da apresentação

J530 - Enterprise JavaBeans. Introdução a EJB e Stateless. Session Beans. argonavis.com.br. Helder da Rocha (helder@acm.org)

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

Entity Beans. Introdução Entity Beans BMP

J2EE. J2EE - Surgimento

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Java 2 Enterprise Edition Fundamentos básicos de Transações

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Java 2 Enterprise Edition

Aplicações Distribuídas Cliente/ Servidor Corporativas

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Sistemas Distribuídos

EXPLORE - UMA FERRAMENTA DE SOFTWARE PARA EXPERIMENTAÇÃO PRÁTICA COM TRANSAÇÕES DISTRIBUÍDAS EM SISTEMAS BASEADOS EM COMPONENTES

Desenvolvimento de Software

Banco de Dados I. Prof. Edson Thizon

Sistemas Distribuídos e Paralelos

J530 - Enterprise JavaBeans. Entity Beans. com persistência implícita (CMP) argonavis.com.br. Helder da Rocha (helder@acm.org)

J2EE TM Java 2 Plataform, Enterprise Edition

Mini-curso Gratuito Globalcode Slide 1

Enterprise JavaBeans. Java Deployment Course. por Jorge H. C. Fernandes DI-UFPE Julho de 1999

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

4 - Padrões da Camada de Integração. Introdução

Universidade Federal de Campina Grande Centro de Ciências e Tecnologia Curso de Mestrado em Informática Coordenação de Pós-Graduação em Informática

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Prof. Fellipe Araújo Aleixo

RELATÓRIO DEFINIÇÃO. Resumo

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida

4 Um Exemplo de Implementação

Web Services. (Introdução)

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Arquitecturas de Software Enunciado de Projecto

UFG - Instituto de Informática

Engenharia de Software II

Java 2 Enterprise Edition RMI-IIOP e Enterprise JavaBeans

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

EJB. Session Beans. J2EE (C. Geyer) Introdução a SessionBean 1

ORDEM DE SERVIÇO OS 003/DINFO/ /09/2013

J530 - Enterprise JavaBeans. Relacionamentos em EJB com. CMP e BMP. argonavis.com.br. Helder da Rocha (helder@acm.org)

Tecnologia da Informação

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Enterprise Java Beans

Arquitetura JEE Introdução à Camada de Negócios: Enterprise Java Beans (EJB) Marcos Kalinowski

Tecnologias Web. Java Enterprise Edition

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

HIBERNATE EM APLICAÇÃO JAVA WEB

SISTEMAS DISTRIBUÍDOS

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Java 2 Enterprise Edition Session Beans

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

Usando Replicação Ativa para Prover Tolerância a Falhas de Forma Transparente a uma Implementação da Plataforma J2EE

O que é um banco de dados? Banco de Dados. Banco de dados

Middleware de Aplicações Paralelas/Distribuídas

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Padrões Arquiteturais no Java EE 7

Sistemas Distribuídos

Sistemas Distribuídos

INE Sistemas Distribuídos

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

UFG - Instituto de Informática

UNIVERSIDADE. Sistemas Distribuídos

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Mapeamento Objeto-Relacional

Sistemas Distribuídos

UFG - Instituto de Informática

Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO CAPÍTULO 2 - SISTEMAS DISTRIBUÍDOS BASEADOS EM OBJETOS... 33

Service Oriented Architecture (SOA)

Prova Específica Cargo Desenvolvimento

Capítulo 1 - Java EE 6 por alto - 1

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Modelagem De Sistemas

JAVA Express com Lógica. Subtítulo

Java 2 Enterprise Edition Uma aplicação J2EE completa

UEM Universidade Estadual de Maringá Aplicações para WEB utilizando EJB

Daniel Berti Fonseca RA º semestre INTEGRAÇÃO DE SISTEMAS CORPORATIVOS COMPLEXOS COM JAVA EE

CAPÍTULO 3 MIDDLEWARE. Para entender-se o aparecimento da tecnologia middleware é descrita a seguir, e, brevemente, a sua evolução.

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Backup. José Antônio da Cunha CEFET-RN

Padrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc.

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de Apresentação

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Sistemas Distribuídos Capítulo 4 - Aula 5

Trabalho de Sistemas Distribuídos

Transcrição:

DESCRIÇÃO DO CAPÍTULO 13 Sumário Introdução... 23 Parte Um Visão geral... 27 Capítulo 1 Visão geral... 29 A motivação para o EJB... 29 Dividir para conquistar ao extremo... 30 Arquiteturas de componentes... 35 Introdução aos Enterprise JavaBeans... 36 Por que Java?... 37 EJB como uma solução de negócio... 37 O ecossistema EJB... 39 O provedor de beans... 39 O montador de aplicação... 40 O instalador de EJB... 40 O administrador de sistema... 41 O provedor de contêiner e servidor... 41 Os fornecedores de ferramenta... 41 Resumo dos papéis... 42 O Java 2 Platform, Enterprise Edition (J2EE)... 43 As tecnologias do J2EE... 44 Resumo... 46 Capítulo 2 Os fundamentos do EJB... 47 Enterprise beans... 47 Tipos de beans... 48 Objetos distribuídos: A fundação do EJB... 49 Objetos distribuídos e middleware... 50 Middleware explícito... 50 Middleware implícito... 52 O que constitui um enterprise bean?... 53 A classe enterprise bean... 53 O objeto EJB... 54 O objeto home... 57 As interfaces locais... 60 Os descritores de instalação... 62 Arquivos específicos do fornecedor... 63 O arquivo Ejb-Jar... 63 Resumo de termos... 64 Resumo... 65

14 CAPÍTULO SUMÁRIOX Capítulo 3 Como escrever seu primeiro bean... 67 Como desenvolver um componente EJB... 67 A interface remota... 68 A interface local... 68 A interface home... 69 A interface home local... 70 A classe bean... 70 O descritor de instalação... 74 Os arquivos específicos do fornecedor... 76 O arquivo Ejb-jar... 76 Instalação do bean... 77 O arquivo JAR Client EJB opcional... 77 Entenda como chamar beans... 78 Como pesquisar um objeto home... 79 Execução do sistema... 80 A saída do lado do servidor... 82 A saída do lado do cliente... 83 Implementação de interfaces de componente... 83 Uma solução... 83 Resumo... 84 Parte Dois A tríade dos beans... 85 Capítulo 4 Introdução aos beans de sessão... 87 Tempo de vida de bean de sessão... 87 Os subtipos de bean de sessão... 88 Beans de sessão com informações de estado... 88 Beans de sessão sem informações de estado... 88 Características especiais de beans de sessão com informações de estado... 89 Como alcançar o efeito de pool com beans com informações de estado 89 As regras do estado conversacional... 90 Chamadas de ativação e a passivação... 91 Resumo de implementação de método... 94 Um bean de sessão com informações de estado simples... 94 Diagramas de ciclo de vida para beans de sessão... 102 Resumo... 104 Capítulo 5 Introdução aos beans de entidade... 105 Conceitos de persistência... 105 Serialização de objeto Java... 105 Mapeamento objeto-relacional... 106 Bancos de dados de objeto... 107 O que é um bean de entidade... 108 Sobre os arquivos que compõem um bean de entidade... 109 Características dos beans de entidade... 110 Beans de entidade sobrevivem a falhas... 110 As instâncias de bean de entidade são uma visualização em um banco de dados... 110 Várias instâncias de um bean de entidade podem representar os mesmos dados subjacentes... 111 As instâncias de um bean de entidade podem ser organizadas em pool 112 Há duas maneiras de fazer beans de entidade persistirem... 114 Criação e remoção de beans de entidade... 115 Beans de entidade podem ser localizados... 116 Você pode modificar dados de bean de entidade sem utilizar o EJB... 117

DESCRIÇÃO SUMÁRIO DO CAPÍTULO 15 Contextos de entidade... 118 getejblocalobject() / getejbobject()... 119 getprimarykey()... 119 Resumo... 120 Capítulo 6 Capítulo 7 Como escrever beans de entidade persistentes gerenciados por beans... 121 Princípios básicos de codificação de bean de entidade... 121 Localização de beans de entidade existentes: ejbfind()... 122 Exemplo de persistência gerenciada por beans: Uma conta bancária... 127 Account.java... 127 AccountLocal.java... 128 AccountHome.java... 128 AccountLocalHome.java... 129 AccountPK.java... 130 AccountBean.java... 133 AccountException.java... 144 Client.java... 147 Descritor de instalação... 147 Descritor de instalação específico de contêiner... 147 Configuração do banco de dados... 148 Execução do programa cliente... 149 Saída do lado do servidor... 149 Saída do lado do cliente... 150 Vamos juntar tudo: percurso do ciclo de vida de um bean de entidade BMP. 150 Resumo... 152 Como escrever beans de entidade persistentes gerenciados por contêiner... 153 Recursos de beans de entidade CMP... 153 Beans de entidade CMP são definidos como subclasse... 153 Beans de entidade CMP têm campos não-declarados... 154 Métodos get/set CMP são definidos na subclasse... 154 Beans de entidade CMP têm um esquema de persistência abstrato... 157 Beans de entidade CMP têm uma linguagem de consulta... 158 Beans de entidade CMP podem ter métodos ejbselect()... 159 Diretrizes de implementação para persistência gerenciada por contêiner... 160 Exemplo de persistência gerenciada por contêiner: Uma linha de produto... 163 Product.java... 163 ProductLocal.java... 164 ProductHome.java... 164 ProductLocalHome.java... 165 ProductPK.java... 165 ProductBean.java... 166 Descritor de instalação... 173 Descritor de instalação específico de contêiner... 173 Client.java... 176 Execução do programa cliente... 176 O ciclo de vida de um bean de entidade CMP... 179 Resumo... 180 Capítulo 8 Introdução aos beans baseados em mensagem... 181 Motivação para utilizar os beans baseados em mensagem... 181 O Java Message Service (JMS)... 183 Domínios de troca de mensagens... 183 A JMS API... 184 Integração entre JMS e EJB... 188

16 CAPÍTULO SUMÁRIOX O que é um bean baseado em mensagem... 189 Desenvolvimento de beans baseados em mensagem... 191 A semântica... 191 Um exemplo simples... 192 Conceitos avançados... 197 Armadilhas de beans baseados em mensagem... 199 Ordenamento de mensagem... 199 Chamadas ejbremove() perdidas... 199 Mensagens malformatadas... 200 Como retornar resultados aos produtores da mensagem... 202 O futuro: Invocações de método assíncronas... 206 Resumo... 207 Capítulo 9 Adicione funcionalidade a seus beans... 209 Como chamar beans a partir de outros beans... 209 Pesquisas padrão de JNDI... 209 Entenda as referências de EJB... 210 Fábricas de recursos... 212 Propriedades de ambiente... 213 Entenda a segurança no EJB... 215 Primeiro passo de segurança: Autenticação... 216 Segundo passo de segurança: Autorização... 225 Propagação de segurança... 232 Entenda as alças... 234 Alças home... 235 Resumo... 235 Parte Três Conceitos avançados de Enterprise JavaBeans... 237 Capítulo 10 Transações... 239 Motivação para as transações... 239 Operações atômicas... 239 Falha de rede ou de máquina... 240 Dados compartilhados por múltiplos usuários... 241 Benefícios das transações... 241 Propriedades ACID... 242 Modelos transacionais... 244 Transações planas... 244 Transações aninhadas... 246 Outros modelos transacionais... 246 Como alistar transações com o Enterprise JavaBeans... 247 Abstração do sistema de transação subjacente... 247 Transações programáticas, declarativas e iniciadas pelo cliente... 247 Escolha um estilo de transação... 250 Transações gerenciadas por contêiner... 252 Valores de atributo de transação EJB... 253 Transações programáticas no EJB... 257 Object Transaction Service (OTS) do CORBA... 257 O Java Transaction Service (JTS)... 258 A Java Transaction API (JTA)... 258 Exemplo de transações programáticas versus declarativas... 259 Transações a partir do código de cliente... 262 Isolamento transacional... 263 A necessidade de controle de concorrência... 263

DESCRIÇÃO SUMÁRIO DO CAPÍTULO 17 Isolamento e EJB... 264 O problema da leitura suja... 264 O problema da leitura não-repetível... 266 O problema do fantasma... 267 Resumo de isolamento de transação... 267 Isolamento e EJB... 267 Controle de concorrência otimista e pessimista... 268 Transações distribuídas... 269 A durabilidade e o protocolo de confirmação de duas fases... 270 O protocolo de comunicação transacional e os contextos de transação 270 Como projetar conversas transacionais no EJB... 272 Resumo... 273 Capítulo 11 Relacionamentos com BMP e CMP... 275 Diferença entre CMP e BMP... 275 Cardinalidade... 276 Relacionamentos 1:1... 276 Relacionamentos 1:N... 281 Relacionamentos M:N... 284 Direcionalidade... 290 Implementação da direcionalidade com o BMP... 291 Implementação da direcionalidade com o CMP... 292 A direcionalidade pode não mapear para esquemas de banco de dados 293 Bidirecional ou unidirecional?... 294 Carregamento retardado... 295 Agregação versus composição e exclusões em cascata... 295 Relacionamentos e EJB-QL... 297 Relacionamentos recursivos... 298 Relacionamentos circulares... 298 Integridade referencial... 299 Relacionamentos, integridade referencial e código do cliente... 300 Resumo... 302 Capítulo 12 Melhores práticas de persistência... 303 Quando utilizar beans de entidade... 303 Controle... 303 A analogia da passagem de parâmetro... 304 Procedural versus orientado a objetos... 304 Armazenamento em cache... 304 Imposição da independência de esquema... 305 Facilidade de uso... 305 Migração... 305 Desenvolvimento rápido de aplicações... 305 Como escolher entre CMP e BMP... 306 Redução de código e desenvolvimento rápido de aplicações... 306 Desempenho... 306 Bugs... 306 Controle... 307 Servidor de aplicações e independência de banco de dados... 307 Relacionamentos... 307 Curva de aprendizagem e custo... 308 Como escolher a granularidade certa para beans de entidade... 308 Dicas e truques de persistência... 309 Cuidado com a não-correspondência de impedância objeto-relacional. 309 SQL hard-coded versus soft-coded... 309 Quando utilizar procedures armazenadas... 310 Normalização e desnormalização... 311

18 CAPÍTULO SUMÁRIOX Utilize seu modelo de objeto do EJB para orientar o modelo de dados. 312 Siga um bom processo de projeto de dados... 313 Utilize chaves substitutas... 313 Entenda os impactos de atualizações em banco de dados... 314 Controle de versão dos componentes EJB... 314 Como viver com um projeto de banco de dados legado... 315 O tratamento de grandes conjuntos de resultados... 320 Resumo... 322 Capítulo 13 Melhores práticas e otimizações de desempenho em EJB... 323 Quando utilizar informações de estado versus informações sem estado... 323 Quando utilizar troca de mensagens versus RMI-IIOP... 324 Como garantir um tempo de resposta com planejamento de capacidade... 327 Como conseguir singletons com EJB... 328 Empacote beans de entidade com beans de sessão... 328 Como fazer o ajuste fino de beans de entidade... 329 Escolha entre interfaces locais e remotas... 330 Como depurar questões do EJB... 331 Como particionar seus recursos... 332 Como fazer a montagem dos componentes... 332 Desenvolvimento de componentes que sejam reutilizáveis... 333 Quando utilizar XML em um sistema de EJB... 334 Integração de legados com o EJB... 334 Resumo... 336 Capítulo 14 Clusters... 337 Visão geral de sistemas de larga escala... 337 O que é um sistema de larga escala... 337 Terminologia básica... 338 Como particionar seus clusters... 339 Instrumentalização de EJBs clusterizados... 342 Como clusterizar EJBs... 342 Conceito de idempotência... 343 Clustering de beans de sessão sem informações de estado... 344 Clustering de beans de sessão com informações de estado... 346 Clustering de beans de entidade... 347 Clustering de beans baseados em mensagem... 350 Outras questões de clustering de EJB... 351 Primeiro contato... 351 Lógica de acesso inicial... 351 Resumo... 352 Capítulo 15 Inicie seu projeto com EJB de maneira correta... 353 Faça um levantamento dos requisitos do negócio... 353 Decida se o J2EE é apropriado... 353 Decida se o EJB é apropriado... 354 Monte a equipe do seu projeto... 356 Projete seu modelo de objetos completo... 357 Implemente uma fatia vertical simples... 357 Escolha um servidor de aplicações... 359 Divida a sua equipe... 360 Invista em ferramentas... 360 Invista em um processo de construção padrão... 361 Próximos passos... 362 Resumo... 362

DESCRIÇÃO SUMÁRIO DO CAPÍTULO 19 Capítulo 16 Como escolher um servidor EJB... 363 A marca J2EE 1.3... 363 JRE plugável... 364 Ferramentas de conversão... 364 Mapeamentos complexos... 364 Suporte a driver de JDBC de fornecedores independentes... 364 Carregamento retardado... 364 Gravações de banco de dados diferidas... 364 Provedores de persistência plugáveis... 365 Cache de dados na memória... 365 Suporte de camada integrada... 365 Escalabilidade... 365 Alta disponibilidade... 366 Segurança... 366 Integração com IDE... 366 Integração com editores UML... 367 Balanceamento de carga inteligente... 367 Fail-over transparente sem informações de estado... 367 Clustering... 367 Java Management Extension (JMX)... 368 Suporte administrativo... 368 Instalação a quente... 368 Pool de instâncias... 368 Geração automática de EJB... 368 Desligamento limpo... 369 Instalação em tempo real... 369 Transações distribuídas... 369 Arquitetura de troca de mensagens superior... 369 Componentes EJB fornecidos... 370 J2EE Connector Architecture (JCA)... 370 Serviços de Web... 370 Fluxo de trabalho... 370 Código-fonte aberto... 371 Serviços especializados... 371 Critérios não-técnicos... 371 Resumo... 372 Capítulo 17 Integração EJB-J2EE: Como construir uma aplicação completa... 373 Problema do negócio... 373 Uma visualização do site da Web final... 374 Como determinar o escopo dos requisitos técnicos... 377 O modelo de objetos para a camada da lógica do negócio... 377 Modelo de objetos para a camada da apresentação... 382 Exemplo de código... 387 Resumo... 393

20 CAPÍTULO SUMÁRIOX Parte Quatro Apêndices... 395 Apêndice A Tutorial de RMI-IIOP e JNDI... 397 Java RMI-IIOP... 397 Invocações de método remotas... 398 A interface remota... 399 A implementação de objeto remoto... 400 Stubs e esqueletos... 402 Serialização de objeto e passagem de parâmetro... 403 Como passar por valor... 403 Serialização de objeto... 404 O que você deve tornar transitório?... 405 Serialização de objeto e RMI-IIOP... 405 A Java Naming and Directory Interface (JNDI)... 408 Serviços de nomeação e de diretório... 408 Problemas de nomeação e diretórios... 409 Entra em cena a JNDI... 410 Benefícios da JNDI... 410 Arquitetura da JNDI... 410 Conceitos de JNDI... 411 Como programar com a JNDI... 414 Integração entre RMI-IIOP e JNDI... 416 Como vincular um servidor de RMI-IIOP com JNDI... 417 Como pesquisar um servidor de RMI-IIOP com JNDI... 417 Resumo... 419 Apêndice B Interoperabilidade com o CORBA... 421 O que é CORBA... 421 O CORBA como base para o EJB... 421 Por que devo me preocupar com o CORBA?... 422 Desvantagens do CORBA... 422 Entenda como o CORBA funciona... 422 Object Request Brokers... 423 A Interface Definition Language do OMG... 423 A IDL OMG mapeia para linguagens concretas... 425 Invocações estáticas do CORBA... 425 Os muitos serviços do CORBA... 427 A necessidade do RMI-IIOP... 427 A necessidade da interoperabilidade de RMI-CORBA... 427 Combinação entre RMI e CORBA... 428 Passos para RMI e CORBA trabalharem juntos: Uma visão geral... 432 Cliente de RMI-IIOP com uma implementação de objeto CORBA... 432 Cliente de CORBA com uma implementação de objeto RMI-IIOP... 432 Como inicializar com RMI-IIOP e CORBA... 433 Visão geral: CORBA e EJB juntos... 433 Exemplo de código... 434 Resumo... 435 Apêndice C Referência para descritores de instalação... 437 Como ler uma DTD... 437 O elemento header e root... 438 Definição de beans de sessão... 439 <session>... 439 Definição de beans de entidade... 441 <entity>... 441 <cmp-field>... 442

DESCRIÇÃO SUMÁRIO DO CAPÍTULO 21 <query>... 443 <query-method>... 444 <method-params>... 444 Definição de beans baseados em mensagem... 445 <message-driven>... 445 <message-driven-destination>... 446 Definição de propriedades de ambiente... 446 <env-entry>... 447 Definição de referências de EJB... 447 <ejb-ref>... 448 <ejb-local-ref>... 449 Definição da segurança... 449 <security-role-ref>... 449 <security-identity>... 450 <run-as>... 450 Definição das fábricas de recurso... 450 <resource-ref>... 451 <resource-env-ref>... 451 Definição de relacionamentos... 452 <relationships>... 453 <ejb-relation>... 453 <ejb-relationship-role>... 453 <relationship-role-source>... 454 <cmr-field>... 454 Definição do descritor de assembly... 455 <assembly-descriptor>... 456 <security-role>... 456 <method-permission>... 456 <container-transaction>... 457 <exclude-list>... 457 <method>... 458 <method-params>... 458 Apêndice D A EJB Query Language (EJB-QL)... 459 Visão geral... 459 Um exemplo simples... 459 O poder dos relacionamentos... 461 A sintaxe de EJB-QL... 461 A cláusula FROM... 462 A cláusula WHERE... 463 A cláusula SELECT... 465 Tabelas verdade... 468 Nota final... 469 Resumo... 469 Apêndice E Guia de referência rápida sobre o EJB... 471 Diagramas de beans de sessão... 471 Diagramas de beans de sessão sem informações de estado... 472 Diagramas de bean de sessão com informações de estado... 474 Diagramas de bean de entidade... 477 Diagramas de bean controlado por mensagem... 482 Referência de API EJB... 484 EJBContext... 484 EJBHome... 485 EJBLocalHome... 485 EJBLocalObject... 486 EJBMetaData... 486

22 CAPÍTULO SUMÁRIOX EJBObject... 487 EnterpriseBean... 488 EntityBean... 488 EntityContext... 488 Handle... 492 HomeHandle... 492 MessageDrivenBean... 492 MessageDrivenContext... 493 SessionBean... 493 SessionContext... 495 SessionSynchronization... 495 Referência para exceções... 496 Referência para transação... 497 Índice... 501