Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Фирсов.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.95 Mб
Скачать

2 Сервера, 2 клиента (один из них – средний и сервер (для клиента запрашиваемого данные) и клиент (для сервера, у которого он эти данные потом запрашивает).

Многозвенная архитектура (больше 3х звеньев, а смысл такой же).

Удалённый вызов процедуры

(remote procedure call)

Клиент вызывает некоторую функцию сервера, как будто бы эта функция локальна.

Схема взаимодествия клиента и сервера.

Шаг1: Процедура клиента обычным образом

Шаг2: Клиентская заглушка создаёт сообщение. (эта заглушка производит маршалинг(упаковка параметров в сообщение) параметров и это сообщение средствами ОС передаётся серверу (как првило через чсокеты).

Шаг3: На стороне сервера это сообщение передаётся серверной заглушке, серверная заглушка это сообщение распаковывает, … параметры, производит демаршалинг и вызывает сервер.

Шаг4: Сервер обрабатывает вызов и передаёт результаты обрато серверной заглушке.

Шаг5: Всё повторяется в обратную сторону.

Проблемы RTC:

  1. Передача ссылок

  2. Различное представление данных

IDL – Interface Definition Language

Расширение RPC:

  1. Оптимизация в случае локальных вызовов – в этом случа используется механиз ОС под названием LPC

  2. Возможность асинхронных вызовов

DCE RPC – одна из первых (Distributed Computing Environment)

  1. Uuidgen – генерирует уникальный адентификатор (уникальный во всём мире!), генерируется как правило из мак адреса текущего адреса и текущего времени.

  2. Этот идентификатор идентифицирует интерфейс, сам интерфейс определяется пользователем.

  3. Этот файл подаётся на хвод компилятору и rjvgbkznjh, на основе этого файла компилирует зфаглушки: клиентскую и серверную, так же он генерирует заголовочный файл, где описано как нужно обращаться к заглушкам.

  4. Далее программист пишит код клиента и код сервера, в этом коде он подключает заголовочный файл.

  5. (Код клиента вызывает из заголовочного файла так как будт это локальные ф-ии.)

RMI – Remote Method Invocation

- ООП варинт RPC

В RMI возможно использование ссылок на удалённые объекты

21.03.2013

Классификация:

По сохранности

- Сохранная (если сообщение было отослано отправителем, то оно будет доставлено получателем, даже если отправитель прекратит свою работу или связь будет прервана на некоторое время или даже если получатель в момент отправки сообщения не работал)

- Не сохранная (не резидентная) – (чтобы собщ было доставлено, и отпрвитель и получатель должны работать и они должны быть соедиенины каналом связи на момент передачи сообщения).

По синхронности

- асинхронная связь (сообщение отправляется и отправитель продолжает свою работу не дожедаясь того, что сообщ будетд доставлено)

- Синхронная

по приему (отправитель продолжает работу, после того как сообщение будет принято на удалённом компьютере)

по доставке (отправитель возобновит свою работу, Только после того, как сообщениебудет доставлено принимающему приложению)

по ответу (отправитель продолжает работу, только после того как получит ответ от получателя сообщения)

Примеры систем передачи сообщений:

- Berkly Sockets

- MPI

- Message Oriented Middleware

MPI – Message Passing Interface

  • MPI_bsend – посместиить исходящее сообщение в локальный буфер

  • MPI_send – послать сообщение и ожидать…

Из локального уровня, система… передаёт сообщения на коммуникационный сервер (как првило коммуникационный сервер один на локальную сеть