Лекция: Заглушки

Основная идея, на которой основываются RPC, заключается в том, что клиент и сервер связаны не прямо, а через заглушки (stubs), — специальные программные модули, ответственные за сетевое взаимодействие. Рассмотрим, какие заглушки принимают участие в вызове отдаленной процедуры.

1. Во время обращения к отдаленной процедуре клиентский процесс использует локальные договоренности о вызове (аналогичные к вызову локальной процедуры), но в действительности обращается к клиентской заглушке(client stub), которая маршализует параметры и пересылает их серверу. Под маршализацией (marshaling) понимают упаковывание данных в формат, пригодный для передачи в сеть (с сетевым порядком байтов и тому подобное), под демаршализацией (demarshaling) — их обратное превращение.

2. На сервере данные принимает серверная заглушка(server stub), демаршализует параметры и вызывает отдаленную процедуру. Она также будет вызвана с локальными договоренностями о вызове, ее код не имеет информации о том, что вызов был отдаленным. После этого серверная заглушка маршализует возвращеные значения и передает их назад клиенту.

3. У клиента возвращеные значения демаршализует клиентская заглушка и передает клиентскому приложению аналогично к данным локальной процедуры.

Основной особенностью заглушек является то, что они имеют те же интерфейсы, что соответствующие процедуры. Клиентская заглушка выглядит для приложения-клиента как локальная процедура с одними и теми же параметрами; серверная заглушка выглядит для отдаленной процедуры как локальный клиент.

еще рефераты
Еще работы по информатике