Capítulo 1 - Java EE 6 por alto - 1 Um pouquinho de história - 2 Padrões - 4 Arquitetura - 4 Componentes - 5 Contentores - 6 Serviços - 7 Protocolos de rede - 9 Empacotamento - 9 Java Standard Edition - 11 Especificações do Java EE 6 - 11 O que há de novo no Java EE 6? - 14 Mais leve - 15 Exclusão - 15 Perfis - 15 Mais fácil de se usar - 17 Mais rico - 19 Mais portável - 20 A aplicação CD-BookStore - 21 Configurando seu ambiente - 22 O JDK 1.6 - 22 O Maven 2 - 23 O JUnit 4 - 30 O Derby 10.6 - 36 O GlassFish v3.0.1 - 38 Resumo - 47 Capítulo 2 - Persistência em Java - 49 Visão geral da especificação da JPA - 50 Breve história da especificação - 50 O que há de novo na JPA 2.0? - 51 Implementação de Referência - 52 Entendendo as entidades - 52 Mapeamento objeto-relacional - 52 Consultando entidades - 54 Callbacks e escutadores - 56 Reunindo tudo - 57 Escrevendo a entidade Book - 58 Escrevendo a classe Main - 58 Unidade de persistência para a classe Main - 60 Compilando com o Maven - 61 Rodando a classe Main com o Derby - 63 Escrevendo a classe BookTest - 65 Unidade de persistência para a classe BookTest - 67 Rodando a classe BookTest com o Derby embutido - 68 Resumo - 68 Como mapear uma entidade - 69 Capítulo 3 - Mapeamento Objeto-Relacional - 69 Configuração por exceção - 72 Mapeamento elementar - 73 Tabelas - 74 Chaves primárias - 77 Chaves primárias compostas - 78 Atributos - 81 Tipo de acesso - 88 Coleção de tipos básicos - 91 Mapa de tipos básicos - 93 Mapeando com XML - 95 Embutíveis - 98 Tipo de acesso de uma classe embutível - 100 Mapeamento de relacionamentos - 102 Relacionamentos em bases de dados relacionais - 104 Relacionamentos de entidades - 105 Unidirecional e Bidirecional - 106 Buscando relacionamentos - 117 Ordenando relacionamentos - 119 Mapeamento de herança - 122 Estratégias de herança - 123 Estratégia de hierarquia de tabela única por classe - 124 Estratégia da subclasse reunida - 128 Estratégia da tabela por classe completa - 129 Tipos de classes na hierarquia de herança - 132 Superclasse mapeada - 134 Resumo - 136 Como consultar uma entidade - 137 Capítulo 4 - Gerenciando objetos persistentes - 137 O gerenciador de entidades - 141 Obtendo um gerenciador de entidades- 143 Contexto de persistência - 145 Manipulando entidades - 148 Persistindo uma entidade - 150 Encontrando por ID - 151 Removendo uma entidade - 152 Remoção de órfãs - 152 Sincronizando com a base de dados - 153 Conteúdo do contexto de persistência - 155 Incorporando uma entidade - 156 Atualizando uma entidade - 157 Cascateando eventos - 157 API de reservação em cache - 159 A JPQL - 162 Seleção - 164 From - 166 Where - 166 Ligando parâmetros - 167 Subconsultas - 168 Order By - 168 Group By e Having - 168 Exclusão em massa - 169 Atualização em massa - 170 Consultas - 170 Consultas dinâmicas - 173 Consultas nomeadas - 175 Consultas nativas - 178 Creteria API (ou consultas orientadas por objetos) - 179 Criteria API com tipo seguro - 180 Concorrência - 182 Uso de versões - 184 Bloqueio otimista - 185 Bloqueio pessimista - 187 Resumo - 187 O ciclo de vida da entidade - 189 Capítulo 5 - Callbacks e escutadores - 189 Callbacks (rechamadas) - 191 Escutadores - 194 Resumo - 199 Capítulo 6 - Enterprise Java Beans - 201 Entendendo os EJBs - 202 Tipos de EJBs - 203 Anatomia de um EJB - 204 O contentor EJB - 206 Contentor embutido - 207 Injeção de dependências e JNDI - 208 Métodos de rechamada e interceptadores - 209 Empacotamento - 209 Visão geral da especificação EJB - 210 História da especificação - 210 O que há de novo, na EJB 3.1 - 211 O EJB Lite - 212 Implementação de referência - 213 Reunindo tudo - 214 Escrevendo a entidade Book - 215 Escrevendo o bean de sessão sem estado BookEJB - 215 Unidade de persistência para o BookEJB - 217 Escrevendo a classe Main - 218 Compilando e empacotando com o Maven - 219 Distribuindo no GlassFish - 221 Rodando a classe Main com o contentor de cliente de aplicação - 222 Escrevendo a classe BookEJBTest - 222 Resumo - 224 Beans de sessão - 225 Capítulo 7 - Beans de sessão e o serviço temporizador - 225 Beans sem estado - 226 Beans com estado - 229 Singulares - 232 Inicialização - 235 Encadeando singularidades - 236 Concorrência - 237 O modelo do bean de sessão - 240 Interfaces e classe de bean - 240 Vista do cliente - 244 Contexto de sessão - 248 Descritor de distribuição - 249 Injeção de dependências - 250 Contexto de nomeação ambiental - 251 Chamadas assíncronas - 253 Uso embutível - 255 O serviço temporizador - 257 Expressões baseadas em calendário - 258 Criação automática de temporizadores - 260 Criação programática de temporizadores - 261 Resumo - 263 O ciclo de vida dos beans de sessão - 265 Sem estado e Singulares - 265 Capítulo 8 - Callbacks e Interceptadores - 265 Com estado - 267 Callbacks - 268 Interceptadores - 271 Resumo - 281 Transações - 283 Capítulo 9 - Transações e segurança - 283 ACID - 284 Transações locais - 284 Transações distribuídas e XA - 286 Suporte a transações na EJB - 288 Transações gerenciadas por contentores - 289 Marcando uma CMT para desfazimento - 293 Tratamento de exceções - 294 Transações gerenciadas por bean - 296 Segurança - 298 Competências e cargos - 298 Autenticação e autorização - 299 Suporte de segurança na EJB - 300 Segurança declarativa - 300 Segurança programática - 305 Resumo - 306 Capítulo 10 - JavaServer Faces - 307 Entendendo o JSF - 308 FacesServlet e faces-config.xml - 309 Páginas e componentes - 309 Executor - 311 Conversores e validadores - 311 Beans gerenciados e navegação - 311 Suporte a Ajax - 313 Visão geral das especificações de interface web - 313 Breve história das interfaces web - 313 JSP 2.2, EL 2.2, e JSTL 1.2 - 314 JSF 2.0 - 314 O que há de novo na JSF 2.0 - 314 Implementação de referência - 315 Reunindo tudo - 315 Escrevendo a entidade Book - 316 Escrevendo o BookEJB - 317 Escrevendo o bean gerenciado BookController - 317 Escrevendo a página newBook.xhtml - 318 Escrevendo a página listBooks.xhtml - 321 Configuração com web.xml - 323 Compilando e empacotando com o Maven - 324 Distribuindo no GlassFish - 325 Rodando o exemplo - 326 Resumo - 326 Páginas Web - 327 HTML - 327 Capítulo 11 - Páginas e componentes - 327 XHTML - 329 CSS - 331 DOM - 333 JavaScript - 334 Java Server Pages - 337 Elementos de diretiva - 338 Elementos de script - 339 Elementos de ação - 340 Reunindo tudo - 341 Linguagem de expressões - 344 A JSP Standard Tag Library - 345 Ações centrais - 346 Ações de formatação - 347 Ações de SQL - 349 Ações de XML - 351 Funções - 353 Facelets - 354 JavaServer Faces - 355 O Ciclo de vida - 357 Componentes HTML padrões - 358 Comandos - 358 Entradas - 359 Saídas - 360 Seleções - 361 Gráficos - 363 Grades e tabelas - 363 Mensagens de erro - 365 Miscelânea - 365 Gabaritagem - 366 Gerenciamento de recursos - 369 Componentes compostos - 370 Objetos implícitos - 375 Resumo - 377 Capítulo 12 - Processamento e navegação - 379 O padrão MVC - 379 FacesServlet - 380 FacesContext - 383 Faces Config - 384 Beans gerenciados - 385 Como escrever um bean gerenciado - 385 O modelo do bean gerenciado - 386 Escopos - 388 Ciclo de vida e anotações de rechamada - 390 Navegação - 391 Tratamento de mensagens - 396 Conversão e validação - 398 Conversores - 399 Conversores personalizados - 401 Validadores - 402 Validadores personalizados - 403 Ajax - 405 Conceitos gerais - 405 Suporte no JSF - 406 Reunindo tudo - 409 Resumo - 413 Entendendo as mensagens - 415 Capítulo 13 - Enviando mensagens - 415 O JMS - 416 O MDB - 416 Visão geral da especificação de troca de mensagens - 417 Breve história da troca de mensagens - 417 A JMS 1.1 - 417 A EJB 3.1 - 417 Implementação de referência - 418 Como enviar e receber uma mensagem - 418 O Serviço de Mensagens do Java - 420 Ponto-a-Ponto - 422 Publicar-Subscrever - 422 A API do JMS - 423 Objetos administrados - 424 Connection - 427 Session - 428 Mensagens - 428 MessageProducer - 431 MessageConsumer - 432 Seletores - 435 Mecanismos de confiabilidade - 436 Ajustar o tempo de vida da mensagem - 436 Especificando a persistência das mensagens - 437 Controlando o reconhecimento - 437 Criando assinantes duráveis - 438 Ajustando propriedades - 439 Beans dirigidos por mensagens - 439 Como escrever um MDB - 440 Reunindo tudo - 448 Escrevendo a OrderDTO - 449 Escrevendo a OrderSender - 449 Escrevendo o OrderMDB - 450 Compilando e empacotando com o Maven - 451 Criando os objetos administrados - 453 Distribuindo o MDB no GlassFish - 453 Rodando o exemplo - 454 Resumo - 454 Entendendo os serviços web SOAP - 457 Capítulo 14 - Serviços Web SOAP - 457 XML - 458 WSDL - 459 SOAP - 459 UDDI - 459 Protocolo de Transporte - 460 Visão geral da especificação dos serviços web SOAP - 460 Breve história dos serviços web SOAP- 460 Especificações do Java EE - 461 JAX-WS 2.2 - 461 Serviços web 1.2 - 461 JAXB 2.2 - 461 WS-Metadata 2.0 - 462 JAXR 1.0 - 462 Implementação de referência - 462 Como invocar um serviço web SOAP - 462 Arquitetura do Java para ligação com XML - 464 Ligação - 466 Anotações - 468 A parte invisível do iceberg - 472 WSDL - 472 SOAP - 475 API do Java para serviços web baseados em XML - 476 O modelo JAX-WS - 476 Pontas de serviços web - 477 Anotações - 478 Ciclo de vida e rechamada - 484 Contexto de serviços web - 484 Invocando um serviço web SOAP - 485 Reunindo tudo - 487 Escrevendo a classe CreditCard - 487 Escrevendo o serviço web SOAP CardValidator - 488 Compilando e empacotando com o Maven - 488 Distribuindo no GlassFish - 490 Escrevendo o consumidor do serviço web - 492 Gerando os artefatos do consumidor e empacotando com o Maven - 492 Rodando a classe Main - 495 Resumo - 496 Entendendo os serviços web RESTful - 497 Recursos e URIs - 497 Capítulo 15 - Serviços web RESTful - 497 Representações - 498 WADL - 499 HTTP - 499 Requisição e resposta - 499 Métodos HTTP - 501 Negociação de conteúdo - 502 Tipos de conteúdo - 502 Códigos de Status - 503 Uso de cache e requisições condicionais - 503 Especificação dos serviços web RESTful - 505 Breve história do REST - 505 JAX-RS 1.1 - 505 O que há de novo na JAX-RS 1.1? - 505 Implementação de referência - 506 A abordagem REST - 506 Da Web para os serviços web - 506 Uma experiência de navegação na Web - 506 Interface Uniforme - 507 Endereçabilidade - 508 Conexão - 508 Ausência de estado - 509 API do Java para serviços web RESTful - 509 O modelo da JAX-RS - 510 Como escrever um serviço REST - 511 Definição de URI - 512 Extraindo parâmetros - 513 Consumindo e produzindo tipos de conteúdo - 515 Provedor de entidades - 518 Métodos ou a interface uniforme - 520 Informação contextual - 521 Cabeçalhos - 522 Construindo URIs - 523 Tratamento de exceções - 523 Ciclo de vida - 524 Reunindo tudo - 525 Escrevendo a entidade Book - 525 Escrevendo o BookResource - 526 Cabeçalho - 526 Criando um novo livro - 527 Obtendo um livro por ID - 528 Excluindo um livro - 529 Configurando o Jersey - 529 Compilando e empacotando com o Maven - 530 Distribuindo no GlassFish - 532 Rodando o exemplo - 532 Resumo - 533 Índice - 535