SOAP vs REST

0

Witam,
Temat jest dość oklepany, ale nie oczywisty. Jak wiadomo SOAP to starszy protokół, a REST to mniej ścisły wzorzec architektoniczny służący integracji systemów (najczęściej z użyciem JSON). Oba rozwiązania łączy wykorzystanie protokołu HTTP. SOAP wymusza wykorzystanie XML do opisu koport (standard WSDL). Jedna z zalet jest bardzo ścisły opis, co bardzo ułatwia tworzenie klientów (jest to raczej łatwiejsze niż w REST: wystarczy podać WSDL i klient wygeneruje się sam).

SOAP standardyzuje bardziej wyrafinowane metody security np. WS-SECURITY (jednak znacznie częściej podobnie jak w REST stosuje się prostsze rozwiązania, czykl klasyka: basic authentication + SSL). Lepiej nadaje się do integracji z legacy systemami i dominuje w ciężkim enterprise (np. integracji z SAPem). Największą wadą jest ciężki rozmiar kopert, w których metadane bardzo często przewyższają zawartość własnych danych (dlatego raczej nie nadaje się do lekkich usług oraz do usług w otwartym internecie, gdzie znaczenie ma skalowalność (tu często nawet REST z powodu nagłówków HTTP bywa za ciężki) ). Przez wykorzystanie XML marnuje sporo pasma, gdyż przesyła więcej danych niż jest to potrzebne.

Moje pytania są następujące:

  1. W jakich typowych przypadkach SOAP lepiej nadaje się do wykorzystania niż REST w 2015 roku? Zależy mi na podaniu kilku przypadków użycia, w których niemodna i przestarzała technologia (jaką dzisiaj jest SOAP) sprawdza się lepiej niż alternatywy. W szczególności interesują mnie przypadki użycia wzięta z życia.

Pozdrawiam,

0

Zaletą SOAP jest właśnie ścisły opis koperty i podłączając się pod zewnętrzną usługę wszystko jest jasne. Przykładem gdzie ma to zastosowanie wraz z podpisem koperty prze certyfikat cyfrowy to system ePUAP.

0
  1. integracja z legacy kodem wykorzystującym XMLa jako API np. integracja z niektórymi systemami płatniczymi
  2. konieczność wykorzystania WS-Security w celu zabezpieczenia wiadomości np. transakcje finansowe, komunikacja po otwartych kanałach (bez możliwości zabezpieczenie ich na poziomie protokołu).

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