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,202 views
2,143 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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,202
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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>

    ×