REST

De Viquipèdia
Dreceres ràpides: navegació, cerca
Aquest article tracta sobre l'arquitectura de programari. Si cerqueu el factor de transcripció, vegeu NRSF.

REST (Representational State Transfer) és una arquitectura de programari pensada per sistemes distribuïts basats en hipermèdia, com ara el web. Aquest terme va ser introduït l'any 2000 en una tesi doctoral sobre arquitectures de programari de xarxes.[1] Aquesta tesi va ser escrita per Roy Thomas Fielding i dirigida per Richard N. Taylor. Roy va ser un dels principals autors de les especificacions del protocol HTTP i explica en la seva tesi com es pot aprofitar aquest protocol per tal de desenvolupar aplicacions distribuïdes. Tot i que en un principi REST es referia tan sols a un conjunt de principis d'arquitectura de xarxa i la definició i adreçament dels recursos, actualment aquest concepte s'utilitza per referir-se a una interfície web que utilitza XML i HTTP sense cap conjunt de capçaleres com podria ser en el cas de SOAP i XML-RPC. Segons la tesi de Roy es poden dissenyar interfícies XML+HTTP seguint la filosofia de Remote Procedure Call sense utilitzar la complexitat del protocol SOAP.

REST vs SOA[modifica | modifica el codi]

  • El millor és utilitzar REST quan sigui necessari tenir representació diferent a XML.
  • Si el criteri de l'escalabilitat té molt pes dintre del blueprint d'arquitectura, REST és la millor opció perquè permet que tots els recursos presentin la mateixa interfase als clients.
  • SOA i Serveis web, estan donats suport sobre estàndards i especificacions d'àmplia maduresa per exemple W-Security, REST no conta per exemple amb una àmplia gamma d'estàndards.
  • Els Web Services poden suportar més protocols de transport com JMS, SOAP, etc. REST tan sols coneix HTTP.
  • Si hem d'oferir serveis de la sindicació de per RSS o ATOM, REST és la millor opció.

Notes[modifica | modifica el codi]

  1. [enllaç sense format] http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm (anglès)