Построение распределенных программ

В предыдущей главе рассматривались принципы, лежащие в основе модели дистанционного вызова процедур. В ней описано понятие дистанционного вызова процедур и показано, как могут использоваться дистанционные вызовы процедур для построения программ, функционирующих по принципу взаимодействия клиент/сервер. И наконец, в ней описан механизм ONC RPC. Ноутбуки компьютеры - замена экрана ноутбука. Ноутбуки - все виды ремонта. Фабрика обуви москва обувь - сток затвор.

Изучение этой темы продолжается и в настоящей главе. Здесь более подробно рассматривается структура программ, в которых применяется механизм RPC, а также показано, как могут быть разделены программы по границам между процедурами. В этой главе введено понятие процедуры-заглушки и описано инструментальное средство генератора программ, которое автоматизирует основную часть работы по построению кода, связанной с использованием механизма ONC RPC. Здесь также представлена библиотека процедур, позволяющая упростить задачу построения серверов, которые предоставляют доступ к удаленным процедурам, и клиентов, которые их вызывают.

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

Применение дистанционных вызовов процедур

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

  • Определение только требований к программе. Для этого необходимо на основе модели RPC определить все этапы взаимодействия между клиентом и сервером в форме дистанционного вызова процедур или возврата управления. В параметрах вызова процедуры определяются данные, передаваемые между клиентом и сервером. Анализируя работу клиентского и серверного компонентов, можно игнорировать их внутреннюю структуру, но использовать процедурную спецификацию этих компонентов для проверки соответствия результирующей системы поставленным требованиям.
  • Определение требований к программе, а также анализ ее структуры в процессе проектирования. Для реализации такого подхода разработка прикладной программы и протокола связи осуществляется на основе принципов дистанционного вызова процедур, а протокол связи проектируется так, что каждое сообщение соответствует одному из дистанционных вызовов процедур.
  • Концептуальное проектирование и практическая реализация. Для включения средств RPC в программу разрабатывается обобщенный формат сообщения RPC и протокол передачи управления удаленной процедуре. При разработке средств обмена данными между клиентом и сервером точно соблюдается процедурная спецификация. В программе для кодирования параметров используется стандартное внешнее представление данных и строго соблюдаются спецификации типов данных, предусмотренные в проекте. Для прямого и обратного преобразования данных из внутреннего представления компьютера во внешнее представление, применяемое при передаче данных по сети, в ней вызываются стандартные библиотечные процедуры.
  • Проектирование и реализация для создания всего программного обеспечения с нуля. Разрабатывается нераспределенное приложение, которое решает поставленную задачу, затем это приложение разделяется на части по границам между процедурами, и отдельные части переносятся на разные компьютеры. В программе при вызове удаленной процедуры используется формат сообщений ONC RPC (включая представление данных XDR) и схема нумерации программ ONC RPC. Практическая реализация создается исключительно только на основе спецификаций RPC и с использованием службы привязки портов ONC RPC для определения соответствия между номером удаленной программы и портом протокола.
  • Проектирование и реализация с использованием стандартных библиотек. Приложение разрабатывается и разделяется на части с использованием спецификации ONC RPC, а при любой возможности применяются существующие библиотечные процедуры RPC. Например, библиотечные процедуры используются для регистрации удаленной программы в службе привязки портов, для формирования и передачи сообщения с вызовом удаленной процедуры, а также для формирования ответа.
  • Автоматизированная реализация. В процессе разработки полностью соблюдается спецификация ONC RPC, а для обеспечения автоматического построения необходимых частей клиентского и серверного кода и вызова библиотечных процедур RPC применяются инструментальные средства автоматизированного построения программ. С помощью библиотечных процедур RPC выполняются такие задачи, как регистрация удаленной программы в службе привязки портов, формирование сообщения и передача вызова соответствующей удаленной процедуре удаленной программы.
Похожие статьи Меню Опрос Фото Популярное