SlideShare uma empresa Scribd logo
RESTful Web Services -Criando serviços  na  Web Rafael de F. Ferreira Sun Campus Ambassador [email_address]
Um pouco de história 1983: RPC 1992: Corba 1.1 1996: Microsoft DCOM 2000: SOAP 2004: WS-i Basic Profile ...
Enquanto isso... 1945: Memex  (Vannevar Bush) 1965: “Hipertexto”  (Ted Nelson) 1991: Gopher  (U. Minessota) 1991: World Wide Web  (Tim Berners-Lee, CERN) 1996: HTTP/1.0  (Tim Berners-Lee, Roy Fielding, et al.) 1999: HTTP/1.1  (Roy Fielding, et al.) 2000: Tese de  doutorado do Roy Fielding
REST Identificação de  Recursos Dê um  identificador  para cada “coisa” Interface uniforme Toda interação usa os mesmos  verbos Comunicação trocando  Representações Um recurso pode lidar diversos  formatos   Interações sem estado não existe “sessão” Hipermídia Representações contém  links  e  forms  para outros recursos
RESTful Web Services Interação programática usando princípios REST Usando HTTP Escalabilidade Pela arquitetura Pela infraestrutura Contribuição para a rede Interoperabilidade
HTTP Identificador  Universal de Recursos: URI Verbos :  GET ,  POST ,  PUT, DELETE,   HEAD,  OPTIONS Códigos de status padronizados Negociação de conteúdo ( formatos  MIME) Redireção Caching GET Condicional  Compressão Chunking
JSR-311  Framework para desenvolver serviços REST com Java Implementação de referência: Jersey (código aberto) Baseado em anotações Muito extensível
Root Resources @UriTemplate @HttpMethod @UriParam Response
Sub Resources
Sistema de Matrículas - Recursos Alunos /aluno/78796 Disciplinas /disciplina/MAC0222
Sistema de Matrículas – Recursos 2 Alunos /aluno/78796 Disciplinas /disciplina/MAC0222 Lista de alunos /alunos Lista de Disciplinas /disciplinas
Sistema de Matrículas - Formalizando
Sistema de Matrículas - Formalizando
Sistema de Matrículas - Formalizando
Sistema de Matrículas - Formalizando
Sistema de Matrículas – Último Recurso
Links NetBeans: http://www.netbeans.org JSR 311 http://jcp.org/en/jsr/detail?id=311 https://jsr311.dev.java.net/ Reference Implementation http://jersey.dev.java.net/ Lista de discussão http://tech.groups.yahoo.com/group/rest-discuss/ Tese do Roy Fielding http://www.ics.uci.edu/~fielding/pubs/ dissertation/top.htm
Fast Track Your Career with Sun! Get  FREE  Web-based training on  Java TM ,  Solaris TM  & more! Visit:  http://www.sunacademic.com Course registration code for ABC University is XYZ Increase earnings potential with a Sun Certification! Sun Certified Associate/Programmer for the Java 2 Platform SE Sun Certified Web Component Developer for Java EE Sun Certified Mobile Application Developer for Java ME Sun Certified System/Network Admin for Solaris Operating System  Free practice exams
Obrigado! Rafael de F. Ferreira http://blogs.sun.com/rafaelferreira [email_address]

Mais conteúdo relacionado

ODP
Desenvolvimento de WebServices RESTful com NodeJS e MongoDB
KEY
PHP RESTful Web Services - PHPConf'09
PDF
Utilizando web services do google, yahoo! e twitter com php
ODP
Palestra Mocks - AgileBrazil 2010
PDF
Spring 3: Uma Plataforma além do Framework
PDF
Linked Data - Minicurso - SBBD 2011
PPTX
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
PPTX
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Desenvolvimento de WebServices RESTful com NodeJS e MongoDB
PHP RESTful Web Services - PHPConf'09
Utilizando web services do google, yahoo! e twitter com php
Palestra Mocks - AgileBrazil 2010
Spring 3: Uma Plataforma além do Framework
Linked Data - Minicurso - SBBD 2011
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET

Semelhante a REST e JSR-311 (20)

