Representational State Transfer - style architektoniczny
założenia
Jednolity interfejs
jednolita identyfikacja / adresacja zasobów
URL jest pewną referencją, pod którym coś się ukrywa, nie musi to być plik, może być usługa
manipulacja zasobami poprzez ich reprezentacje
samoopisujące się wiadomości (bezstanowość)
powiązania między zasobami (wyrażone w reprezentacjach)
skalowalność interakcji komponentów
ogólność interfejsów
niezależność wdrażania komponentów
Możliwość wprowadzania usług pośredniczących
Prostota
Mniejszy narzut obliczeniowy
brak dodatkowego opakowania zleceń (
SOAP)
brak konieczności przetwarzania dokumentów
XML
wykorzystanie znanej i przetestowanej infrastruktury web
możliwość stosowania serwerów pośredniczących
Semantyka operacji
charakter zlecanego przetwarzania (odczyt, modyfikacja)
(inne rzeczy których nie zdążyłem przepisać)
SOAP traktuje Web jako mechanizm transportowy do przesyłania wiadomości interpretowanych przez aplikacje spoza Web
tunelowanie wiadomości przez web
nie po to tworzony był web
nie za bardzo nadaje się do tego celu
SOAP korzysta tylko z rozmytej, semantycznej metody
POST protokołu
HTTP pomijając najsilniejsze strony web
web jest już integrującą szyną komunikacyjną (ESB) wyposażoną w coś czego nie przepisałem
fundamentem dla web są intentyfikatory
URI
web services pozostawiają zarządzanie nazwami aplikacjom
soap stosuje uri tylko do wskazywania punktu dostepu do usługi, która zarządza wszystkimi wewnętrznymi zasobami, np:
bank = new SOAPProxy("http://bank.pl/ws");
bank.addMoneyToAccount("382198309183", 540.5);
(nie zdążyłem przepisać, slajd trwał ułamek sekundy)
Zdalne wywoływanie procedur
Architektura zorientowana na zasoby
coś jeszcze o czym nic nie powiedział
Podstawowe pojęcia używane przy opisie usługi
wybór determinuje sposób modelowania i projektowania usługi
usługa może udostępniać oba interfejsy
nie ma możliwości automatyzacji tranlacji (…)
POST /we HTTTP/1.1
Host: books.example.com
ContentType: application/soap+xml <- co dostajemy
ContentLength: 165 <- ile dostajemy
<?xml ...
GET /books/12345 HTTP/1.1
Host: books.example.com
GET /service?method=lookupBook&id=12345 HTTP/1.1
Host: books.example.com
WS-*: UDDI
REST: po prostu Web
wyszukiwarki internetowe
microformats
koniec slajdów