Удаленные программы и процедуры

Спецификация ONC RPC расширяет модель дистанционного вызова процедур путем определения среды дистанционного выполнения. В этой спецификации в качестве основного компонента программного обеспечения, выполняемого на удаленном компьютере, определена удаленная программа. Каждая удаленная программа соответствует тому программному компоненту, который принято рассматривать как сервер, и содержит одну или несколько удаленных процедур, а также глобальные данные. Все процедуры удаленной программы имеют совместный доступ к глобальным данным. Поэтому набор взаимодействующих удаленных процедур может иметь совместный доступ к информации о состоянии. Это позволяет легко создать, например, простую удаленную базу данных на основе одной удаленной программы, которая включает структуры данных для хранения разделяемой информации и три удаленные процедуры для манипуляции с этими структурами данных: вставки, удаления и поиска. Как показано на рис. 21.5, все удаленные процедуры, которые входят в состав удаленной программы, могут иметь совместный доступ к одной базе данных, так же, как локальные процедуры имеют совместный доступ к глобальным данным в нераспределенной программе. цифровая печать брошюр

21.12. Сокращение числа параметров

Поскольку в большинстве языков программирования для представления параметров используется позиционное обозначение, вызов процедур, содержащий более двух или трех параметров, может стать сложным для восприятия. Программисты могут упростить формат вызова, собирая несколько параметров в один агрегат данных (например, в структуру struct языка С) и передавая полученный агрегат в виде одного параметра. В вызывающей процедуре каждому полю структуры перед ее передачей вызываемой процедуре присваивается значение; вызывающая процедура извлекает возвращенные значения из структуры после возврата управления.

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

Поскольку в дальнейшем описании предполагается, что во всех программах, основанных на использовании RPC, предусмотрена сборка параметров в виде структуры, то в каждой удаленной процедуре применяется только один параметр.

Похожие статьи