8. REST (2012)

A VIK Wikiből
A lap korábbi változatát látod, amilyen Tank (vitalap | szerkesztései) 2013. május 26., 18:10-kor történt szerkesztése után volt.

Ez az oldal egyelőre csonk. Segíts a szerkesztésében!

Ha nem tudod, hogyan állj neki, olvasd el az útmutatót!


HTTP

  • HTTP GET

  • HTTP POST

REST

REST = Representational State Transfer

RESTful HTTP

  • HTTP protokoll kibövítése: GET, POST, PUT, DELETE
  • Bemenö paraméterek: URL része, URL query string, POST paraméter, HTTP body
  • Visszatérési érték: HTTP body
  • nagyon egyszerü: böngészőből is tesztelhetö

REST alapelvei

  • Minden eröforráshoz azonosító rendelése (URI, URN, URL a jó, mert egyértelmű, könnyű feloldani, független a mögöttes technológiától)
  • Erőforrások lehetnek: doksik, adatok (szamitas eredmenye), szolgáltatások (SOAP, metaadatok, stb), fogalmak
  • Dolgok összekapcsolása (jó URL cimet kell választani)
  • CRUD müveletek használata (Create, Read, Update, Delete)
  • Állapotmentes kommunikáció

Többféle adatreprezentáció

  • HTML (emberek szamara) vagy XML, JSON, stb. gépek számára
  • változhat a struktúra

Állapotmentes kommunikáció

A REST önmagában állapotmentes

  • De az alkalmazásnak lehet állapota (kliens oldalon, erőforrásban tárolva)
  • Skálázhatósági előnyök emiatt (nincs session, felcserélhető szerverek)

Műveletek erőforrásokon

  • safe: a kliens olyan műveletet hajt

végre, ami csak lekérdez, és nem tehető felelőssé az okozott mellékhatásokért

  • idempotent: a művelet ismételt végrehajtása ugyanazt az eredményt produkálja
  • cacheable: akár a proxy vagy a gateway is cachelheti a szerver kapcsolódása nélkül. Képek esetén ajánlatos a long live beállitása.

Elosztott technológiák összefoglaló

  REST RMI WS CORBA
Különbözö programnyelvek között müködik igen nem igen igen
Kommunikációs protokoll HTTP RMI SOAP IIOP
Interfészleíró nincs/WADL Java Interface WSDL IDL
Katalógus JNDI UDDI Naming Service -
Elosztott igen igen igen igen
Szakványos igen nem igen igen
Széles körü támogatás igen nem igen igen
Egyszerü igen igen nem nem
Egyszerü API igen igen igen nem
Gyors igen igen nem igen
Biztonság, tranzakciók nem nem igen nem