21
Web Services com Restful RAQUEL MACHADO THIAGO PINHEIRO DISCIPLINA: ARQUITETURA ORIENTADA A SERVIÇOS - SOA PROGRAMAS DE PÓS GRADUAÇÃO EM ENGENHARIA DA ELETRICIDADE - UFMA

Web services com restful

Embed Size (px)

DESCRIPTION

Introdução a web services com restful

Citation preview

Page 1: Web services com restful

Web Services com RestfulRAQUEL MACHADO

THIAGO PINHEIRO

DISCIPLINA: ARQUITETURA ORIENTADA A SERVIÇOS - SOA

PROGRAMAS DE PÓS GRADUAÇÃO EM ENGENHARIA DA ELETRICIDADE - UFMA

Page 2: Web services com restful

Introdução Os Web Services surgiram como uma forma de comunicação entre aplicações distribuídas e heterogêneas; Web Services SOAP; Web Services REST;

Page 3: Web services com restful

O que é REST? “Roy Fielding, o principal co-autor da especificação HTTP, em sua tese de doutorado, criou o termo REST (Representational State Transfer) que conforme sua definição, é um estilo arquitetural para sistemas distribuídos multimídia.” REST propõe um conjunto de restrições às arquiteturas Web;

Page 4: Web services com restful

Estilos Arquiteturais herdados pelo REST Arquitetura Cliente-Servidor: independência, escalabilidade e portabilidade. Falta de Estado (Stateless): melhoria na confiabilidade e escalabilidade de uma aplicação. Cache: Reutilização dos dados.

Page 5: Web services com restful

Princípios do REST Recursos “Um recurso é um objeto ou serviço que pode ser identificado através de uma URI.” Identificação dos Recursos através de URI “Se uma parte das informações não tiver uma URI, não será um recurso, e realmente, não estará na web.”

Page 6: Web services com restful

Princípios do REST Manipulação dos Recursos através de representações “Os recursos são dissociados de suas representações para que seu conteúdo possa ser acessado em uma variedade de formatos (tais como HTML, XML, texto puro, PDF, JPEG e outros).”

Page 7: Web services com restful

Princípios do REST Interface Uniforme “Ao aplicar o princípio da engenharia de software de generalidade para a interface de componentes, a arquitetura geral do sistema é simplificado e da visibilidade das interações é melhorada.”

Benefícios: - Acessibilidade; - Economia de recursos de rede; - Performance;

Page 8: Web services com restful

Princípios do REST Interface Uniforme

Page 9: Web services com restful

Princípios do REST Interface Uniforme

Page 10: Web services com restful

Princípios do REST Mensagens Auto-Descritivas

Meta-dados são dissociados do conteúdo da mensagem. Estado da Aplicação e Estado do Recurso Dados relativos às sessões dos clientes (Estados da aplicação) devem ser mantidos no cliente. Os dados relativos aos recursos (Estados do Recurso), devem ser mantidos no servidor Hipermídia como o motor de estado da aplicação Da mesma forma que acontece com um usuário que navega pelas páginas de um site, uma aplicação cliente navega por uma aplicação REST. Isto é feito através de links contidos nos recursos requisitados.

Page 11: Web services com restful

JAX-RS Java API for RESTful Web Services “Utilizando JAX-RS um recurso web é implementado como uma classe recurso e as requisições processadas por métodos recursos.”

Page 12: Web services com restful

JAX-RS Em JAX-RS a URI de um recurso começa a ser construída com o contexto da aplicação.

Page 13: Web services com restful

JAX-RS Classe Recurso raiz

Métodos Recurso

Page 14: Web services com restful

JAX-RS Parâmetros Os parâmetros de um método recurso podem ser utilizados para receber dados do cliente.

Page 15: Web services com restful

JAX-RS Sub-Recursos

Page 16: Web services com restful

JAX-RS Tipos de mídias

Page 17: Web services com restful

JAX-RS Provedores

Tem a tarefa de realizar a conversão dos tipos de objetos java e a representação dos tipos de formato do recurso que será consumido ou produzido.

Page 18: Web services com restful

JAX-RS Contextos É possível obter informações do contexto da aplicação e das requisições individuais.

Page 19: Web services com restful

JAX-RS Lista de classes de contexto

Page 20: Web services com restful

Considerações Finais Serviços REST são disponibilizados através de Recursos. que devem ser corretamente projetados: Deve-se definir a hierarquia dos Recursos, quais métodos cada recurso irá responder, quais representações serão aceitas e fornecidas.Ao utilizar a API JAX-RS, o desenvolvimento de serviços REST torna-se uma atividade simples e produtiva: Tarefas como a conversão de dados realizada entre os objetos Java e as representações enviadas ao cliente são automatizadas.

Page 21: Web services com restful

Dúvidas

?