Serviços RESTful em Java com JAX-RS

20h

Descrição

Este curso explora a criação de clientes e serviços Web RESTful usando Java. Serviços RESTful usam o estilo de arquitetura REST, do HTTP, para oferecer funcionalidades e dados como recursos acessíveis através de URIs e métodos HTTP. Vários serviços populares na Internet são disponibilizados via interfaces REST. Este curso mostra como criar clientes para enviar e receber dados desses serviços. Mostra também como criar serviços REST que podem ser acessados por clientes Java e clientes HTML/JavaScript/Ajax/JQuery.

Ao final deste curso, o aluno terá condições de

  • Descrever os fundamentos da arquitetura REST
  • Construir um serviço RESTful simples usando um servlet
  • Configurar uma API de serviços REST usando JAX-RS
  • Usar anotações do JAX-RS para construir recursos que serão disponibilizados via métodos HTTP
  • Usar JAX-RS 2.0 e Jersey para criar clientes Java para serviços RESTful
  • Produzir e consumir dados em formato texto, XML, JSON.
  • Escrever componentes para extrair dados de XML e JSON e gerar dados em XML e JSON
  • Escrever componentes para produzir e consumir outros tipos de dados
  • Lidar com erros e exceções
  • Configurar a segurança (autorização, autenticação) do serviço
  • Acessar serviços REST usando Ajax (JavaScript e JQuery)
  • Usar OAuth para acessar um serviço REST (opcional)

Programa

  1. Fundamentos de REST, HTTP e URI
  2. Fundamentos de XML, XPath, XML Schema e JAXP*
  3. JAXB*
  4. Um serviço RESTful usando servlets
  5. Criando resources com JAX-RS
  6. Depurando serviços Restful
  7. Usando um cliente JavaScript
  8. Mapeamento de URIs e métodos
  9. Parâmetros injetados
  10. Produzindo e consumindo texto, XML e JSON
  11. Produzindo e consumindo outras representações: content handlers
  12. Provedores de entidades
  13. Respostas HTTP, erros e exceções
  14. Clientes JAX-RS com Jersey
  15. Filtros, interceptadores e outros recursos do JAX-RS
  16. Segurança
  17. OAuth 2.0 (opcional)

* Opcionais se já abordados em outro curso (ex: JAX-WS)