Logar
Evento
/

FJ-31 | Java EE avançado e Web Services (Manhã)

FJ-31 | Java EE avançado e Web Services (Manhã)

Participantes

0
participantes
0
curtidas
Banner - FJ-31 | Java EE avançado e Web Services (Manhã)
Mostrar
  • De 10/09 às 08:30 até: 21/09 às 12:30
  • Rua do Ouvidor, 50 - Sobreloja 201 - Centro - Rio de Janeiro/Rio de Janeiro - 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

   

  • Falando em Java
  • O curso
  • Convenções de Código
  • Sobre os exercícios
  • Sobre os cursos
  • Indicação de bibliografia extra
  • Tirando dúvidas

 

Serialização e Persistência

   

  • Serializando e Persistindo Objetos
  • Implementando uma classe Serializable
  • Compatibilidade (serialVersionUID)
  • Serialização em Cascata
  • Atributos Transientes
  • Exercícios: Serialização

 

Introdução ao RMI

   

  • Invocação remota de método
  • Java RMI - Remote Method Invocation
  • Colocando o objeto no Servidor
  • Quem são os servidores?
  • O Cliente
  • E os stubs?
  • Rodando a aplicação
  • Exercícios: RMI
  • Exercícios opcionais
  • Erros comuns
  • Para saber mais: em um projeto real

 

Introdução a Java EE

   

  • Finalizando a compra
  • Implementando o finalizaCompra(Cartao)
  • Implementando os serviços
  • Inversão de Controle
  • Java EE - Java Enterprise Edition
  • Servidor de aplicação
  • Exercício com o Instrutor: Instalação do JBoss
  • Diretórios do JBoss
  • Em casa
  • Exercício: Configurando o JBoss no WTP do Eclipse

 

Introdução aos EJBs

   

  • O problema
  • Outros problemas
  • Solução
  • Exercícios - criando um EJB
  • Cliente
  • Do ponto de vista da aplicação
  • Configurando o provider do JBoss (jndi.properties)
  • Configurando o provider do JBoss (programaticamente)
  • Para saber mais: conectando-se com outros Serviços de Nome
  • JNDI e EJBs
  • Como funciona por dentro
  • Exercícios
  • Um componente EJB3

 

Aplicação servidora e cliente - WTP

   

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

 

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

   

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

 

Stateless Session Beans

   

  • Problema: acessando serviços
  • Solução
  • Ciclo de vida de um Stateless Session Bean
  • JNDI
  • Atributos de instância de um Stateless Session Bean
  • Configurando o pool de instâncias do JBoss
  • Stateful ou Stateless?
  • Exercícios

 

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

   

  • Interfaces Locais
  • Injeção de dependências: @EJB, @Resource e outros
  • O SessionContext
  • Exercícios
  • Agendamentos precisos com TimerService e @Schedule
  • Exercícios opcionais

 

Entity Beans

   

  • Dados
  • Remotabilidade?
  • Entity Beans no EJB 2.x
  • Data Transfer Objects, Value Objects e Session Facades
  • Entity Bean no EJB3
  • Exercícios opcionais

 

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

   

  • A necessidade
  • JPA fora do container
  • A configuração da conexão
  • Transações no MySQL
  • DataSource
  • Datasource com MySQL
  • Mapeando um Entity Bean
  • EntityManager e EntityManagerFactory
  • Vantagens da JPA no servidor: transações, gerenciamento e injeção
  • Injeção com @PersistenceContext
  • Persistindo um Livro
  • Carregando livros
  • Exercícios: JPA dentro de um servidor Java EE
  • Callbacks para Entidades
  • Listener Classes
  • Exercício opcional - Callback nas entidades

 

JPA - Relacionamentos e Problemas comuns com a JPA no Servidor

   

  • Relacionamentos
  • TransientObjectException
  • Fetch Mode: Lazy e Eager e a LazyInitializationException
  • Exercícios
  • Fazendo buscas
  • Joins e produtos cartesianos
  • Funções no JPQL: lower()
  • Paginação
  • Compondo Critérios de Busca: AND e OR
  • Projeções
  • Exercícios opcionais: Pesquisa com JPA

 

