Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
RESTful Web Services -Criando serviços  na  Web <ul><li>Rafael de F. Ferreira </li></ul>Sun Campus Ambassador [email_addre...
Um pouco de história <ul><li>1983: RPC </li></ul><ul><li>1992: Corba 1.1 </li></ul><ul><li>1996: Microsoft DCOM </li></ul>...
Enquanto isso... <ul><li>1945: Memex  (Vannevar Bush) </li></ul><ul><li>1965: “Hipertexto”  (Ted Nelson) </li></ul><ul><li...
REST <ul><li>Identificação de  Recursos </li></ul><ul><ul><li>Dê um  identificador  para cada “coisa” </li></ul></ul><ul><...
RESTful Web Services <ul><li>Interação programática usando princípios REST </li></ul><ul><li>Usando HTTP </li></ul><ul><li...
HTTP <ul><li>Identificador  Universal de Recursos: URI </li></ul><ul><li>Verbos :  GET ,  POST ,  PUT, DELETE,   HEAD,  OP...
JSR-311  <ul><li>Framework para desenvolver serviços REST com Java </li></ul><ul><li>Implementação de referência: Jersey (...
Root Resources <ul><li>@UriTemplate </li></ul><ul><li>@HttpMethod </li></ul><ul><li>@UriParam </li></ul><ul><li>Response <...
Sub Resources
Sistema de Matrículas - Recursos <ul><li>Alunos </li></ul><ul><ul><li>/aluno/78796 </li></ul></ul><ul><li>Disciplinas </li...
Sistema de Matrículas – Recursos 2 <ul><li>Alunos </li></ul><ul><ul><li>/aluno/78796 </li></ul></ul><ul><li>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 <ul><li>NetBeans: </li></ul><ul><ul><li>http://www.netbeans.org </li></ul></ul><ul><li>JSR 311 </li></ul><ul><ul><li...
Fast Track Your Career with Sun! <ul><li>Get  FREE  Web-based training on  Java TM ,  Solaris TM  & more! </li></ul><ul><u...
Obrigado! <ul><li>Rafael de F. Ferreira </li></ul><ul><li>http://blogs.sun.com/rafaelferreira </li></ul><ul><li>[email_add...
Upcoming SlideShare
Loading in …5
×

REST e JSR-311

2,329 views

Published on

Talk about JSR-311 and RESTful Web Services at the University of São Paulo, Brazil (in portuguese).

Apresentação sobre Web Services estilo REST e JSR-311 na Universidade de São Paulo, em português.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

REST e JSR-311

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

×