Johdatus RESTful-palveluihin WCF:llä – mobiilisovelluskehitys, verkkopalvelut, SOA-arkkitehtuuri – tekniikka
Siirry sisältöön

Johdatus RESTful-palveluihin WCF:llä – mobiilisovelluskehitys, verkkopalvelut, SOA-arkkitehtuuri

  • kirjoittaja

Mainokset

Ensinnäkin RESFUL-palvelut noudattavat arkkitehtonista tyyliä, joka tunnetaan nimellä Representational State Transfer (REST). Arkkitehtoninen tyyli on joukko rajoitteita, joita voidaan soveltaa rakennettaessa jotain. Ja ohjelmistoarkkitehtuurin tyyli on jotain, joka kuvaa ominaisuuksia, joita voidaan käyttää ohjaamaan ohjelmistojärjestelmän toteutusta. REST on arkkitehtoninen tyyli, jota voidaan käyttää ohjelmistojen rakentamiseen, joissa asiakkaat (käyttäjäagentit) voivat tehdä palvelupyyntöjä (päätepisteitä). REST on tapa toteuttaa asiakas/palvelin-arkkitehtuurityyli; itse asiassa REST perustuu nimenomaan asiakas/palvelin arkkitehtuurityyliin.

Mies nimeltä Roy Thomas Fielding loi ensin termin REST käsitteeksi väitöskirjassaan ("Arkkitehtuurityylit ja verkkopohjaisten ohjelmistoarkkitehtuurien suunnittelu"). Hän oli yksi niistä ihmisistä, jotka työskentelivät määrittelyn parissa, joka ohjaa suurimman osan Internetistä nykyään: Hypertext Transfer Protocol (HTTP). Normaalisti arkkitehtuurityyliä kuvaavien ihmisten taustalla ei ole merkitystä tyylin selittämisessä, mutta tässä mielestäni se on on tärkeä, koska uskon, että yksi parhaista tavoista saada perusymmärrys RESTistä on ajatella Webiä ja sen toimintaa.

WCF ja REST

WCF on Microsoftin kehys, jolla luodaan sovelluksia, jotka kommunikoivat verkon yli protokollasta tai tyylistä riippumatta. WCF:n ideana oli luoda laajennettava, liitettävä kehys ohjelmointi- ja konfigurointimallista koskevien tietojen oppimiseen, jotta kehittäjät voisivat soveltaa tätä tietoa moniin erilaisiin hajautettujen järjestelmien tyyppeihin.

Vaikka on totta, että suuri osa WCF:stä on RPC-suuntautunutta (SOAP:ia käyttämällä), sillä on itse asiassa ollut mahdollisuus paljastaa ja kuluttaa REST-palveluita siitä lähtien, kun se julkaistiin ensimmäisen kerran osana .NET Framework 3.0:aa. .NET Framework 3.5 System.ServiceModel.Web-kokoonpanoon lisättiin ohjelmointimalli ja myös joitain infrastruktuurin osia, jotka on rakennettu toimimaan REST-tyylillä. Ja .NET Framework 3.5 SP1 lisää pieniä parannuksia, jotka tekevät RESTin käytöstä helpompaa..

Ohjelmointimalli pyörii kahden uuden attribuutin, WebGetAttributen ja WebInvokeAttributen, sekä URI-mallimekanismin ympärillä, jonka avulla voit ilmoittaa URI:n ja verbin, joihin kukin menetelmä vastaa. Infrastruktuuri sisältyy sidoksen (WebHttpBinding) ja käyttäytymisen (WebHttpBehavior) muodossa, jotka tarjoavat oikean verkkopinon REST:n käyttöä varten. Lisäksi on olemassa jonkin verran isännöintiinfrastruktuuriapua mukautetulta ServiceHostilta (WebServiceHost) ja ServiceHostFactorylta (WebServiceHostFactory).