13 DESCRIÇÃO DO CAPÍTULO Sumário Introdução ............................................................................................. 17 PARTE I Linguagem de padrões EJB ............................................ 21 Capítulo 1 Padrões de arquitetura da camada EJB ........................ 23 Session Façade 24 Message Façade 29 EJB Command 33 Data Transfer Object Factory 38 Generic Attribute Access 42 Business Interface 48 Capítulo 2 Padrões de transferência de dados entre camadas ..... Data Transfer Object 54 Domain Data Transfer Object Custom Data Transfer Objects Data Transfer HashMap 62 Data Transfer RowSet 65 Capítulo 3 57 60 Padrões de transação e persistência ............................. Version Number 69 JDBC for Reading 74 Data Access Command Beans Dual Persistence Entity Bean Capítulo 4 Capítulo 5 Estratégias de geração de chaves primárias ................ 13 85 85 90 Sequence Blocks 95 UUID for EJB 100 Stored Procedures for Autogenerated Keys Padroes_de_Projeto.p65 69 77 82 Padrões de interação EJB do lado cliente ..................... EJBHomeFactory Business Delegate 53 103 12/9/2008, 16:37 95 14 CAPÍTULO SUMÁRIO X PARTE II Capítulo 6 Melhores práticas para projeto e implementação EJB ........................................................ 107 Dos requisitos ao projeto dirigido por padrões ..................................................................... 109 Os casos de uso do sistema de mensagens do fórum do TheServerSide 110 Uma rápida recapitulação sobre terminologia e questões de projeto 110 O que é um modelo de domínio? 110 Entendendo as camadas de um sistema J2EE 112 Arquiteturas EJB dirigidas por padrões 114 Padrões das camadas de domínio e persistência 114 Padrões da camada de serviços 117 Casos de uso assíncronos 117 Casos de uso síncronos 117 Outros padrões da camada de serviços 118 Padrões de transferência de dados entre camadas 120 Padrões da camada de aplicação 121 Resumo 123 Capítulo 7 Processo de desenvolvimento EJB: construindo com Ant e testando unidade com JUnit ........................ 125 Ordem de desenvolvimento 126 Código independente de camada 127 O domínio primeiro 127 A persistência em segundo lugar 127 Os serviços em terceiro lugar 129 Os clientes ao final 129 Automatizando a administração do ambiente com Ant 130 O que é um ambiente de aplicação J2EE? 130 O que significa administrar um ambiente de aplicação J2EE? 130 Usando o Ant 132 Teste de unidade com JUnit 145 Resumo 151 Capítulo 8 Alternativas a Entity Beans ....................................... Características dos Entity Beans 153 Entity Beans e dissonância cognitiva 154 Em defesa dos Entity Beans 155 Alternativas a Entity Beans 156 Use JDBC direto/stored procedures 156 Use um produto de mapeamento O/R de terceiros 156 Construa um framework de persistência customizado 157 Use objetos de dados java 157 Uma introdução aos objetos de dados java para desenvolvedores EJB 157 Requisitos e dependências de classes 158 Processos de criação e distribuição 158 Herança 159 APIs clientes 160 Mecanismos de descoberta dinâmicos versus estáticos 160 Padroes_de_Projeto.p65 14 12/9/2008, 16:37 153 15 DESCRIÇÃO DO CAPÍTULO SUMÁRIO Um guia de uso de JDOs para desenvolvedores EJB 160 Preparando seu ambiente EJB 160 Configurando Session Beans 161 Executando casos de uso e gerenciamento de transações Transações gerenciadas por contêiners 162 Transações gerenciadas por Beans 163 Cache/carregamento tardio e navegação por referências Encontrando JDOs 164 Transferência de dados entre camadas 166 Resumo 167 Capítulo 9 161 163 Estratégias de projeto, idiomas e dicas EJB ................. 169 Não use o padrão Composite Entity Bean 169 Use uma convenção de nomenclatura de campos que permita validação em Entity Beans CMP EJB 2.0 170 Não leia e grave objetos valor/DTOs em Entity Beans 170 Não há problema em usar Singletons Java se eles forem usados corretamente 170 Prefira atualizações agendadas à computação em tempo real 171 Use uma classe java serializada para adicionar checagem de tipo do compilador a interações de Beans orientados a mensagens 171 Sempre chame setRollbackOnly quando ocorrerem exceções na aplicação 172 Limite parâmetros para ejbCreate 172 Não use objetos de transferência de dados no ejbCreate 172 Não use XML para comunicação como um mecanismo DTO a não ser que você realmente precise 173 Apêndice Padroes_de_Projeto.p65 Listagem do código dos padrões .................................. 175 Referências ............................................................................................ 207 Índice ...................................................................................................... 209 15 12/9/2008, 16:37