Logar
Evento
/

FJ-31 - Java EE avançado e Web Services (Noturno)

FJ-31 - Java EE avançado e Web Services (Noturno)

Banner - FJ-31 - Java EE avançado e Web Services (Noturno)
Mostrar
  • De 21/05 às 19:00 até: 01/06 às 23:00
  • R. Vergueiro, 3185 - 8º andar - Vila Mariana - São Paulo/São Paulo - Brasil

Descrição

Carga Horária: 40 horas aula

 

 

A tecnologia EJB é bastante rebuscada, que pode deixar o iniciante um pouco perdido em tantos recursos. Neste curso recém reformulado, vemos desde RMI e invocação remota de métodos e conceitos que são a base da remotabilidade dos EJBs. Focamos bastante na última versão da especificação, os EJBs 3.0, mostrando os Session Beans, Message-driven Beans e persistência com JPA.

 

É um curso avançado de Java EE que aborda JNDI, JMS, EJB3, SOA, Web Services e clusters, tudo praticado usando o JBoss Application Server. Veremos Web Services tanto standalone, usando o JAX WS do Java 6, quanto integrado com os EJBs, além de escrever um curto cliente em Ruby que consome nosso webservice.

 

 

Pré-requisitos:

Curso FJ-11 ou equivalente, FJ-21 recomendado. Recomendável conhecimentos básicos de JPA ou curso FJ-25. Faça aqui um pequeno teste para saber se você está apto a este curso.

 

 

Conteúdo detalhado:

 

Como aprender Java

  1. Falando em Java
  2. O curso
  3. Convenções de Código
  4. Sobre os exercícios
  5. Sobre os cursos
  6. Indicação de bibliografia extra
  7. Tirando dúvidas

Serialização e Persistência

  1. Serializando e Persistindo Objetos
  2. Implementando uma classe Serializable
  3. Compatibilidade (serialVersionUID)
  4. Serialização em Cascata
  5. Atributos Transientes
  6. Exercícios: Serialização

Introdução ao RMI

  1. Invocação remota de método
  2. Java RMI - Remote Method Invocation
  3. Colocando o objeto no Servidor
  4. Quem são os servidores?
  5. O Cliente
  6. E os stubs?
  7. Rodando a aplicação
  8. Exercícios: RMI
  9. Exercícios opcionais
  10. Erros comuns
  11. Para saber mais: em um projeto real

Introdução a Java EE

  1. Finalizando a compra
  2. Implementando o finalizaCompra(Cartao)
  3. Implementando os serviços
  4. Inversão de Controle
  5. Java EE - Java Enterprise Edition
  6. Servidor de aplicação
  7. Exercício com o Instrutor: Instalação do JBoss
  8. Diretórios do JBoss
  9. Em casa
  10. Exercício: Configurando o JBoss no WTP do Eclipse

Java Naming and Directory Interface - JNDI

  1. Motivação
  2. JNDI - Java Naming and Directory Interface
  3. Do ponto de vista da aplicação
  4. Configurando o provider do JBoss (jndi.properties)
  5. Configurando o provider do JBoss (programaticamente)
  6. Para saber mais: conectando com outros Serviços de Nome
  7. Exercícios
  8. Exercícios Opcionais

Introdução aos EJBs

  1. O problema
  2. Outros problemas
  3. Solução
  4. Cliente
  5. Como funciona por dentro
  6. Exercícios
  7. Um componente EJB3

Aplicação servidora e cliente - WTP

  1. Colocando as coisas nos devidos lugares
  2. Criando o EAR sem ajuda de plugins
  3. Usando o Eclipse WTP
  4. Exercício: Obrigatório (JBoss)
  5. Em casa: Preparando os projetos passo-a-passo

Ciclo de vida do Stateful Session Bean e métodos de callback

  1. O ciclo de vida do Stateful Session Bean
  2. newInstance()
  3. Injeção e @PostConstruct
  4. Construtor vs @PostConstruct
  5. O processo de passivação e ativação: @PrePassivate e @PostActivate
  6. Fim da vida: @Remove e @PreDestroy
  7. Controle da passivação, do cache e dos timeouts no JBoss
  8. Exercícios: callbacks, ciclo de vida e cache

