Curso SOA na prática: Integração com Web Services e Mensageria

  • Curso avançado de integração de sistemas com Java EE;
  • Arquitetura de sistemas distribuídos;
  • Mensageria com Java Message Service (JMS) com HornetQ;
  • Web Services SOAP com JAX-WS;
  • RESTful Services e API com JAX-RS;
  • Enterprise Integration Patterns com Apache Camel;
  • Enterprise Service Bus (ESB) com Mule.
  • Autenticação e Autorização com OAuth.

Sobre o curso FJ-36

Aprenda integração de sistemas usando as tecnologias do Java EE e as melhores práticas de arquitetura distribuída. Discuta técnicas e padrões modernos e aplique em um projeto prático ao longo do curso.

Nas 40h de treinamento, você vai aprender a fundo SOA e integração com Web Services SOAP (JAX-WS) e REST (JAX-RS), incluindo tópicos como OAuth e JAX-B. Vai estudar e aplicar as vantagens de uma arquitetura assíncrona com uso de mensageria (JMS) com HornetQ. E ainda padrões de integração aplicados com Apache Camel. Por fim, pensando em arquiteturas mais robustas, discutimos ESB e o uso do Mule ESB.

É o curso ideal para o desenvolvedor Java experiente buscando solução para cenários complexos de integração de vários sistemas usando Java EE.

Veja também a ementa detalhada do curso.

Pré-requisitos

Curso Java e Orientação a Objetos ou equivalente.

Curso Java para Desenvolvimento Web recomendado.

Recomendável conhecimentos básicos de JPA ou Curso Persistência com JPA, Hibernate e EJB lite.

40 horas aula

A opinião de quem fez

Como os demais cursos que fiz na Caelum foi muito produtivo, com conteúdo atualizado e professores com ótima didática.

Denis Giovan Marques

O instrutor é excelente, aprendi muito. Parabens para a Caelum!

Fillipe Aguiar Soares

Curso de excelente qualidade.

Guilherme Seiji Kashihara, Resource IT Solutions

Próximas turmas

Data Período Cidade Comentário
15/04 a 13/05 Sábado (9h às 17h) São Paulo
17/04 a 28/04 Noturno (19h às 23h) São Paulo
24/04 a 28/04 Integral (9h às 17h) Brasília
08/05 a 19/05 Noturno (19h às 23h) Brasília
22/05 a 26/05 Integral (9h às 17h) São Paulo
18/09 a 22/09 Integral (9h às 17h) Brasília

Não achou a turma ideal pra você? Entre em contato e consulte outras turmas e horários.

Fale com a gente.

Dúvidas, reservas ou um papo com um instrutor?

Conteúdo detalhado

Como aprender SOA e Integração

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

Arquitetura de sistemas distribuídos

  1. A livraria
  2. Exercícios: Preparando o Ambiente
  3. Serializando e Persistindo Objetos
  4. Implementando uma classe Serializable
  5. Compatibilidade (serialVersionUID)
  6. Serialização em Cascata
  7. Atributos Transientes
  8. Exercícios: Serialização Java
  9. Invocação remota de método
  10. Java RMI - Remote Method Invocation
  11. Colocando o objeto no Servidor
  12. Quem são os servidores?
  13. O Cliente
  14. E os stubs?
  15. Rodando a aplicação
  16. Exercícios: Sistema de Estoque com RMI
  17. Erros comuns no desenvolvimento
  18. Exercícios: Integração da livraria com o estoque

Web Services SOAP com JAX-WS

  1. Integração hetereogênea
  2. Estilos de integração
  3. SOA vs Integração
  4. Web Services
  5. Exercícios: Instalação do JBoss AS 8 - Wildfly
  6. Exercício - Configuração do usuário administrador do Wildfly
  7. Configurando o JBoss Wildfly no Eclipse em casa
  8. SOAP - Simple Object Access Protocol
  9. Exercício Opcional: SAAJ
  10. WSDL: o contrato do seu Web Service
  11. Web Services com JAX-WS
  12. Exercícios: Disponibilizando Web Service com JAX-WS
  13. Testando o Web Service com SoapUI
  14. Exercícios: Consumindo o Web Service
  15. Granularidade do Serviço
  16. SOA Fallacies
  17. Exercícios - Granularidade do serviço
  18. Mais recursos do JAX-WS
  19. Exercícios: Personalizando o Web Service
  20. A importância do versionamento
  21. Segurança no Web Service
  22. Entendendo e habilitando HTTPS
  23. Gerando o certificado
  24. Habilitando HTTPS no servidor
  25. Introdução aos padrões WS-*
  26. Conhecendo o WS-Security
  27. Exercícios: Autorização e Versionamento
  28. Criação do cliente com JAX-WS
  29. Exercícios: Usando o Web Service na livraria
  30. Abordagem: Contract first - Web Service Java a partir de um WSDL
  31. Contract first vs Contract last
  32. Um pouco do modelo canônico
  33. Exercícios: Consumindo o Web Service dos Correios

