2010-03-23 1 views
1

Предположим, что я реализую удаленный прокси-сервер в Java для объекта, который, вероятно, будет находиться на удаленном сервере, но может находиться локально.Какова подходящая терминология в Java при создании удаленных прокси?

Есть мой реальный объект на удаленном сервере, есть локальная реализация (сам прокси), и есть интерфейс, который я предоставляю своей программе, которая скрывает детали того, где объект на самом деле. Локальное представление может связываться с локальной или удаленной реализацией объекта.

Какая стандартная терминология в Java для этих вещей? Что я должен назвать своими интерфейсами/классами?

Я видел термины «Предметы, изображения и реализации», которые были выброшены (возможно, из дней GOF), но мне интересно, какой приемлемый способ сделать именование для фреймворка, написанного на Java.

ответ

0

Поскольку удаленный доступ обычно влечет за собой какой-то сервис, такой как вызов, я обычно иду с сервисным интерфейсом, удаленным прокси-сервером и реализацией службы. Поскольку реализация определяется во время выполнения (прокси или реализация), все кодирование выполняется для интерфейса службы, поскольку это единственный публичный API.

Spring Remoting делает это очень просто, мы широко используем его для предоставления удаленных прокси-серверов через HTTP, EJB и JMS для одних и тех же сервисов. Также делает тестирование без каких-либо прокси. Мы можем запускать те же тесты для модульных тестов непосредственно против реализации, а также тесты интеграции с сервером.

0

Возможно, вы захотите использовать ту же терминологию, что использует RMI, даже если вы решили не использовать RMI на самом деле. например: заглушки, скелеты, реестры, серверы ...

+0

Большинство из этих артефактов могут фактически не существовать или иметь какие-либо равные в других протоколах, которые фактически могут быть использованы. – Robin