DisclaimerJeg antar atdeltakerene har kjennskap til REST.Jeg kommer ikke til å forklare REST her.
4.
Hvem er jeg?KonsulentJava / Tech1Laget Escenic sin REST-webserviceDespot for HTTPCache4j, en browsercache i JavaAktiv på #rest på irc.freenode.netNestleder i javaBin
ApplikasjonstilstandHvilket «skjermbilde» klientener på nå.Et «skjermbilde» kan være oppbygd av mange ressurserHvilke oppgaver klienten kan gjøre basert på resultatet fra den foregående forespørslen.Hver interaksjon med serveren kan man si er en del av en tilstandsmaskin
Definisjon av hypermedia“Theuse of text, data, graphics, audio and video as elements of an extended hypertext system in which all elements are linked so that the user can move between them at will”(min utheving)
11.
Hva betyr dette?Toelementtyper:HypertekstData (herunder: tekst, data, grafikk, audio og video)
Hva med JSONog XML?ikke hypermedia formatIkke RESTfullt, pga punktet overÅ gi application/json eller application/xml over HTTP er som å si: «Her har du en ting, men jeg kan ikke si hvordan den ser ut, eller hvordan du kan interaktere med den»
Kontrolldata for leseforespørslerHTML:Kan gjøres ved Code-On-Demand(JS)Atom: Finnes ikke.Xsl:include: <xsl:include href="http://www.example.org/newsfeed" accept="application/rss" />
HTMLStort sett deteneste man trengerKontekst til elementene gis via en profile attributt i <head>
28.
Egne hypermedia formatDeter mulig.Gjør et godt forsøk på å utrykke deg i et eksisterende format.Lag et generelt format for domenet, om du ikke kan bruke et eksisterendeTenk på hypermediafaktorerene når du designerLa formatet du designer være protokolluavhenigig
29.
Egne hypermedia formatTenkpå utvidbarhet: feks XML namespacesLink-relasjoner bør være definert som URIerDet er fullt mulig å lage et JSON-basert hypermedia format.Men; man får veldig fort applikasjons lock-in.XML er enklere, pga namespacer som muliggjør gjenbruk av eksisterende formater.
30.
Viktige ting åtenke påLa den private objektgrafen på server/klient forbli privatTenk heller foretningsregler/protokoller i stedet for serialisering. Hva kan man la være å eksponere?Versjonering? Du trenger det ikke med et godt designet hypermediaformatALDRI send application/xml eller application/json med mindre dette er et endepunkt.
31.
Anbefalt lesestoffAtompub: http://tools.ietf.org/html/rfc5023H-Factors:http://amundsen.com/hypermedia/hfactor/Fielding’s REST: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htmRegistrerte MIME-typer: http://www.iana.org/assignments/media-types/Registrerte Link-relasjoner:http://www.iana.org/assignments/link-relations/REST in Practice (bok)RESTful Web Services Cookbook (bok)
#24 Støtte for å endre Accept-* headersDiskusjon:@type har blitt diskutert til det ugjenkjennelige på rest-discuss mailinglistenÅ bare bruke verdien av @type i «Accept» header kan føre til starvation problematikk osv.
#25 Support for modifying control data for update requests (e. g. Content-* headers).
#26 Support for indiciating the interface method for requests (e.g. HTTP GET,POST,PUT,DELETE methods).