Почему серверам приложений требуются заглушки для удаленных вызовов? - PullRequest
0 голосов
/ 26 февраля 2011

Это не вопрос, а обсуждение ... Я не знаю, правильное ли это место или нет ..

Как вы знаете, мы можем написать наши собственные загрузчики классов Java, которые могут загружать классы по сети

Итак, почему серверы приложений не просто делают это? почему, когда мы выполняем удаленный вызов удаленного метода, существует на другом сервере приложений, почему у нас должны быть заглушки для возврата типов и параметров?

Я думаю, что серверы приложений могут загружать эти типы возвращаемых данных и параметры удаленного взаимодействия, используя что-то вроде NetworkedClassLoader.

Ответы [ 2 ]

4 голосов
/ 26 февраля 2011

Вся идея шаблона прокси:

  1. для защиты клиентов от того факта, что объект, с которым они разговаривают, находится не в их адресном пространстве, а на удаленном сервере где-то еще в сети.
  2. для разгрузки работы с клиента на сервер.
  3. для централизации операции в единый сервис, который может использоваться любым клиентом, имеющим доступ к сети.
1 голос
/ 26 февраля 2011

Я не собираюсь обсуждать это, просто чтобы представить свою точку зрения.

Весь смысл сервера приложений в том, что работа выполняется на сервере.Если вы загрузите класс EJBImplementation на стороне клиента и вызовете некоторые из его методов, то работа будет выполнена на стороне клиента.Более того, для правильного выполнения работы EJBImplementation придется вытянуть большую цепочку зависимостей, сделать несколько вызовов локальной базы данных, и Бог знает, что еще.Таким образом, в большинстве случаев такая обработка не может быть осуществлена ​​на стороне клиента реально.

Таким образом, мы создаем заглушку ( proxy - это термин) для EJBImplementation, который вместо этого передает вызовы методов по сети на сервер.

...