„8. REST (2012)” változatai közötti eltérés
Ugrás a navigációhoz
Ugrás a kereséshez
Tank (vitalap | szerkesztései) |
Tank (vitalap | szerkesztései) |
||
41. sor: | 41. sor: | ||
* CRUD műveleteken kívül másra nem alkalmas | * CRUD műveleteken kívül másra nem alkalmas | ||
* Nincs interfészleíró (ami leírja a műveleteket és a paraméterek típusát (szemantikát nem, azaz kliens stub -> szerver skeleton generálás)) | * Nincs interfészleíró (ami leírja a műveleteket és a paraméterek típusát (szemantikát nem, azaz kliens stub -> szerver skeleton generálás)) | ||
− | * Túl sok belső részletet elárul | + | * Túl sok belső részletet elárul (igen, mert szemlélet más: műveletközpontú helyett adatközpontú) |
* Tervezési guideline-ok hiánya | * Tervezési guideline-ok hiánya | ||
− | * Middleware funkciók hiánya | + | * Middleware funkciók hiánya (nincs tranzakció kezelés, meg nem biztos hogy jönn a HTTP 200 OK válasz) |
− | * Nincs publish-subscribe ill. aszinkron kommunikáció | + | * Nincs publish-subscribe (pl RSS) ill. aszinkron kommunikáció (ha a szerver hosszú müveletet végez, megoldásként HTTP 202 Accepted) |
= Elosztott technológiák összefoglaló = | = Elosztott technológiák összefoglaló = |
A lap 2013. május 26., 17:21-kori változata
Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
Az oldal még csonk. Segíts a szerkesztésében Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
Ha nem tudod, hogy állj neki, olvasd el a tutorialt.
Tartalomjegyzék
HTTP
- HTTP GET
Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
- HTTP POST
Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
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
Hiba a bélyegkép létrehozásakor: Nem lehet a bélyegképet a célhelyre menteni
- 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.
REST kritikák
- CRUD műveleteken kívül másra nem alkalmas
- Nincs interfészleíró (ami leírja a műveleteket és a paraméterek típusát (szemantikát nem, azaz kliens stub -> szerver skeleton generálás))
- Túl sok belső részletet elárul (igen, mert szemlélet más: műveletközpontú helyett adatközpontú)
- Tervezési guideline-ok hiánya
- Middleware funkciók hiánya (nincs tranzakció kezelés, meg nem biztos hogy jönn a HTTP 200 OK válasz)
- Nincs publish-subscribe (pl RSS) ill. aszinkron kommunikáció (ha a szerver hosszú müveletet végez, megoldásként HTTP 202 Accepted)
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 |