Jaka jest różnica między zdalnym wywołaniem procedury a usługą internetową

Czy jest jakaś jasna definicja RPC i Web Service? Szybkie wyszukiwanie w Wikipedii pokazuje:

RPC: Remote procedure call (RPC) jest Technologia komunikacji międzyprocesowej która pozwala programowi komputerowemu na spowodować podprogram lub procedurę do wykonaj w innej przestrzeni adresowej (zwykle na innym komputerze na współdzielonej sieci) bez programisty jawne kodowanie szczegółów dla tego zdalna interakcja.

Web Service: Web services are typowe programowanie aplikacji interfejsów (API) lub web API, które są Dostęp poprzez transfer hipertekstowy Protokół i wykonywane na zdalnym system hostujący żądane usługi. Serwisy internetowe zazwyczaj należą do jednego z dwa obozy: Duże Serwisy Internetowe[1] i RESTful Web Services.

Nie do końca rozumiem, jaka jest prawdziwa różnica między tymi dwoma rzeczami. Wydaje się, że jedna rzecz może należeć do RPC i jest jednocześnie rodzajem serwisu internetowego.

Czy serwis WWW jest wyższym reprezentacja poziomu RPC?

Author: xiao 啸, 2010-06-12

3 answers

Czy serwis internetowy to wyższy poziom reprezentacja RPC?

Tak, jest. Usługa internetowa jest specyficzną implementacją RPC. Na najniższym poziomie, wszystko, czym jest usługa internetowa, jest łączenie się z gniazdem, za pomocą protokołu HTTP do negocjowania wysyłania ładunku, który jest wykonywany w odległej przestrzeni (może być nawet na tym samym komputerze, dla wszystkich konsumentów wie). Wszystkie te abstrakcje są podstawą RPC.
 49
Author: Wayne Hartman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-12 14:02:07

Remote Procedure Call (RPC) i WebService, ze względu na funkcjonalność, idą równolegle. Jest jednak subtelna różnica w sposobie ich przywoływania. Usługa sieciowa może być wywoływana przez dowolną aplikację, przy użyciu formatu XML przez protokół HTTP i jej interoperacyjnego charakteru, podczas gdy w przypadku RPC funkcja może być wywoływana przez wiele aplikacji, dzięki czemu podąża ścieżką serializacji do przechowywania danych obiektu. Obsługuje format binarny przez protokół TCP. W lepszym podejściu możemy streścić RPC workflow, tak jak wykonujemy funkcję poprzez odpowiednie gniazdo i odpowiedni format wiadomości, ale nie znamy rzeczywistego istnienia danej funkcji w serwerze klienta.Nawet podane gniazdo może nie znajdować się na tym samym serwerze, na którym znajduje się funkcja. Ale za każdym razem daje wrażenie, że funkcja znajduje się w lokalnym. W usłudze zdalnej funkcja znajduje się na zdalnym komputerze i może być wywoływana przez odpowiedni format i protokół i umożliwia skalowalność.

 5
Author: fak33r,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-15 07:35:04

* dane są formatowane do przesyłania za pomocą XML, poprawiając lub eliminując marshalling, unmarshalling i różne inne wymagania związane z tłumaczeniami zwykle kodowane przez programistę. * Dane są przekazywane przy użyciu standardowych protokołów, takich jak HTTP lub SMTP, które opublikowały dobrze zdefiniowane standardy. * Podstawowa usługa ujawniona jest dobrze zdefiniowana przy użyciu znanego akceptowanego mechanizmu, WSDL. * Usługi znajdują się przy użyciu dobrze zdefiniowanego standardu, UDDI i bardziej zaawansowanego ebXML.

W szczególności WSDL dostarcza szereg kluczowych informacji:

* definicja formatu komunikatów przekazywanych między dwoma punktami końcowymi przy użyciu elementów its I oraz odpowiednich definicji schematu. * Semantyka usługi: jak można wywołać synchroniczne żądanie / odpowiedź, synchroniczne tylko odpowiedzi lub asynchronicznie komunikować. * Punkt końcowy i transport usługi przez element: czyli kto świadczy usługę. * Kodowanie przez element, czyli sposób dostępu do serwisu.

 1
Author: sravan kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-18 05:31:25