Este é um curso de arquitetura de software que explora padrões e boas práticas no projeto e desenvolvimento de aplicações que usam Web Services, em REST ou em SOAP/WSDL. São apresentados padrões do catálogo de padrões do livro Service Design Patterns de Robert Daigneau (2011), exemplificados através de exemplos de serviços em Java usando JAX-WS, JAX-RS e HTML/JSON/JQuery.
- Introdução
- Tipos de API para serviços Web
- Tipo de comunicação Cliente-Serviço
- Requisição-Resposta
- Requisição-Acknowledge
- Negociação de Tipo de Mídia
- Serviço vinculado
- Gerenciamento da Requisição e Resposta
- Controlador de Serviço
- Data-Transfer Object
- Request Mapper
- Response Mapper
- Tipos de implementação
- Roteiro de transações
- Adaptador de Datasource
- Roteiro de operações
- Command Invoker
- Conector de Workflow
- Infraestrutura do serviço
- Descritor do Serviço
- Interceptador de Serviços
- Registro de Serviços
- Enterprise Service Bus
- Engine de Orquestração
- Infraestrutura do cliente
- Conector de Serviço
- Handler de Resposta Assíncrona
- Interceptador do Serviço
- Retry Idempotente
- Evolução do Serviço Web
- Single-Message Argument
- Dataset Amendment
- Abstract Data Transfer Object
- Tolerant Reader
- Consumer-Driven Contracts
- Estudo de caso usando REST
- Estudo de caso usando SOAP/WSDL
O aluno deve ter conhecimentos elementares das arquiteturas REST e SOAP/WSDL. É desejável que tenha construído aplicações cliente ou serviços usando REST ou SOAP. Como os exemplos usam Java e JavaScript, o conhecimento dessas linguagens é importante para entender os exemplos e poder fazer exercícios.