RPC i usługa sieciowa

Anonim

RPC vs usługa sieciowa

Tworzenie serwisów internetowych za pomocą protokołu SOAP wymaga użycia jednej z dwóch alternatyw. Można postępować zgodnie z protokołem Document SOAP lub protokołem komunikacyjnym protokołu SOAP RPC. RPC odnosi się do Remote Procedure Call 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 zdalnym komputerze. Podczas korzystania z RPC nie trzeba znać szczegółów sieciowych programu. Podane wywołanie procedury jest określane jako wywołanie podprogramu lub nawet wywołanie funkcji.

Przy stosowaniu RPC występuje duże obciążenie modelu klient / serwer. Program żądający wykonania usługi znajduje się po stronie klienta, a komputer wykonujący dany program znajduje się na końcu serwera. Czynność RPC można nazwać synchroniczną, ponieważ wymaga ona, aby program żądający akcji spowodował zawieszenie określonej akcji do czasu podania wyników zdalnej procedury.

Aby zapewnić, że urządzenie nie zajmie zbyt dużo czasu, gdy podejmowane są różne działania, usługa RPC umożliwia przetwarzanie wielu wątków, które mają podany adres, a zatem odpowiedzi mogą być podawane w miarę ich pojawiania się, a nie w seriach, w których jedna akcja musi być zakończone, aby rozpocząć następny.

Usługa sieci Web utworzona za pomocą kontrolki SOAP może zatem być zgodna ze stylem przesyłania komunikatów RPC lub dokumentu. Styl dokumentu może zatem wskazywać konkretny dokument.xml, który może być sprawdzony pod względem danego schematu XML. Ponieważ Java RPC jest używana w komunikacji platform takich jak EJB, podobne aplikacje działają na Javie. Z drugiej strony usługa sieci Web jest używana głównie w przypadku korzystania z aplikacji, która nie działa w języku Java i chce nawiązać połączenie z usługą sieci Web.

Wydajność między usługami RPC i usługami sieci Web jest dość wyraźna, a różnice między usługami sieci Web a usługami RPC są dość zróżnicowane. W niektórych przypadkach wariacja może być dość mała, biorąc pod uwagę odporność na uderzenia. RPC ma problem z przeciążeniem środowiska serwerowego, co utrudnia pracę z wieloma klientami.

Z drugiej strony usługa sieciowa pozwala na wielokrotne wdrażanie usługi, a jedyną potrzebą jest spełnienie tego, że usługa sieci Web jest wywoływana przez HTTP. Pozwala to na wykorzystanie normalnych technik natryskiwania sieciowego i technik rutowania stosowanych w większych obiektach. Należy również pamiętać, że usługa sieci Web nie wymaga specjalnego kodowania do działania z serwerem lub nawet klientem.

Odporność zarówno usługi RPC, jak i usługi sieci Web może być porównywana, chociaż należy zauważyć, że usługa RPC wymaga, aby pośrednicy używający działali zgodnie z oczekiwaniami. To tutaj EE EJB i ramy takie jak Wiosna wchodzą w grę. Aby zapewnić najlepszą obsługę, zaleca się pracę z Java EE EJB przed wprowadzeniem środowiska RPC. Ekspozycja na usługi sieciowe w tym środowisku i RPC również znacznie ułatwia konfigurację.

streszczenie

RPC odnosi się do Remote Procedure Call. Korzystanie z RPC jest zalecane w przypadku intensywnego korzystania z modelu klient / serwer. RPC pozwala na przetwarzanie wielu wątków, które mają podany adres. Usługa RPC była używana na platformie korzystającej z EJB. Usługa sieci Web używana na platformach innych niż Java, gdy aplikacja chce uzyskać dostęp. Usługa sieci Web służy również do synchronizacji komunikacji asynchronicznej.