Главная » Просмотр файлов » Л.Е. Карпов - Системы программирования

Л.Е. Карпов - Системы программирования (1114903), страница 30

Файл №1114903 Л.Е. Карпов - Системы программирования (Л.Е. Карпов - Системы программирования) 30 страницаЛ.Е. Карпов - Системы программирования (1114903) страница 302019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 30)

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

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

Он выполняет операции, обратные к действиямклиентскому переходнику — принимает сообщение, содержащее фактическиепараметры вызова, распаковывает эти параметры при помощи десериализации и105демаршалинга, вызывает локально соответствующую функцию серверного компонента,получает ее результат, упаковывает его и посылает по сети на клиентскую машину.окружениеразработкиIDLклиентский процесспрограммаклиентасерверный процесстекстына IDLинтерфейс вызова,зависящий от языкаклиентскийпереходникпрограммасервераинтерфейс вызова,зависящий от языкакомпиляторIDLсерверныйпереходникзаголовкиинтерфейсаЭта же техника может быть использована и для реализации взаимодействиякомпонентов, работающих в рамках различных процессов на одной машине.Системами типа “клиент-сервер” называются простейшие распределенныепрограммные системы, построенные только в двух уровнях – уровне клиента и уровнесервера.

Примером системы, позволявшей создавать прикладные системы типаклиент/сервер на вызовах удаленных процедур, является система DCE (DistributedComputing Environment), предложенная группой Open Software Foundation (Open Group).Процесс подготовки программ на языке Си к работе выглядит в системе DCE так:Генерация ключаФайл определения IDLКомпилятор IDLФайл-заголовок клиента/сервера (*.h)Код клиента/сервераКод переходника клиента/сервераКомпилятор СиКомпилятор СиМодуль клиента/сервераМодуль переходника клиента/сервераБиблиотекаКомпоновкаПрограмма клиента/сервера106В состав DCE входит мно ог ко мпоненто :в языки, библиотеки, службы.Созданные клиенты и серверы могут оказаться самыми разными. В основе их всех –язык IDL, в котором функции описываются образом, похожим на прототипы функций вязыке Си, а в файлах имеются определения типов и констант для маршалингапараметров и демаршалинга результатов.Первым шагом в подготовке программ клиента и сервера всегда является запусксистемной программы, которая создает прототип файла на языке IDL, содержащийуникальный ключ (идентификатор интерфейса), гарантированно не содержавшийся нив одном интерфейсе, созданном ранее, определения типов, констант, типов параметрови результатов функций.

Этот прототип редактируется, в него вносятся именаудаленных процедур и их параметров, затем выполняется компиляция с IDL. Этакомпиляция формирует три файла:•••файл-заголовок (например, "interface.h")файл клиентского переходникафайл серверного переходникаВ файл-заголовок из исходного описания на IDL передаются уникальныйидентификатор интерфейса, определения типов, констант и описания функций(прототипы). Клиентский переходник содержит те процедуры, которые будетнепосредственно вызывать клиентская программа. Эти процедуры непосредственноотвечают за подбор параметров и их упаковку в исходящие сообщения споследующими обращениями к системе для их отправки. Переходник также занимаетсяраспаковкой ответов, приходящих от сервера, и передачей значений, содержащихся вэтих ответах, клиенту.

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

Впоследствии, когда широко распространились принципы и приемыобъектно-ориентированного программирования, система DCE также была расширена идополнена объектно-ориентированными языками.5.2. Технологии COM/DCOMТехнология COM (Component Object Model) и ее вариант для распределенныхсистем DCOM (Distributed COM) была разработана компанией Microsoft. DCOMявляется расширением технологии СОМ и включает в себя среду распределенныхвычислений DCE и механизм удаленного вызова процедур.Общий подход при использовании той или технологии таков: клиентскаяпрограмма использует объекты своего программного сервера так, как если бы этиобъекты являлись частью клиентской программы.

