Introduktion till RESTful-tjänster med WCF – Mobile Application Development, Web Services, SOA Architecture – Technology
Hoppa till innehållet

Introduktion till RESTful Services med WCF – Mobile Application Development, Web Services, SOA Architecture

Annonser

För det första följer RESTFUL-tjänsterna en arkitektonisk stil som kallas Representational State Transfer (REST). En arkitektonisk stil är en uppsättning begränsningar som kan tillämpas när man bygger något. Och en mjukvaruarkitekturstil är något som beskriver de egenskaper som kan användas för att styra implementeringen av ett mjukvarusystem. REST är en arkitektonisk stil som kan användas för att bygga mjukvara där klienter (användaragenter) kan göra förfrågningar om tjänster (slutpunkter). REST är ett sätt att implementera en klient/server-arkitektonisk stil; i själva verket är REST uttryckligen baserad på klient/serverns arkitektoniska stil.

En man vid namn Roy Thomas Fielding myntade först termen REST som ett begrepp i sin doktorsavhandling ("Architecture Styles and the Design of Network-Based Software Architectures"). Han var en av dem som arbetade med specifikationen som driver det mesta av internet idag: Hypertext Transfer Protocol (HTTP) Normalt är bakgrunden för personer som beskriver en arkitektonisk stil inte relevant för en förklaring av stilen, men här TROR JAG det är viktigt eftersom jag TROR att ett av de bästa sätten att få en grundläggande förståelse för REST är att tänka på webben och hur den fungerar.

WCF och REST

WCF är Microsofts ramverk för att skapa applikationer som kommunicerar över ett nätverk, oavsett protokoll eller stil. Konceptet med WCF var att skapa ett utbyggbart, pluggbart ramverk för att lära sig information om en programmerings- och konfigurationsmodell, så att utvecklare kunde tillämpa denna kunskap på många olika typer av distribuerade system.

Även om det är sant att mycket av WCF är RPC-orienterat (med SOAP), har det faktiskt haft en chans att exponera och konsumera REST-tjänster sedan det först släpptes som en del av .NET Framework 3.0. Med .NET Framework 3.5 System.ServiceModel.Web-sammansättningen lades en programmeringsmodell till och även några delar av infrastrukturen som byggdes för att fungera med REST-stilen. Och .NET Framework 3.5 SP1 lägger till några små förbättringar för att göra REST enklare att använda..

Programmeringsmodellen kretsar kring två nya attribut, WebGetAttribute och WebInvokeAttribute, och en URI-mallmekanism som låter dig deklarera URI och verb som varje metod kommer att svara på. Infrastruktur ingår i form av en bindning (WebHttpBinding) och beteende (WebHttpBehavior) som ger rätt nätverksstack för att använda REST. Dessutom finns det en del värdinfrastrukturhjälp från en anpassad ServiceHost (WebServiceHost) och en ServiceHostFactory (WebServiceHostFactory).