Stateless Session Beans

  1. Problema: acessando serviços
  2. Solução
  3. Ciclo de vida de um Stateless Session Bean
  4. Atributos de instância de um stateless session bean
  5. Configurando o pool de instâncias do JBoss
  6. Stateful ou Stateless?
  7. Exercícios

Interfaces locais, injeção de dependência e agendamento de tarefas

  1. Interfaces Locais
  2. Injeção de dependências: @EJB, @Resource e outros
  3. O SessionContext
  4. Exercícios
  5. Agendamentos precisos com TimerService e @Schedule
  6. Exercícios opcionais

Entity Beans

  1. Dados
  2. Remotabilidade?
  3. Entity Beans no EJB 2.x
  4. Data Transfer Objects, Value Objects e Session Façades
  5. Entity Bean no EJB3
  6. Exercícios opcionais

Implementando Entity Beans com a Java Persistence API (JPA) no Servidor Java EE

  1. A necessidade
  2. JPA fora do container
  3. A configuração da conexão
  4. Transações no MySQL
  5. DataSource
  6. Datasource com MySQL
  7. Mapeando um Entity Bean
  8. EntityManager e EntityManagerFactory
  9. Vantagens da JPA no servidor: transações, gerenciamento e injeção
  10. Injeção com @PersistenceContext
  11. Persistindo um Livro
  12. Carregando livros
  13. Exercícios: JPA dentro de um servidor Java EE
  14. Callbacks para Entidades
  15. Listener Classes
  16. Exercício opcional - Callback nas entidades

JPA - Relacionamentos e Problemas comuns com a JPA no Servidor

  1. Relacionamentos
  2. TransientObjectException
  3. Fetch Mode: Lazy e Eager e a LazyInitializationException
  4. Exercícios
  5. Fazendo buscas
  6. Joins e produtos cartesianos
  7. Funções no JPQL: lower()
  8. Paginação
  9. Compondo Critérios de Busca: AND e OR
  10. Projeções
  11. Exercícios opcionais: Pesquisa com JPA

Transações e Exceções

  1. Transações
  2. Gerenciamento de transação: modo programático (BMT)
  3. Gerenciamento de transação: modo declarativo (CMT)
  4. Exceções
  5. System Exceptions
  6. Application Exceptions
  7. Exercícios
  8. Exercício opcional
  9. Para saber mais: PersistenceContextType.EXTENDED

Interceptadores

  1. Interceptadores Internos - ::Bean Interceptors::
  2. Interceptadores Externos - ::External Interceptors::
  3. Interceptadores Padrões - ::Default Interceptors::
  4. Excluindo Interceptadores
  5. Contexto de invocação - ::InvocationContext::
  6. Exercícios
  7. Exercícios Opcionais: Criando Default Interceptors

Java Message Service- JMS

  1. Assíncrono vs Síncrono
  2. Middleware Orientado a Mensagens (MOM)
  3. Modelos de entregas: Email ou Lista de Discussão?
  4. Criação de Queue's e Topic's no JMS
  5. Exercícios - Tarefa do Administrador
  6. Connection e ConnectionFactory
  7. Session e Message
  8. Procurando os Destination's
  9. Senders e Publishers
  10. Receiver's e Subscriber's
  11. MessageProducer e MessageConsumer
  12. Componentes do JMS
  13. Exercícios Fila
  14. Exercícios Tópico
  15. Para saber mais: Selecionando Mensagens
  16. Exercício opcional
  17. Para saber mais: Espiando as mensagens de uma Queue
  18. Exercício opcional
  19. Para saber mais: Mensagens complexas
  20. Exercícios opcionais

Mensagens de XML com JAX-B

  1. Mensagens - XML
  2. JAXB
  3. Exercícios - JAXB
  4. XML Schema Definition (XSD)
  5. Namespaces
  6. Exercícios de Schema e Namespaces

