SlideShare uma empresa Scribd logo
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
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

Mais conteúdo relacionado

Semelhante a Web services com restful

Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
Luan Felipe Knebel
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Renato Bongiorno Bonfanti
 
201406Carvalho
201406Carvalho201406Carvalho
201406Carvalho
Afonso Pra
 
Reformulação de consultas sparql no padrão linked data
Reformulação de consultas sparql no padrão linked dataReformulação de consultas sparql no padrão linked data
Reformulação de consultas sparql no padrão linked data
Leonardo Ribeiro
 
Descrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosDescrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticos
Jaider Andrade Ferreira
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Renato Groff
 
Soa Woa Rest
Soa Woa RestSoa Woa Rest
Soa Woa Rest
Paulo Rezende
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Renato Groff
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Renato Groff
 
INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES RESTINTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
Rafael Bitencourt
 
Web Services
Web ServicesWeb Services
Web Services
armeniocardoso
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
Ambiente Livre
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
Marcio Junior Vieira
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na Rede
Elvis Fusco
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
mdmansur
 
Mashups - SOA
Mashups - SOAMashups - SOA
Mashups - SOA
angelicagb
 
Mashups - SOA
Mashups - SOAMashups - SOA
Mashups - SOA
angelicagb
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Luiz Matos
 
Palestra Sobre REST
Palestra Sobre RESTPalestra Sobre REST
Palestra Sobre REST
Paulo José Almeida
 
Web x.0 rdf
Web x.0 rdfWeb x.0 rdf
Web x.0 rdf
matheuspc2806
 

Semelhante a Web services com restful (20)

Desenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EEDesenvolvimento de uma API RESTful com Java EE
Desenvolvimento de uma API RESTful com Java EE
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
 
201406Carvalho
201406Carvalho201406Carvalho
201406Carvalho
 
Reformulação de consultas sparql no padrão linked data
Reformulação de consultas sparql no padrão linked dataReformulação de consultas sparql no padrão linked data
Reformulação de consultas sparql no padrão linked data
 
Descrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosDescrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticos
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Soa Woa Rest
Soa Woa RestSoa Woa Rest
Soa Woa Rest
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES RESTINTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
INTEGRAÇÃO DE APLICAÇÃO ANDROID COM WEB SERVICES REST
 
Web Services
Web ServicesWeb Services
Web Services
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na Rede
 
Web Services - Grupo F
Web Services - Grupo FWeb Services - Grupo F
Web Services - Grupo F
 
Mashups - SOA
Mashups - SOAMashups - SOA
Mashups - SOA
 
Mashups - SOA
Mashups - SOAMashups - SOA
Mashups - SOA
 
Obtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da WebObtendo Informação Útil em Dados Semi-Estruturados da Web
Obtendo Informação Útil em Dados Semi-Estruturados da Web
 
Palestra Sobre REST
Palestra Sobre RESTPalestra Sobre REST
Palestra Sobre REST
 
Web x.0 rdf
Web x.0 rdfWeb x.0 rdf
Web x.0 rdf
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 

Último (8)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 

Web services com restful

  • 1. 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
  • 2. 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;
  • 3. 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;
  • 4. 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.
  • 5. 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.”
  • 6. 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).”
  • 7. 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;
  • 8. Princípios do REST  Interface Uniforme
  • 9. Princípios do REST  Interface Uniforme
  • 10. 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.
  • 11. 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.”
  • 12. JAX-RS  Em JAX-RS a URI de um recurso começa a ser construída com o contexto da aplicação.
  • 13. JAX-RS  Classe Recurso raiz Métodos Recurso
  • 14. JAX-RS  Parâmetros Os parâmetros de um método recurso podem ser utilizados para receber dados do cliente.
  • 17. 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.
  • 18. JAX-RS  Contextos É possível obter informações do contexto da aplicação e das requisições individuais.
  • 19. JAX-RS  Lista de classes de contexto
  • 20. 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.