Основную роль, как и во всехсистемах клиент/сервер, играет интерфейс объектов, формируемый при помощинекоторого языка IDL, в данном случае – объектно-ориентированного. Клиент знает обиспользуемых объектах только их интерфейсы. Сервер предназначен для реализацииобъектов, он представляет собой программу, содержащую, кроме всего прочего, ещеодин или несколько объектов, построенных в соответствии с моделью СОМ.107Реализации объектов создаются на основе нескольких классов, каждый из которыхпредставляет различные варианты поведения объекта.Переходкобъектно-ориентированномувзаимодействиюпривелксущественному пересмотру модели удаленного вызова процедуры и появлению моделиудаленного обращения к методу. Эта модель основана на объектно-ориентированномрасширении понятия вызова процедуры и понятии о распределенном объекте.

Методывспомогательных объектов, включаемых в состав клиентского и серверногопереходников, которые строятся для реализации удаленного обращения к методу,имеют интерфейсы в точности соответствующие интерфейсам реальных удаленныхобъектов. Их реализации позволяют скрытым от пользователей образом организоватьмаршалинг и сериализацию параметров и возвращаемых значений методов. Как и прииспользовании "классического" удаленного вызова процедуры, при удаленномобращении к методу не только клиент не знает о том, что взаимодействует с удаленнымсервером, но и сервер не знает, что обращение к нему осуществлено со стороны.Система автоматически строит взаимодействия клиента и сервера, независимоот того, как клиент и сервер распределены по компьютерам: они могут исполняться•••на одном компьютере в рамках единого процесса, при этом взаимодействиемежду клиентом и сервером происходит при помощи интерфейса объекта ведином адресном пространстве с использованием динамических библиотек.на одной машине в рамках разных процессов, при этом между клиентом исервером возникают два промежуточных звена, а схема взаимодействиястановится похожей на сокращенную схему удаленного обращения к методу(с переходниками, маршалингом и демаршалингом, но без обращения ксети).на различных (вообще говоря, несовместимых друг с другом аппаратно иимеющих разные операционные системы) компьютерах в рамкахинформационной сети (технология DCOM), использующих модельудаленного обращения к методу полностью, включая сериализацию иобработку сообщений.Система СОМ не является системой программирования в классическомзначении этого термина.

Это, скорее, система библиотек компонентов и правил ихиспользования. Однако система COM содержит все элементы, необходимые дляпостроения распределенной системы, в частности, компонентную модель, библиотекиклассов, которые могут быть импортированы для анализа структуры серверов СОМ,универсальный протокол обмена между клиентами и серверами и другие.ТехнологиюСОМмогутподдерживатьсамыеразличные языкипрограммирования. В настоящий момент наиболее широко используются Visual Basic,Си++ и Delphi. Однако разработчик системы (компания Microsoft) объявила этутехнологию устаревшей и активно продвигает другой подход – технологию .NET.Основной недостаток технологии COM, который и привел к отказу от нее, этосерьезные ограничения в организации взаимодействия между разными платформами,которые постоянно возникают в глобальных сетях.

Определенными недостатками иограничениями обладает и выбранный для систем COM язык Microsoft IDL, в которомнедостаточно развиты средства объявления типов данных, из которых строитсяпрограмма. В целом, технологию COM/DCOM обычно используют для построениянебольших распределенных систем, имеющих не очень большое число узлов.1085.3. Брокеры объектов CORBAБолее адекватно соответствующим принципам построения распределенныхсистем, чем системы "клиент-сервер", надо признать системы не двухуровневые, аимеющие, по крайней мере, еще один "промежуточный" уровень, позволяющийразделить решаемые задачи на "клиентские" и "серверные" части.

В двухуровневыхсистемах клиентские части чаще всего связаны с отображением данных в виде,адекватно соответствующем конкретной прикладной области, назначение серверныхчастей – выполнять основные прикладные программы и программы системнойподдержки. Наличие промежуточного уровня (для обозначения которого частоиспользуется англоязычный термин middleware) существенно расширяет возможностираспределенных систем. Системы "клиент-сервер" в качестве одной из самых своихсерьезных проблем имеют ограниченность возможностей сервера по связи со многимиклиентами одновременно. Двухъярусные архитектуры не справились с требованиями,предложенными разработчиками локальных информационных сетей.

Характеристики

Тип файла
PDF-файл
Размер
1,45 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6294
Авторов
на СтудИзбе
314
Средний доход
с одного платного файла
Обучение Подробнее