Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Passos em Direção à Glória do REST

Passos em Direção à Glória do REST

Alexandre Gaigalas

April 25, 2015
Tweet

More Decks by Alexandre Gaigalas

Other Decks in Technology

Transcript

  1. Passos em Direção à Passos em Direção à Glória do

    REST Glória do REST Alexandre Gaigalas
  2. REST em um Slide REST em um Slide Baixa Curva

    de Aprendizado Extensibilidade Hipermídia Distribuída Escala da Internet Cliente-Servidor Stateless Cacheável Camadas Interface Uniforme Código sob Demanda** Requisitos Regras Performance Escalabilidade Simplicidade Manutenibilidade Visibilidade Portabilidade Confiabilidade Propriedades Fatores Derivados de Outros Estilos Fatores RESTful
  3. Richardson Maturity Model Richardson Maturity Model Termo cunhado por Martin

    Fowler, não por Leonard Richardson. Leonard Richardson chama o conceito de Hypermedia Maturity Heuristics.
  4. Hypermedia Maturity Hypermedia Maturity Nível 2 Nível 3 POST,PUT /articles

    GET,PATCH /images POST,GET /people <a href="..." rel="..."> <xsl:include> {"_links" : ... }
  5. Fielding Fielding Identificação Representação Autodescrição Estado em Hipermídia Richardson Richardson

    Amundsen Amundsen Identificação Métodos Apropriados Controles de Hipermídia REST em Regras REST em Passos RMM Nível 3 Não é Suficiente!
  6. Fatores para Links Fatores para Links LE Link Embedding Links

    embutidos no recurso LO Link Outbound Links para navegar LT Link Templating Formulários para navegar LN Unsafe Updates Formulários para alterar estado LI Safe Updates Formulários para impor estado
  7. Fatores para Links Fatores para Links Exemplos com HTML LE

    Link Embedding <img, <iframe, <script LO Link Outbound <a href LT Link Templating <form method="get" LN Unsafe Updates <form method="post" LI Safe Updates AJAX (PUT, DELETE)
  8. Fatores para Controles Fatores para Controles CR Control Read Escolher

    o media type ao ler CU Control Update Escolher o media type ao atualizar CM Control Methods Escolher o método do protocolo CL Control Links Escolher as relações entre links
  9. Fatores para Controles Fatores para Controles Exemplos em HTML/XSL CR

    Control Read <xsl:include accept="text/plain" CU Control Update <form enctype="application/... CM Control Methods <form method="post" CL Control Links <a rel="item"
  10. HTML HTML CL CR CU CM LE LO LT LN

    LI ATOM ATOM CL CR CU CM LE LO LT LN LI SVG SVG CL CR CU CM LE LO LT LN LI JSON JSON CL CR CU CM LE LO LT LN LI CL CR CU CM LE LO LT LN LI CL CR CU CM LE LO LT LN LI
  11. JSON+Siren JSON+Siren CL CR CU CM LE LO LT LN

    LI JSON+HAL JSON+HAL CL CR CU CM LE LO LT LN LI HTML + JS HTML + JS CL CR CU CM LE LO LT LN LI
  12. O Problema do HTML+JS O Problema do HTML+JS “ Workarounds

    for broken implementations (such as those browsers stupid enough to believe that HTML defines HTTP’s method set) should be defined separately, or at least in appendices, with an expectation that the workaround will eventually be obsolete Roy Fielding, 2008