3. Disclaimer Jeg antar at deltakerene har kjennskap til REST. Jeg kommer ikke til å forklare REST her.
4. Hvem er jeg? Konsulent Java / Tech1 Laget Escenic sin REST-webservice Despot for HTTPCache4j, en browsercache i Java Aktiv på #rest på irc.freenode.net Nestleder i javaBin
8. Applikasjonstilstand Hvilket «skjermbilde» klienten er på nå. Et «skjermbilde» kan være oppbygd av mange ressurser Hvilke 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
9. Tilstandsmaskin – ordre Velg Godkjenn Betal Send Ønskeliste Fritt fra REST in Practice - RESTBucks
10. Definisjon av hypermedia “The use 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? To elementtyper: Hypertekst Data (herunder: tekst, data, grafikk, audio og video)
13. Spesifikasjon Spesifikasjonen til hypermediaformatet er abstrakt. Sammenhengen mellom et instansdokument + link-relasjoner er hva som utgjør applikasjoner.
15. Hva med JSON og XML? ikke hypermedia format Ikke 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»
23. Kontrolldata for leseforespørsler HTML: Kan gjøres ved Code-On-Demand(JS) Atom: Finnes ikke. Xsl:include: <xsl:include href="http://www.example.org/newsfeed" accept="application/rss" />
27. HTML Stort sett det eneste man trenger Kontekst til elementene gis via en profile attributt i <head>
28. Egne hypermedia format Det er 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 eksisterende Tenk på hypermediafaktorerene når du designer La formatet du designer være protokolluavhenigig
29. Egne hypermedia format Tenk på utvidbarhet: feks XML namespaces Link-relasjoner bør være definert som URIer Det 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 privat Tenk heller foretningsregler/protokoller i stedet for serialisering. Hva kan man la være å eksponere? Versjonering? Du trenger det ikke med et godt designet hypermediaformat ALDRI send application/xml eller application/json med mindre dette er et endepunkt.
31. Anbefalt lesestoff Atompub: http://tools.ietf.org/html/rfc5023 H-Factors: http://amundsen.com/hypermedia/hfactor/ Fielding’s REST: http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm Registrerte 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)
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.
Support for modifying control data for update requests (e. g. Content-* headers).
Support for indiciating the interface method for requests (e.g. HTTP GET,POST,PUT,DELETE methods).