PDF
REST com JSF 2 e HTML 5
PPT
Anotacao Semântica em Documentos Não Estruturados
PDF
Plataforma Zope Plone na PGR
PPTX
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
PDF
De Web Services RESTful a Aplicações Mashup
PPT
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
PPTX
DotNetDay novidades entityframework 4
PPTX
Integrando sua App ao Mundo via REST/JSON
PDF
Trabalho final psdc
ODP
Palestra Introdução a Linked Data
PPSX
Cakephp 2.0 - O que mudou
PPTX
REST and JEE
PDF
Integrado Linux y Active Directory
PDF
REST com Python
PDF
04 - Felipe Oliveira - Think Decoupled! (SOA)
PPT
Metadados
PPT
Dicas sobre API (case Stormpath, Edmunds e Twitter)
PDF
Web semântica
PPTX
Conhecendo o Novo REST Framework
PPTX
Linux - Um estudo de caso
REST com JSF 2 e HTML 5
Anotacao Semântica em Documentos Não Estruturados
Plataforma Zope Plone na PGR
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
De Web Services RESTful a Aplicações Mashup
Anotação Semântica de Conteúdo Web Utilizando Microformatos e RDFa
DotNetDay novidades entityframework 4
Integrando sua App ao Mundo via REST/JSON
Trabalho final psdc
Palestra Introdução a Linked Data
Cakephp 2.0 - O que mudou
REST and JEE
Integrado Linux y Active Directory
REST com Python
04 - Felipe Oliveira - Think Decoupled! (SOA)
Metadados
Dicas sobre API (case Stormpath, Edmunds e Twitter)
Web semântica
Conhecendo o Novo REST Framework
Linux - Um estudo de caso
Anúncio

Último (19)

PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula04-Academia Heri- Tecnologia Geral 2025
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Processos na gestão de transportes, TM100 Col18
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Apple Pippin Uma breve introdução. - David Glotz
Aula 18 - Manipulacao De Arquivos python
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
COBITxITIL-Entenda as diferença em uso governança TI
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Anúncio

REST e JSR-311

  • 1. RESTful Web Services -Criando serviços na Web Rafael de F. Ferreira Sun Campus Ambassador [email_address]
  • 2. Um pouco de história 1983: RPC 1992: Corba 1.1 1996: Microsoft DCOM 2000: SOAP 2004: WS-i Basic Profile ...
  • 3. Enquanto isso... 1945: Memex (Vannevar Bush) 1965: “Hipertexto” (Ted Nelson) 1991: Gopher (U. Minessota) 1991: World Wide Web (Tim Berners-Lee, CERN) 1996: HTTP/1.0 (Tim Berners-Lee, Roy Fielding, et al.) 1999: HTTP/1.1 (Roy Fielding, et al.) 2000: Tese de doutorado do Roy Fielding
  • 4. REST Identificação de Recursos Dê um identificador para cada “coisa” Interface uniforme Toda interação usa os mesmos verbos Comunicação trocando Representações Um recurso pode lidar diversos formatos Interações sem estado não existe “sessão” Hipermídia Representações contém links e forms para outros recursos
  • 5. RESTful Web Services Interação programática usando princípios REST Usando HTTP Escalabilidade Pela arquitetura Pela infraestrutura Contribuição para a rede Interoperabilidade
  • 6. HTTP Identificador Universal de Recursos: URI Verbos : GET , POST , PUT, DELETE, HEAD, OPTIONS Códigos de status padronizados Negociação de conteúdo ( formatos MIME) Redireção Caching GET Condicional Compressão Chunking
  • 7. JSR-311 Framework para desenvolver serviços REST com Java Implementação de referência: Jersey (código aberto) Baseado em anotações Muito extensível
  • 8. Root Resources @UriTemplate @HttpMethod @UriParam Response
  • 10. Sistema de Matrículas - Recursos Alunos /aluno/78796 Disciplinas /disciplina/MAC0222
  • 11. Sistema de Matrículas – Recursos 2 Alunos /aluno/78796 Disciplinas /disciplina/MAC0222 Lista de alunos /alunos Lista de Disciplinas /disciplinas
  • 12. Sistema de Matrículas - Formalizando
  • 13. Sistema de Matrículas - Formalizando
  • 14. Sistema de Matrículas - Formalizando
  • 15. Sistema de Matrículas - Formalizando
  • 16. Sistema de Matrículas – Último Recurso
  • 17. Links NetBeans: http://www.netbeans.org JSR 311 http://jcp.org/en/jsr/detail?id=311 https://jsr311.dev.java.net/ Reference Implementation http://jersey.dev.java.net/ Lista de discussão http://tech.groups.yahoo.com/group/rest-discuss/ Tese do Roy Fielding http://www.ics.uci.edu/~fielding/pubs/ dissertation/top.htm
  • 18. Fast Track Your Career with Sun! Get FREE Web-based training on Java TM , Solaris TM & more! Visit: http://www.sunacademic.com Course registration code for ABC University is XYZ Increase earnings potential with a Sun Certification! Sun Certified Associate/Programmer for the Java 2 Platform SE Sun Certified Web Component Developer for Java EE Sun Certified Mobile Application Developer for Java ME Sun Certified System/Network Admin for Solaris Operating System Free practice exams
  • 19. Obrigado! Rafael de F. Ferreira http://blogs.sun.com/rafaelferreira [email_address]