REST i SOAP - co to jest? Które wybrać?

2014-01-10 19:40
0

Witam. Mam takie pytania. Dobrze rozumiem, że REST oraz SOAP są bibliotekami, które oferują dostęp do plików client-server na zewnętrznych serwerach/serwisach ? Jeżeli źle rozumiem, to prosiłbym o wytłumaczenie. Chciałbym też dowiedzieć się, która biblioteka/technologia jest lepsza, łatwiejsza, która jest używana obecnie. (php)
Z góry dziękuję.

Pozostało 580 znaków

2014-01-10 19:55

Nie bibliotekami, a protokołami komunikacji. REST opiera się na tym, że protokół HTTP posiada parę czasowników (GET - pobierz, POST - utwórz, PUT - aktualizuj, DELETE - usuń, oraz parę innych). Do tej pory stosowano głównie pierwsze 2, ale wraz z rozwojem internetu postawiono również na pozostałe. W ten sposób mamy 2 różne rzeczy: identyfikator podmiotu (URI) oraz akcję (czasownik HTTP).

SOAP z kolei opiera się o wymianę dokumentów XML/JSON. Wysyłasz na serwer plik, który serwer parsuje i następnie wykonuje określone akcje.

SOAP jest znacznie bardziej ustandaryzowaną metodą, jednak dla mnie znacznie bardziej naturalny jest REST. Obecnie popularniejszy jest REST, który jest bardziej elastyczny, jednak wiele serwisów dalej używa SOAP (jak Allegro).

edytowany 1x, ostatnio: hauleth, 2014-01-10 21:44
znacznie, znacznie, znacznie... Mało snu? ;] - spartanPAGE 2014-01-10 21:16
I dużo alkoholu. - hauleth 2014-01-10 21:45

Pozostało 580 znaków

2014-01-10 20:39
0

SOAP pozwala dowiedzieć się jak komunikować się z serwisem za pomocą pewnego ustandaryzowanego kontraktu (WSDL), do RESTa musisz mieć dokumentacje która ci powie co za JSONa ci ten RESTowy serwis wypluje. SOAP daje ci też dużo więcej możliwości takich jak m.in. szyfrowanie, ale jednocześnie jest bardziej skomplikowany i dużo "cięższy".


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
RESTa też zaszyfrujesz. Wysyłając po HTTPS. - hauleth 2014-01-10 20:52

Pozostało 580 znaków

2014-01-10 21:29
upandrunning
0

Ostatnio trochę używam REST i jestem zdania, że ten protokół jeśli już go używać to lepiej do rzeczy o lżejszym charakterze. Najbardziej rażące wady RESTa dla mnie:

  1. słabo wspiera transakcje (bo wszystko trzeba do 1 requesta sprowadzać :/)
  2. PUT i DELETE nie są wspierane w formularzach dlatego, trzeba posiłkować się fake'owymi metodami
  3. w URLach określa się zasoby jako rzeczowniki, a i tak to się łamie, gdy trzeba wykonać search :/
  4. niewygodnie idzie obsługiwać zagnieżdżane zasoby w URLach
  5. zbyt skromny zestaw kodów statusu do informowania o błędach

Pozostało 580 znaków

2014-01-10 21:32
upandrunning
0

SOAP pozwala dowiedzieć się jak komunikować się z serwisem za pomocą pewnego ustandaryzowanego kontraktu (WSDL)

Nie programuje w Java, ale czytałem, że statycznie kompilowane języki mają lepsze wsparcie w tworzeniu SOA. Czy to wynika z tego, że ten kontrakt jest sprawdzany w trakcie kompilacji?

Pozostało 580 znaków

2014-01-11 00:23
0

W javie mozesz wygenerować sobie klasy potrzebne jako parametry wywołania webservisu na podstawie wsdla ;)


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2014-01-11 12:29
0

do większych serwisów, można użyć SOAP czy raczej lżejszego RESTa ?

Pozostało 580 znaków

2014-01-11 12:50
0

Można użyć dowolnego. Np. Twitter czy GH używają REST, ale takie Allegro używa SOAP. Wybór należy do Ciebie. A co do tego co mówił @Shalom, to przy RESTful też można użyć WSDL. Pytaniem jest, czy ma to sens.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0