| Tuesday, 06 September 2011 00:28 | |||||
|
There are no translations available. Design en RESTful blogI denne artikkelen skal jeg skrive litt om hvordan vi tenker for å komme igang med "Lag min egen blogg" prosjektet. PS. Er du ute etter å skrive en egen blogg, er du nå kommet feil :) Temaet her er hvordan programmere sin egen weblog i Java. Planlegging / KravspesifikasjonSom i de fleste utviklingsprosjekt er det lurt å planlegge før vi begynner å kode. Vi begynner med å dele inn oppgavene i fire steg som må kartlegges:
PS! Punkt 2, 3 og 4 inneholder terminologi som jeg skrev litt om i "En introduksjon til REST". Om du ikke har lest denne artikkelen enda, anbefaler jeg at du gjør det nå. 1 - KravspesifikasjonI denne artikkelen tenkte jeg at vi skulle designe en miniblogg bygd opp etter twitter modellen. Vi kan da tenke oss følgende scenarier:
Selv om dette ikke var så mange punkter utgjør det essensen i de fleste blogger, og er nok til vårt lille eksempel. Dette var altså punkt 1, kravspesifikasjonen vår. 2 - Kartlegge ressurserNeste punkt på listen er å kartlegge / definere hvilken ressurser vi trenger. Utifra kravspesifikasjonen kan vi dra ut følgende:
Dette var altså punkt 2, ressurser på listen vi laget i starten. 3 - Kartlegge representasjonerSom jeg skrev i "En introduksjon til REST" er en representasjon hvordan en ressurs ser ut på det tidspunktet den blir etterspurt. Representasjonen overføres ved hjelp av HTML og kan være hvilken som helst type binærstrøm. Men vi bør prøve å velge en representasjon som det finnes bred støtte for å lese på klientsiden, f.eks XML eller JSON. Denne gangen velger XML siden dette er et format som er utbredt, legg å lese og har god støtte iform av bibliotek på flere plattformer. Vi kan da se for oss følgende måte å representere ressursene våre på.
Og tilsvarende for en bloggpost
4 - Definere URIerDette er et viktig punkt, spesielt om vi ønsker å lage en tjeneste som også andre skal kunne bruke. Det er nå vi definerer selve APIet, og det er viktig at gjør gode valg i dette steget. En god API bør ha URIer som er unike og ikke endrer seg. Vi må også huske på at vi utvikler en nettjeneste, og ikke en nettside. Vi eller andre kan så i neste omgang bruke nettjenesten for å implementere funksjoner på en nettside. Nettjenesten vår skal i utgangspunktet brukes av datamaskiner og bør være tilpasset dette. Vi kan skille nettjenesten vår fra nettsiden ved å ha f.eks www.api.domeneavn.no (for APIet) og www.domeneavn.no (for hjemmeside). For vår RESTful blog kan følgende være et godt forslag til URI oppsett:
Som du ser i listen over kan samme URIen brukes til å utføre forskjellige operasjoner på representasjonen. Typen bestemmer logikken som skal utføres på representasjonen, f.eks DELETE for å slette en representasjonen, og PUT for å opprette / redigere. Det å koke opp forslag til URI design er ingen eksakt vitenskap, men noe som man må tilpasse til hvert enkelt tilfelleselve i. Her kan du lese litt mer om URIer generelt: http://www.w3.org/Provider/Style/URI , og her kan du lese litt om RESTfule URIer spesifikkt: http://redrata.com/restful-uri-design/ KonklusjonDesignprosessen i et så enkelt eksempel som vi har brukt her er oversiktlig, og fokusert på ressurser. Vi kan bruke samme fremgangsmåter i et RESTful prosjekt som et vanlig nettsted prosjekt. Det neste logiske steget er nå selve implementasjonen. Vi har et design / spesifikasjon og må etterhvert velge hvordan vi skal gjøre implementeringen rent teknisk. Vi har flere mulige Java RESTfulle rammeverk som kan være aktuelle, f.eks Jersey JAX-RS (referanse implementasjonen av Java API for RESTful Web Services Specifications), Restlet framework, JBoss RESTEasy JAX-RS og Struts 2 m/REST plugin. Dette vil bli et tema for en ny artikkel senere.
|
|||||
| Last Updated on Saturday, 17 September 2011 00:31 |