Web services com restful

Preview:

DESCRIPTION

Introdução a web services com restful

Citation preview

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

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;

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;

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.

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.”

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).”

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;

Princípios do REST Interface Uniforme

Princípios do REST Interface Uniforme

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.

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.”

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

JAX-RS Classe Recurso raiz

Métodos Recurso

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

JAX-RS Sub-Recursos

JAX-RS Tipos de mídias

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.

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

JAX-RS Lista de classes de contexto

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.

Dúvidas

?