RPC vs usługa sieciowa
Tworzenie usług internetowych przy użyciu protokołu SOAP wymaga zastosowania jednej z dwóch alternatyw. Można postępować zgodnie z protokołem SOAP dokumentu lub protokołem przesyłania komunikatów RPC SOAP. RPC odnosi się do zdalnego wywołania procedury i jest to protokół, który może być używany przez dany program do żądania danej usługi w innym programie, który znajduje się na innym komputerze zdalnym. Podczas korzystania z RPC nie trzeba znać szczegółów sieciowych programu. Dane wywołanie procedury nazywane jest wywołaniem podprogramu lub nawet wywołaniem funkcji.
Stosując RPC, często stosuje się model klient / serwer. Program żądający wykonania usługi znajduje się po stronie klienta, a komputer zapewniający wykonanie danego programu jest po stronie serwera. Działanie RPC można nazwać synchronicznym, ponieważ wymaga programu, który żąda działania, aby zawiesić określone działanie do czasu podania wyników procedury zdalnej.
Aby mieć pewność, że urządzenie nie potrwa zbyt długo, gdy są w toku różne działania, RPC zezwala na przetwarzanie wielu wątków, które współużytkują dany adres, a zatem odpowiedzi mogą być udzielane natychmiast po ich otrzymaniu, a nie w szeregu, w którym jedno działanie musi być zakończone, aby rozpocząć następny.
Usługa sieci Web utworzona przy użyciu kontrolki SOAP może zatem być zgodna ze stylem RPC lub przesyłania wiadomości w dokumencie. Styl dokumentu może zatem wskazywać konkretny dokument .xml, który można sprawdzić pod kątem określonego schematu XML. Ponieważ Java RPC jest używana do komunikacji z platformami takimi jak EJB, podobne aplikacje działają na Javie. Z drugiej strony usługa sieciowa jest używana głównie wtedy, gdy jest używana aplikacja, która nie działa w Javie i stara się połączyć z usługą sieci Web.
Wydajność między usługami RPC a usługami sieci Web jest dość wyraźna, a ogromna różnica między usługami sieciowymi a usługami RPC jest dość zmienna. W niektórych przypadkach zmiana może być dość niewielka, z uwzględnieniem odporności. RPC wiąże się z wyzwaniem posiadania przeciążonego środowiska serwerowego, co znacznie utrudnia pracę z wieloma klientami.
Z drugiej strony usługa sieci Web pozwala na wielokrotne wdrażanie usługi, przy czym należy jedynie spełnić tę funkcję, że usługa sieci Web jest wywoływana przez HTTP. Pozwala to na wykorzystanie normalnych technik natryskiwania i routingu sieci stosowanych w większych lokalizacjach. Ważne jest również, aby pamiętać, że usługa sieci Web nie wymaga specjalnego kodowania do działania z serwerem, a nawet klientem.
Odporność zarówno RPC, jak i usługi sieci Web można równomiernie porównać, choć należy zauważyć, że RPC wymaga, aby pośrednicy korzystali z oprogramowania zgodnie z oczekiwaniami. To tutaj wchodzą w grę EE EJB i frameworki takie jak Spring. Aby uzyskać najlepszą obsługę, zaleca się najpierw pracę z Java EE EJB przed uruchomieniem środowiska RPC. Narażenie usługi sieci Web na to środowisko i RPC również znacznie ułatwia konfigurację.
streszczenie
RPC odnosi się do zdalnego wywołania procedury.
Użycie RPC jest zalecane w przypadku intensywnego korzystania z modelu klient / serwer.
RPC pozwala na przetwarzanie wielu wątków o tym samym adresie.
RPC zatrudniony na platformie korzystającej z EJB.
Usługa internetowa używana na platformach innych niż Java, gdy aplikacja chce uzyskać dostęp.
Usługa internetowa służy również do synchronizacji komunikacji asynchronicznej.