RPC против веб-службы
Создание веб-сервисов с использованием протокола SOAP требует использования любой из двух альтернатив. Можно следовать протоколу Document SOAP или протоколу обмена сообщениями RPC SOAP. RPC относится к удаленному вызову процедур и является протоколом, который может использоваться данной программой для запроса данной услуги в другой программе, расположенной на другом удаленном компьютере. При использовании RPC нет необходимости знать сетевые детали программы. Заданный вызов процедуры называется вызовом подпрограммы или даже вызовом функции..
При использовании RPC широко используется модель клиент / сервер. Программа, которая запрашивает выполнение услуги, находится на стороне клиента, и говорят, что компьютер, обеспечивающий выполнение данной программы, находится на стороне сервера. Действие RPC можно назвать синхронным, поскольку требует, чтобы программа, запрашивающая действие, приостановила указанное действие до тех пор, пока не будут получены результаты удаленной процедуры..
Чтобы гарантировать, что устройство не займет слишком много времени при ожидании различных действий, RPC позволяет обрабатывать несколько потоков, имеющих общий адрес, и, таким образом, ответы могут быть даны по мере их поступления, а не последовательно, когда одно действие должно будет завершено к следующему, чтобы начать.
Таким образом, веб-служба, созданная с использованием элемента управления SOAP, может следовать стилю обмена сообщениями RPC или Document. Поэтому стиль документа может указывать конкретный XML-документ, который может быть проверен на соответствие данной XML-схеме. Поскольку Java RPC используется для связи платформ, таких как EJB, аналогичные приложения работают на Java. Веб-сервис, с другой стороны, в основном используется всякий раз, когда используется приложение, которое не работает на Java и стремится соединиться с веб-сервисом..
Производительность между RPC и веб-службами весьма различна, причем огромные различия между веб-службами и RPC весьма различны. В некоторых случаях изменение может быть довольно небольшим, с учетом устойчивости, вступающей в игру. RPC сталкивается с проблемой наличия перегруженной серверной среды, что затрудняет работу с несколькими клиентами.
С другой стороны, веб-служба допускает многократное развертывание службы, при этом единственной необходимостью является то, что веб-служба вызывается через HTTP. Это позволяет использовать обычные методы распыления и маршрутизации в сети, используемые на больших площадках. Также важно отметить, что веб-сервису не требуется никакого специального кодирования для работы с сервером или даже клиентом..
Сопротивляемость как RPC, так и веб-службы можно сравнить в равной степени, хотя важно отметить, что RPC требует использования посредников, чтобы они функционировали должным образом. Именно здесь вступают в игру EE EJB и такие фреймворки, как Spring. Для лучшего обслуживания желательно сначала поработать с Java EE EJB, прежде чем вводить среду RPC. Воздействие веб-службы на эту среду и RPC также значительно упрощает настройку.
Резюме
RPC относится к удаленному вызову процедур.
Использование RPC рекомендуется при интенсивном использовании модели клиент / сервер.
RPC позволяет обрабатывать несколько потоков, которые совместно используют данный адрес.
RPC используется на платформе, которая использует EJB.
Веб-сервис, используемый на платформах, отличных от Java, когда приложению требуется доступ.
Веб-сервис также используется для синхронизации асинхронной связи.