Curso SOA na Prática: Integração com Web Services e Mensageria
O que você vai fazer
- 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;
- Curso avançado de integração de sistemas com Java EE;
Para quem é esse curso?
Este curso é focado para todos aqueles que necessitam trabalhar com integrações entre sistemas. Não importa o estilo de integração, ela sempre vem recheada de detalhes e você vai estudar vários deles neste curso. Será discutido integração via Web Service Rest, Soap, Mensageria etc. Também será trabalhado ferramentas que facilitam a orquestração desses serviços como o Apache Camel e o Mule.
Para aproveitar melhor o curso recomendamos que você tenha conhecimento em
Curso Java e Orientação a Objetos - Curso Java para Desenvolvimento Web - Curso Persistência com JPA, Hibernate e EJB lite
Próximas turmas
Selecione a cidade e os períodos de sua preferência
Nós encontramos essas turmas:
Não achou a turma ideal pra você? Consulte outras turmas e horários.
Entre em contatoO que os alunos falam
Rafael Vital Martins Mantovani
O ponto a ser destacado é a excelente didática e as tecnologias usadas no material do curso e outras tecnologias usadas como referência.
Diego Vinicius Akechi
O curso é bastante pratico e próximo da realidade que encontramos no mercado. A bagagem e didática apresentada pelo instrutor com certeza é um grande ...
Weslley Andrade Santos
Instrutor super atencioso, extremamente competente, demonstra uma vasta experiencia na área com uma ótima didática.
Conteúdo detalhado do curso FJ-36
- Falando em Java
- O curso
- Sobre os exercícios
- Sobre os cursos
- Indicação de bibliografia extra
- Tirando dúvidas
Como aprender SOA e Integração
- A livraria
- Exercícios: Preparando o Ambiente
- Serializando e Persistindo Objetos
- Implementando uma classe Serializable
- Compatibilidade (serialVersionUID)
- Serialização em Cascata
- Atributos Transientes
- Exercícios: Serialização Java
- 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: Sistema de Estoque com RMI
- Erros comuns no desenvolvimento
- Exercícios: Integração da livraria com o estoque
Arquitetura de sistemas distribuídos
- Integração hetereogênea
- Estilos de integração
- SOA vs Integração
- Web Services
- Exercícios: Instalação do JBoss AS 8 - Wildfly
- Exercício - Configuração do usuário administrador do Wildfly
- Configurando o JBoss Wildfly no Eclipse em casa
- SOAP - Simple Object Access Protocol
- Exercício Opcional: SAAJ
- WSDL: o contrato do seu Web Service
- Web Services com JAX-WS
- Exercícios: Disponibilizando Web Service com JAX-WS
- Testando o Web Service com SoapUI
- Exercícios: Consumindo o Web Service
- Granularidade do Serviço
- SOA Fallacies
- Exercícios - Granularidade do serviço
- Mais recursos do JAX-WS
- Exercícios: Personalizando o Web Service
- A importância do versionamento
- Segurança no Web Service
- Entendendo e habilitando HTTPS
- Gerando o certificado
- Habilitando HTTPS no servidor
- Introdução aos padrões WS-
- Conhecendo o WS-Security
- Exercícios: Autorização e Versionamento
- Criação do cliente com JAX-WS
- Exercícios: Usando o Web Service na livraria
- Abordagem: Contract first - Web Service Java a partir de um WSDL
- Contract first vs Contract last
- Um pouco do modelo canônico
- Exercícios: Consumindo o Web Service dos Correios
Web Services SOAP com JAX-WS
- Uma alternativa - o estilo Arquitetural REST
- Orientado ao recurso
- Diferentes representações
- Métodos HTTP
- Hipermídia
- Vantagens Restful
- Web-Services REST com JAX-RS
- Botando pra rodar
- Usando Resources com JAX-RS
- Outros tipos de retorno
- Buscando um recurso específico
- Usando o JAX-RS com EJB3
- Exercícios: JAX-RS com Resteasy
- Inserindo dados
- Exercícios: Criação de resources de maneira Restful
- Coreografia de serviços utilizando HATEOAS
- Exercícios: Aplicando HATEOAS
- Hypermidia com Spring Hateoas
- Controlando o XML gerado pelo JAX-RS
- Exercício Anotações do JAX-B
- JAX-RS 2.0 Client API
- Versionamento de serviços REST
- Exercícios: Cliente Restful com JAX-RS 2.0
- Cliente JAX-RS com XML
- Exercício Opcional - Cliente JAX-RS com XML
- Um pouco sobre Microservices
Web Services Restful com JAX-RS
- Assíncrono vs Síncrono
- Middleware Orientado à Mensagens (MOM)
- Modelos de entregas: Email ou Lista de Discussão?
- Criação de Queues e Topics no JMS
- Exercícios: Configuração do HornetQ e a primeira fila
- JMS 2.0
- ConnectionFactory
- JMSContext
- Enviando uma mensagem
- Consumindo mensagens enviadas para a fila
- Exercícios: Consumindo mensagens da fila
- Para saber mais - JMS 1.0
- Para saber mais - Componentes do JMS 1.0
- Assinaturas duráveis
- Exercícios: Durable Subscriber
- Roteamento baseado no conteúdo
- Exercícios: Roteamento com Selectores
- Persistindo mensagens
- Recebendo mensagens no Servidor de Aplicação
- Exercícios opcionais: Message Driven Bean
- Integrando o Spring com o JMS
- Exercícios: Envio de mensagens na livraria
- Para saber mais Shared Consumer do JMS 2
- ActiveMQ, RabbitMQ, Apache Apollo e outros
- Mensageria na Cloud
- Mensagens independentes de plataforma: AMQP, Stomp e REST
Mensageria com Java Message Service e HornetQ
- Mensagens - XML
- Modelo Canonical e o seu Contexto
- Introdução ao JAXB
- Serializando dados compostos
- Usando ObjectFactory
- Exercícios: Serialização para XML com JAX-B
- Definição de Tipos - XML Schema Definition (XSD)
- Identificação pelo Namespace
- Exercícios: Schema e Namespace
- Exercícios opcionais: Validação com XSD
- Serializando JSON: MOXy, Jackson e Jettison
- Exercícios opcionais: Serializando JSON com Jackson
- Validando JSON com JSON Schema
- Exercícios: Enviando mensagens XML pela loja
Criação do modelo canonical
- Frameworks de Integração
- Apache Camel
- Os primeiros Components e Endpoints
- Camel DSL
- Exercícios: Roteamento com Apache Camel
- Aplicando os primeiros padrões de integração
- Tratamento de exceções
- Validação de XSD com Camel
- Exercícios: Validação de Mensagens, Redelivery e Dead Letter Channel
- Marshall e Unmarshal de dados
- Polling em serviços HTTP
- Message Splitter
- Exercício: Realizando Polling em um serviço
- Polling no banco de dados
- Camel JDBC
- Exercício: Inserindo os livros no banco de dados
- Integração do Camel com Spring
- Enviando e consumindo mensagens JMS
- Exercícios: Consumindo mensagens JMS com Apache Camel
- Pipes e Filters
- Exercícios opcionais: Filtro e divisão de conteúdo
- Integrar serviços SOAP e REST
- Orquestração de tarefas e serviços
- Agregação de mensagens
- Exercícios opcionais: Orquestração e Template
- Framework de integração ou Enterprise Service Bus?
Aplicando Enterprise Integration Pattern
- O que é um ESB?
- Quando usar um ESB?
- Exercícios: Instalação do AnypointStudio
- Fluxo com Mule ESB
- Exercícios: Criação do primeiro fluxo
- Roteamento pelo Namespace
- Exercícios: Roteando entre versões do serviço
- Transformação da mensagem pelo XSLT
- Exercícios opcional: Aplicando XSLT para adicionar novos headers SOAP
- Orquestração de serviços
- Exercícios: Desenhando o fluxo de pedidos
- Exercícios: Filter, Split e Transformação de dados
- Exercícios: Multicast com Scatter-Gather Pattern
- Exercícios opcionais: Chamando serviços
- Tratamento de Erro
- Exercícios opcionais: Exception Strategy
Enterprise Service Bus
- Participantes do fluxo do OAuth
- Access Token
- Exercício
- Obtenção do Access Token
- Resource Owner Password Credential Grant
- Exercícios
- Obtendo um access token na aplicação cliente
- Implementando e consumindo um serviço protegido
- Exercícios: Consumindo um servidor protegido
- Authorization Code Grant
- Implementando o Authorization Code Grant com o Apache Oltu
- Exercício Authorization Code Grant
- Considerações sobre a implementação
- Credencias do usuário e do client application
- Authorization Code
- Access Token
- Cross Site Request Forgery
- Filtros do JAX-RS
- Exercícios
- Para saber mais: Provedores OAuth 2.0
- Para saber mais: Outros clientes OAuth 2.0
- Exercício opcional: OAuth2 com Github
*Apêndice: OAuth 2.0
- Ferramentas para modelagem e documentação de APIs REST
- Mas o que exatamente é o Swagger?
- Modelando a API da Payfast
- Defininindo o modelo de dados
- Defininindo os recursos da API
- Definindo os parâmetros de request
- Definindo os tipos de response
- Exercício: Modelando uma API com Swagger
- Documentando uma API já existente
- Obtendo a documentação gerada pelo Swagger
- Corrigindo alguns detalhes
- Documentação para humanos
- Exercício: Documentando a API do Payfast com Swagger
*Apêndice: Swagger
* Apêndices são conteúdos adicionais que não fazem parte da carga horária regular do curso. São conteúdos extras para direcionar seus estudos após o curso.
Não encontrou o curso que procura? Conheça a Alura, a plataforma online da Caelum
Conheça a Alura