ugrás a tartalomhoz

Archívum - Nov 3, 2013 - Fórum téma

RESTful hypermedia aware media type választása erőforrás reprezentáláshoz

inf · 2013. Nov. 3. (V), 20.26
Ha valaki járatos a RESTful webservice-ek terén, az átugorhatja a következő bevezető részt. Miről is van szó? A webservice-ek osztott rendszerek esetében egy lehetséges megoldást jelentenek a gépek közötti (M2M) kommunikációra. Rengeteg megoldás van ezzel kapcsolatban, akit érdekel a téma, az olvasson utána. Ahhoz, hogy két gép kommunikálni tudjon egymással, szükség van valamilyen protokollra, amin keresztül folydogálhat az adat, illetve, hogy megkönnyítsük a programozók életét, szükség van valamilyen koncepcióra, amit jó, ha szabvány(ok)ba foglalnak. A webservice-ek esetén a HTTP a jellemző protokoll. A koncepció meg vagy SOA (service oriented architecture) vagy ROA (resource oriented architecture). Hasonlítsuk össze ezt a webbel: szintén HTTP-t használnak, szintén M2M kommunikáció: böngésző-szerver között. Egyedül a koncepció más azért mert HTML dokumentumok megjelenítésére lett kitalálva, nem pedig alkalmazások megjelenítésére. Manapság egyre jellemzőbb, hogy weboldalak helyett webalkalmazásokat írnak. Ezeknél pedig már lehet hasznosítani a webservice-ek nyújtotta előnyöket. Néhány éve még az volt a jellemző, hogy ha egy webalkalmazásnál valamit újratöltés nélkül akartunk megjeleníteni, akkor indítottunk egy AJAX kérést a szerver felé, aztán a válaszban megkaptuk az adatokat JSON-ban, a kliens pedig megjelenítette őket, és mindenki boldog volt. Ez hasonló koncepció, mint amit a SOA követ. A SOA-nál távoli eljárásokat hívunk meg, visszakapjuk a visszatérő értéket valamilyen formában, pl SOAP message, és utána eldöntjük, hogy hogyan dolgozzuk fel. Ennek a koncepciónak az a hátránya, hogyha változik a webservice, akkor változtatni kell a kliensen is. Azért van ez így, mert a kliens vastag: tud arról, hogy mi van a business logic-ban, előre tudja, hogy milyen jellegű az adat, amit kap, és azt hogyan kell feldolgoznia, vagy webalkalmazás esetében megjelenítenie. Ez a koncepció rossz a webre, több okból is.