Transações e Exceções

   

  • Transações
  • Gerenciamento de transação: modo programático (BMT)
  • Gerenciamento de transação: modo declarativo (CMT)
  • Exceções
  • System Exceptions
  • Application Exceptions
  • Exercícios
  • Exercício opcional
  • Para saber mais: PersistenceContextType.EXTENDED

 

Interceptadores

   

  • Interceptadores Internos - ::Bean Interceptors::
  • Interceptadores Externos - ::External Interceptors::
  • Interceptadores Padrões - ::Default Interceptors::
  • Excluindo Interceptadores
  • Contexto de invocação - ::InvocationContext::
  • Exercícios
  • Exercícios Opcionais: Criando Default Interceptors

 

Java Message Service- JMS

   

  • Assíncrono vs Síncrono
  • Middleware Orientado a Mensagens (MOM)
  • Modelos de entregas: Email ou Lista de Discussão?
  • Criação de Queues e Topics no JMS
  • Exercícios - Tarefa do Administrador
  • Connection e ConnectionFactory
  • Session e Message
  • Procurando os Destination's
  • Senders e Publishers
  • Receiver's e Subscriber's
  • MessageProducer e MessageConsumer
  • Componentes do JMS
  • Exercícios Fila
  • Exercícios Tópico
  • Para saber mais: Selecionando Mensagens
  • Exercício opcional
  • Para saber mais: Espiando as mensagens de uma Queue
  • Exercício opcional
  • Para saber mais: Mensagens complexas
  • Exercícios opcionais

 

Mensagens de XML com JAX-B

   

  • Mensagens - XML
  • JAXB
  • Exercícios - JAXB
  • XML Schema Definition (XSD)
  • Namespaces
  • Exercícios de Schema e Namespaces

 

JMS integrado com EJB

   

  • Session Bean como emissor de mensagens
  • Mensagem no formato XML
  • Message Driven Bean
  • Exercícios

 

Web Services com JAX-WS

   

  • Problema
  • A solução
  • SOAP - Simple Object Access Protocol
  • Exercício Opcional
  • WSDL: o contrato do seu Webservice
  • JAX-WS
  • Exercícios - JAX-WS
  • Exercício Opcional: Consumindo o webservice dos Correios

 

Adicionando Web Services à Livraria

   

  • Web Service no Servidor de Aplicação
  • Combinando Web Services e EJB
  • Exercícios
  • Cliente em Ruby
  • Exercício
  • Para saber mais: acessando EJBs de outras maneiras

 

Web Services com JAX-RS

   

  • REST - Representational State Transfer
  • Uma alternativa - o estilo Arquitetural REST
  • Diferentes representações
  • Metodos HTTP
  • Hipermídia
  • Vantagens Restful
  • Web-Services REST com JAX-RS
  • Botando pra rodar
  • Usando o JAX-RS
  • Outros tipos de retorno
  • Exercícios JAX-RS com Resteasy
  • Buscando um recurso específico
  • Exercícios: URI Templates
  • Exercícios opcionais: Cliente REST com HttpClient
  • Inserindo dados
  • Exercícios
  • JAX-RS junto com EJB3
  • Exercício opcional: Acessar um Session Bean com RestEasy

 

Apêndice - Aplicação Web

   

  • Integrando uma aplicação EJB com Servlet
  • WTP
  • Exercícios
  • Para saber mais
  • Integração com JSF
  • Exercícios opcionais
  • EJB Lite
  • Exercícios Testando EJB Lite

 

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

 

  • Granularidade Grossa
  • DTOs só entre Tiers, não layers
  • DAOs podem aparecer com EJB3?
  • Native Query
  • Devo evitar o custo dos EJBs?

 

Apêndice - EJB 3.1 e Java EE 6

   

  • Java EE 6
  • Contexts and Dependency Injection for the Java EE Platform
  • Java Server Faces
  • Java Persistence API
  • Enterprise JavaBeans
  • Cadê a interface local?
  • Novo tipo de EJB: Singleton beans
  • Para saber mais: Singleton
  • Empacotamento facilitado
  • Chamadas assíncronas

 

Apêndice - JBoss AS 6

   

  • JBoss AS 6
  • Instalação e Estrutura do JBoss AS 6
  • Diretórios do JBoss
  • Em casa
  • Exercício: Configurando o JBoss no WTP do Eclipse
  • JNDI e EJBs de interface Remota
  • Configurações e modos de operação
  • Datasources
  • JMS

 

* 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.