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