Web Services Restful com JAX-RS

  1. Uma alternativa - o estilo Arquitetural REST
  2. Orientado ao recurso
  3. Diferentes representações
  4. Métodos HTTP
  5. Hipermídia
  6. Vantagens Restful
  7. Web-Services REST com JAX-RS
  8. Botando pra rodar
  9. Usando Resources com JAX-RS
  10. Outros tipos de retorno
  11. Buscando um recurso específico
  12. Usando o JAX-RS com EJB3
  13. Exercícios: JAX-RS com Resteasy
  14. Inserindo dados
  15. Exercícios: Criação de resources de maneira Restful
  16. Coreografia de serviços utilizando HATEOAS
  17. Exercícios: Aplicando HATEOAS
  18. Hypermidia com Spring Hateoas
  19. Controlando o XML gerado pelo JAX-RS
  20. Exercício Anotações do JAX-B
  21. JAX-RS 2.0 Client API
  22. Versionamento de serviços REST
  23. Exercícios: Cliente Restful com JAX-RS 2.0
  24. Cliente JAX-RS com XML
  25. Exercício Opcional - Cliente JAX-RS com XML

Mensageria com Java Message Service e HornetQ

  1. Assíncrono vs Síncrono
  2. Middleware Orientado à Mensagens (MOM)
  3. Modelos de entregas: Email ou Lista de Discussão?
  4. Criação de Queues e Topics no JMS
  5. Exercícios: Configuração do HornetQ e a primeira fila
  6. JMS 2.0
  7. ConnectionFactory
  8. JMSContext
  9. Enviando uma mensagem
  10. Consumindo mensagens enviadas para a fila
  11. Exercícios: Consumindo mensagens da fila
  12. Para saber mais - JMS 1.0
  13. Para saber mais - Componentes do JMS 1.0
  14. Assinaturas duráveis
  15. Exercícios: Durable Subscriber
  16. Roteamento baseado no conteúdo
  17. Exercícios: Roteamento com Selectores
  18. Persistindo mensagens
  19. Recebendo mensagens no Servidor de Aplicação
  20. Exercícios opcionais: Message Driven Bean
  21. Integrando o Spring com o JMS
  22. Exercícios: Envio de mensagens na livraria
  23. Para saber mais Shared Consumer do JMS 2
  24. ActiveMQ, RabbitMQ, Apache Apollo e outros
  25. Mensageria na Cloud
  26. Mensagens independentes de plataforma: AMQP, Stomp e REST

Mensagens de XML com JAX-B

  1. Mensagens - XML
  2. Introdução ao JAXB
  3. Serializando dados compostos
  4. Usando ObjectFactory
  5. Exercícios: Enviando mensagens XML pela loja

Aplicando Enterprise Integration Pattern

  1. Frameworks de Integração
  2. Apache Camel
  3. Os primeiros Components e Endpoints
  4. Camel DSL
  5. Exercícios: Roteamento com Apache Camel
  6. Aplicando os primeiros padrões de integração
  7. Tratamento de exceções
  8. Validação de XSD com Camel
  9. Exercícios: Validação de Mensagens, Redelivery e Dead Letter Channel
  10. Marshall e Unmarshal de dados
  11. Polling em serviços HTTP
  12. Message Splitter
  13. Exercício: Realizando Polling em um serviço
  14. Polling no banco de dados
  15. Camel JDBC
  16. Exercício: Inserindo os livros no banco de dados
  17. Integração do Camel com Spring
  18. Enviando e consumindo mensagens JMS
  19. Exercícios: Consumindo mensagens JMS com Apache Camel
  20. Pipes e Filters
  21. Exercícios opcionais: Filtro e divisão de conteúdo
  22. Integrar serviços SOAP e REST
  23. Orquestração de tarefas e serviços
  24. Agregação de mensagens
  25. Exercícios opcionais: Orquestração e Template
  26. Framework de integração ou Enterprise Service Bus?

Enterprise Service Bus

  1. O que é um ESB?
  2. Quando usar um ESB?
  3. Exercícios: Instalação do AnypointStudio
  4. Fluxo com Mule ESB
  5. Exercícios: Criação do primeiro fluxo
  6. Roteamento pelo Namespace
  7. Exercícios: Roteando entre versões do serviço
  8. Transformação da mensagem pelo XSLT
  9. Exercícios opcional: Aplicando XSLT para adicionar novos headers SOAP
  10. Orquestração de serviços
  11. Exercícios: Desenhando o fluxo de pedidos
  12. Exercícios: Filter, Split e Transformação de dados
  13. Exercícios: Multicast com Scatter-Gather Pattern
  14. Exercícios opcionais: Chamando serviços
  15. Tratamento de Erro
  16. Exercícios opcionais: Exception Strategy

Apêndice OAuth2

  1. Segurança com OAuth 2.0
  2. Entendendo o OAuth 2.0
  3. Apache Oltu: Trabalhando com requisições e respostas OAuth 2.0
  4. Exercícios opcionais: Implementando um cliente OAuth 2.0
  5. Provedores OAuth2
  6. OAuth2 com Scribe
  7. Exercício opcional: OAuth2 com Github
  8. Exercício opcional: Cliente OAuth2 na livraria


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