Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Удаленный вызов процедурПрограммирование распределенных приложений представляло собой нетривиальную задачу, требующую высокой квалификации и значительных трудозатрат. Разработчикам приходилось использовать сокеты (низкоуровневый программный интерфейс сетевого обмена) и самостоятельно реализовывать весь стек прикладных протоколов. Проблема чрезвычайно усложнялась, если приходилось связывать программы, написанные на разных языках и работающие на разных аппаратных и программных платформах, объединенных разными коммуникациями (гетерогенные системы). А это приходилось делать все чаще, из-за увеличения масштабов систем, их интеграции. Кроме того, все острее давала о себе знать проблема переносимости программ с одной платформы на другую. Решение подобных проблем классическое – это введение дополнительного уровня косвенности или промежуточного слоя между прикладной программой и операционной системой, который будет скрывать различия нижележащих слоев[7]. Таким слоем вначале был механизм удаленного вызова процедур (RPC – Remote Procedure Call). Данный механизм позволяет вызывать процедуры на удаленном компьютере так, будто бы вызывается локальная процедура. При этом «незаметно» для пользователя осуществлялась упаковка параметров процедуры в сообщение (сериализация, маршалинг), передача сообщения на удаленный компьютер, распаковка сообщения (десериализация, демаршалинг), вызов локальной для удаленного компьютера процедуры, упаковка-передача-распаковка ответа вызывающему компьютеру. Механизм удаленного вызова скрывает от пользователя способ упаковки/распаковки сообщений, способ и маршрут передачи данных, местоположение, платформу и способ реализации вызываемой удаленной процедуры (например, язык, на котором она написана). Говорят, что RPC делает перечисленные аспекты прозрачными. Переконфигурация сети, замена удаленных платформ и реализаций удаленных процедур отражается только в настройках RPC и никак не сказывается на прикладной программе. На основе RPC строятся приложения с т. н. клиент-серверной архитектурой, получившей широчайшую популярность и распространение (подробнее об этой архитектуре будет упомянуто ниже).
|