Прежде чем обратится к методу объекта, клиент должен осуществить процесс связывания (в адресном пространстве клиента создается заместитель, представляющий образ удаленного объекта). С помощью заместителя клиент может обратится удаленно к объекту.
1.1.1.11. Удаленное обращение к методу – Remote Method Invocation (RMI)
Напоминает RPC(Рассмотрено ранее). Есть различия - поддержка RMI удаленных ссылок на объект. Но в RPC тоже для описания удаленной функции используется IDL. Стандартный способ поддержки RMI – это описать интерфейсы объектов на IDL. Но на Java IDL «нету», на самом деле просто спрятано. Значит объекты нужно описывать заранее. Такой способ(подход) с помощью заранее заданного определения интерфейсов называются статическим обращением. То при использовании статического обращения интерфейсы д. б. уже известны и при изменении интерфейса нужна перекомпиляция.
Пример 14.Описание интерфейса футболиста.
interface Player: Object
{
typedef struct Date
{
short day; short month; short year;
}
attribute string name;
readonly attribute Date Dob;
};
interface PlayerStore: Object
{
exception IDNotFound();
short save (in Player);
Player load(in short id) raises (IDNotFound);
void print(in Player p);
}
Вот описано два интерфейса. Видим, что в этом языке наследование есть, причем наследуется корневой объект. Может возвращать ссылки на объект, более развит механизм оповещения об ошибках. Показано, что функция может вернуть определенное исключение. Вообще м. б. out, inout. Знания ООЯ достаточно, чтобы мы описали интерфейс.