REST i SOAP

Anonim

Wprowadzenie

W tym artykule omówiono dwa protokoły dostępu do usług WWW, MYDŁO ("Protokół Simple Object Access Protocol") i RESZTA ("Transfer państwa reprezentatywnego").

Usługi internetowe

Usługi sieciowe są zdefiniowane tak, aby aktywnie pobierać, czytać lub przesyłać dane z określonego źródła, aby uzyskać określony wynik - wynik.

Poniższy przykład przedstawia podstawowe korzystanie z usług WWW przed zrozumieniem sposobu przesyłania danych do iz usługi sieciowej przy użyciu protokołu SOAP lub usługi REST.

Jeśli programista pisze aplikację, która wymaga obliczenia danych w jednym miejscu, napisze metodę obliczeń w kodzie, w tym jednym miejscu. Jeżeli jednak wyliczenie danych jest potrzebne w innych częściach wniosku, utrzymanie go byłoby nieskuteczne i niepraktyczne, gdyby twórca umieścił metodę obliczeń w każdym obszarze, w którym jest potrzebna.

Konieczność wprowadzenia jednej zmiany w tej metodzie wymagałaby znalezienia każdej instancji do edycji (i ponownego przetestowania). W tym scenariuszu skorzystanie z usługi internetowej w celu optymalnego funkcjonowania i poprawy sprawności biznesowej.

Tworząc jedną usługę sieciową za pomocą dostępnych metod dodawania, odejmowania, dzielenia i mnożenia, aplikacja będzie angażować się w tę usługę internetową, gdy wymagane będzie obliczenie danych; wywołuje usługę sieci Web w celu wykonania obliczeń i wygenerowania wyniku. Jest więc tylko jedno miejsce, w którym deweloper może utrzymać metodę obliczania danych.

Sposób obsługi danych w usługach sieciowych zależy od tego, czy wdrożono SOAP, czy REST.

SOA i BPMN

Aplikacja zbudowana na wykonywalnych procesach opiera się na architektura zorientowana na usługi ("SOA"). Jest to podejście do korzystania z usług, które przesyła, produkuje, zatwierdza lub oblicza dane.

SOA staje się coraz bardziej sprzyjająca poprawie jakości i czasu rozwoju oraz poprawia wydajność aplikacji i skalowalność.

Notacja modelowania procesów biznesowych ("BPMN") modeluje usługę lub proces biznesowy, który może być wykonany przez osoby nietechniczne, tj. Analityka biznesowego. Za pomocą BPMNmodele biznesowe (dla usług) są łatwo interpretowane przez programistów, którzy implementują model jako proces wykonywalny, a procesy te mogą wymagać interakcji z człowiekiem lub nie.

Protokół Simple Object Access Protocol (SOAP)

SOAP to metoda przesyłania danych przez Internet.

Pierwotnie opracowany przez Microsoft z powodu pojawienia się Internetu, SOAP zastąpił stary DCOM i CORBA technologie, i było to znacznie dłużej niż REST.

SOAP jest uważany za cięższy niż REST, tj. Do transferu danych wymagany jest większy bagaż, co oznacza, że ​​potrzeba więcej przepustowości na żądanie wiadomości, a źródło danych i cele mają więcej pracy do wykonania podczas pakowania i odbierania danych.

SOAP używa tylko XML w przypadku usług przesyłania wiadomości przez Internet, a żądania wiadomości XML mogą być bardzo złożone i jeśli zostaną opracowane ręcznie, wymagana jest uważna uwaga, ponieważ protokół SOAP jest nieelastyczny z powodu błędów.

Możliwe jest zautomatyzowanie żądań wiadomości SOAP przy użyciu języków.NET (na przykład), gdzie programiści nie muszą pracować z plikiem XML, ponieważ jest on generowany automatycznie w tle.

W przypadku napotkania jakichkolwiek problemów z żądaniem komunikatu, szczegółowe informacje o błędzie są zwracane w odpowiedzi na komunikat, a proces ten można również zautomatyzować, odwołując się do standardowych kodów błędów podanych w odpowiedzi na komunikat.

Dlatego używany język programowania jest czynnikiem decydującym o tym, jak trudno będzie wdrożyć SOAP.

Jedną z części bagażu, która towarzyszy komunikatowi SOAP, jest Język opisu usług internetowych ("WSDL"), aby wyjaśnić działanie usługi internetowej. Gdy aplikacja odwołuje się do usługi sieciowej, czyta i rozumie, co zrobić z usługą sieciową.

SOAP nie jest zobowiązany do używania HTTP (Wyłącznie protokół HyperText Transfer Protocol); może być używany przez SMTP i inne protokoły transportowe.

Ponieważ SOAP został ustandaryzowany, jest bardziej sztywny niż REST, chociaż oba zależą od ustalonych reguł.

RESZTA

REST jest nowszym i bardziej eleganckim kuzynem SOAP i szybko staje się wyborem dla większości aplikacji internetowych i mobilnych.

Ponad dziesięć lat po wprowadzeniu REST to lżejszy, łatwiejszy w utrzymaniu i skalowalny sposób interakcji z usługami sieciowymi.

W przeciwieństwie do SOAP, REST nie używa XML wyłącznie; zwykły tekst, CSV, i RSS może być używany, jak również JSON dla wywołań AJAX; o ile zarówno źródło, jak i cele mogą zrozumieć używane formaty.

REST jest mniej skomplikowany i uważa się go za mniejszą krzywą uczenia się niż w przypadku protokołu SOAP. Większość współczesnych języków programowania posiada biblioteki i frameworki ułatwiające usługi REST (RESTful), takie jak C #, Python, Java i Perl.

REST jest szybszy ze względu na minimalne przetwarzanie i większą wydajność przy użyciu różnych formatów wiadomości.

Istnieją zalety i wady obydwu, więc przy rozważaniu, który protokół dostępu zastosować, należy wziąć pod uwagę języki programowania używane w organizacji, środowisko aplikacji i wymagania aplikacji.