Restlet: Ett enkelt ramverk för restful-tjänster
- tor 6 mar, 2008 kl 20:44
- Kommentera!
- Java, Spring, Web 2.0, Web Services
Restlet är ett ramverk för att skapa tjänster som uppfyller restful arkitekturen. Restlet är baserat på öppen källkod och kan deployas med din war fil in i en servlet container eller i den medföljande egna servern. Restlet har även stöd för integration med bland annat Spring.
I restlet motsvarar varje resurstyp av en javaklass som man sedan mappar till en URL template. URL templaten ser ut som en vanlig URL men med måsvingar runt dom delar som man vill skall vara variabla:
router.attach("/news/{newsid}",NewsResource.class);
Varje resursklass kan sedan returnera olika representationer för resursen baserat på det som klienten har specificerat i ”Accept” HTTP headern alternativt default representationen. Man kan enkelt komma åt variablerna ur URL:en samt att man kan överlagra hanterare för de andra operationerna som finns i HTTP protokollet och på det sättet skapa en riktig restfultjänst.
Man kan ju tänka sig att om man går in via webbläsaren och kör ett vanligt GET anrop så får man en textuell beskrivning av resursen men när man anropar resursen med JavaScript så får man ett JSon formaterat svar. Det finns ett antal inbyggda representationer men du kan enkelt bygga dina egna genom att ärva från en representations klass.
Ett annat ramverk med stöd för restful tjänster är CXF men jag fastnade för Restlet för den har en enkel logisk arkitektur. Det finns mer saker i restlet utöver resources som tex Guards och Filters men det får du läsa om på egen hand.