JMS integrado com EJB

  1. Session Bean como emissor de mensagens
  2. Mensagem no formato XML
  3. Message Driven Bean
  4. Exercícios

Web Services com JAX-WS

  1. Problema
  2. A solução
  3. SOAP - Simple Object Access Protocol
  4. Exercício Opcional
  5. WSDL: o contrato do seu webservice
  6. JAX-WS
  7. Exercícios - JAX-WS
  8. Exercício Opcional: Consumindo o webservice dos Correios

Adicionando Web Services à Livraria

  1. WebService no Servidor de Aplicação
  2. Combinando Web Services e EJB
  3. Exercícios
  4. Cliente em Ruby
  5. Exercício
  6. Para saber mais: acessando EJBs de outras maneiras

Web Services com JAX-RS

  1. REST - Representational State Transfer
  2. Uma alternativa - o estilo Arquitetural REST
  3. Diferentes representações
  4. Metodos HTTP
  5. Hipermídia
  6. Vantagens Restful
  7. Web-Services REST com JAX-RS
  8. Botando pra rodar
  9. Usando o JAX-RS
  10. Outros tipos de retorno
  11. Exercícios JAX-RS com Resteasy
  12. Buscando um recurso específico
  13. Exercícios: URI Templates
  14. Exercícios opcionais: Cliente Rest com HttpClient
  15. Inserindo dados
  16. Exercícios
  17. JAX-RS junto com EJB3
  18. Exercício opcional: Acessar um session bean com Resteasy

Apêndice - Aplicação Web

  1. Integrando um aplicação EJB com Servlet
  2. WTP
  3. Exercícios
  4. Para saber mais
  5. Integração com JSF
  6. Exercícios opcionais
  7. EJB Lite
  8. Exercícios Testando EJB Lite

Apêndice - Cluster

  1. Problema
  2. Cluster
  3. Cluster + JBoss
  4. Exercício
  5. Exercício Opcional com Glassfish
  6. Farming Deploy
  7. Load Balancing
  8. HA-JNDI
  9. Session Bean em Cluster
  10. Exercícios
  11. Para saber mais: Cache distribuído

Apêndice - Autenticação e Autorização com JAAS

  1. Modulo JAAS - Tarefa do administrador
  2. Autorização nos EJB's
  3. Exercício - Criando Tabelas para Autenticação
  4. Exercício - Testando JAAS com EJB3
  5. Tarefa do desenvolvedor da aplicação Web
  6. Autenticação
  7. Autorização na aplicação Web
  8. Exercício - JAAS na aplicação Web
  9. Exercício (Opcional) - Interceptador EJB3 de Segurança
  10. Exercício (Opcional) - Formulário de Login

Apêndice - Boas práticas no uso de tecnologias remotas

  1. Granularidade Grossa
  2. DTOs só entre Tiers, não layers
  3. DAOs podem aparecer com EJB3?
  4. Native Query
  5. Devo evitar o custo dos EJBs?

Apêndice - EJB 3.1 e Java EE 6

  1. Java EE 6
  2. Contexts and Dependency Injection for the Java EE Platform
  3. Java Server Faces
  4. Java Persistence API
  5. Enterprise JavaBeans
  6. Cadê a interface local?
  7. Novo tipo de EJB: Singleton beans
  8. Para saber mais: Singleton
  9. Empacotamento facilitado
  10. Chamadas assíncronas


* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.

Ler mais

Localização

Programação

Este evento não possui atividades no momento.

Planta do Evento

A planta do evento não está disponível.

Contato

Preencha os campos abaixo para enviar e-mail ao organizador.

Campos Obrigatórios
Campos Obrigatórios
Ao se cadastrar, você concorda com nossos Termos de uso.
Ajaxloader

Compartilhar evento por e-mail


Para continuar, faça login ou cadastre-se.

Recomende este evento para sua rede.

Selecione os usuários que deseja recomendar este evento.