Главная » Просмотр файлов » В.В. Кулямин - Технологии программирования. Компонентный подход

В.В. Кулямин - Технологии программирования. Компонентный подход (1133554), страница 60

Файл №1133554 В.В. Кулямин - Технологии программирования. Компонентный подход (В.В. Кулямин - Технологии программирования. Компонентный подход) 60 страницаВ.В. Кулямин - Технологии программирования. Компонентный подход (1133554) страница 602019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Чтобы хоть как-то структурировать эти проблемы, их разделяют по следующимаспектам [3].• Связь.Организация связи и передачи данных между элементами системы.В связи с этим аспектом возникают следующие задачи.o Какие протоколы использовать для передачи данных.o Как реализовать обращения к процедурам и методам объектов одних процессов издругих.o Какой способ передачи данных выбрать — синхронный или асинхронный. В первомслучае сторона, инициировавшая передачу, приостанавливает свою работу до приходаответа другой стороны на переданное сообщение.

Во втором случае первая сторонаимеет возможность продолжить работу, пока данные передаются и обрабатываютсядругой стороной.o Нужно ли, и если нужно, то как, организовать хранение (асинхронных) сообщений в товремя, когда и отправитель и получатель сообщения могут быть неактивны.o Как организовать передачу непрерывных потоков данных, представляющих собойаудио-, видеоданные или смешанные потоки данных.

Этот вопрос имеет большоезначение, поскольку заметные человеку прерывания в передаче таких данных приводятк значительному падению качества предоставляемых услуг.216••••••Именование.Поддержка идентификации и поиска отдельных ресурсов внутри системы.o По каким правилам присваивать имена и идентификаторы различным ресурсам.o Как организовать поиск ресурсов в системе по идентификаторам и атрибутам,описывающим какие-нибудь свойства ресурсов.o Как размещать и находить мобильные ресурсы, изменяющие свое физическоеположение в ходе работы.o Как организовывать и поддерживать в рабочем состоянии сложные ссылочныеструктуры, необходимые для описания имеющихся в распределенной системе ресурсов.Как, например, находить и удалять ресурсы, ставшие никому не доступными.Процессы.Организация работ в рамках процессов и потоков.o Как разделить работы в системе по отдельным процессам и машинам.o Нужно ли определять различные ролей процессов в системе, например, клиентские исерверные, и как организовывать их работу.o Как организовать работу исполняемых агентов — процессов, способных перемещатьсямежду машинами и выполнять свои задачи в любой подходящей среде.Синхронизация.Синхронизация параллельно выполняемых потоков работ.o Как синхронизовать действия отдельных процессов и потоков, работающих в системе,для получения нужных результатов.o Как организовать работу многих процессов на разных машинах в том случае, если всистеме нельзя непротиворечиво определить глобальное время.o Как организовать выполнение транзакций — таких наборов действий, которые надолибо все выполнить, либо не выполнить ни одного из них.Целостность.Поддержка целостности данных и непротиворечивости вносимых изменений.o Каким образом можно обеспечивать целостность данных.o Какие модели непротиворечивости нужно поддерживать.

Модель непротиворечивостиопределяет, на основе каких требований формируются результаты выполняемыходновременно изменений и что доступно клиентам, выполнявшим эти изменения.o Какие протоколы обеспечения непротиворечивости, создания и записи транзакций,создания и согласования реплик и кэшей использовать для выполнения требований этихмоделей.Отказоустойчивость.Организация отказоустойчивой работы.o Как организовать отказоустойчивую работу одного процесса.o Как обеспечить надежную связь между элементами системы.o Какие протоколы использовать для реализации надежной двусторонней связи илинадежных групповых рассылок.o Какие протоколы использовать для записи промежуточных состояний и восстановленияданных и работы системы после сбоев.Защита.Организация защищенности данных и коммуникаций.o Как организовать защиту системы в целом.При этом большее значение, чем технические аспекты, имеют организационные ипсихологические факторы — проблемы определения процедур проведения работ,217обеспечивающих нужный уровень защищенности, и проблемы соблюдения людьмиэтих процедур.o Как организовать защиту данных от несанкционированного доступа.o Как обеспечить защиту каналов связи от двух видов атак — воспрепятствоватьнесанкционированному доступу к передаваемой информации и не дать подменитьинформацию в канале.o Какие протоколы аутентификации пользователей, подтверждения идентичности иавторства использовать.Из перечисленных тем отдельного рассмотрения заслуживают вопросы организации передачисообщений и транзакций, тем более что все рассматриваемые далее технологии используют этимеханизмы.

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

«Клиент» и «сервер» в этомконтексте обозначают роли в рамках данного взаимодействия. В большинстве случаев один и тотже компонент может выступать в разных ролях — то клиента, то сервера — в различныхвзаимодействиях. Лишь в небольшом классе систем роли клиента и сервера закрепляются закомпонентами на все время их существования.Синхронным (synchronous) называется такое взаимодействие между компонентами, прикотором клиент, отослав запрос, блокируется и может продолжать работу только после полученияответа от сервера.

По этой причине такой вид взаимодействия называют иногда блокирующим(blocking).Обычное обращение к функции или методу объекта с помощью передачи управления по стекувызовов является примером синхронного взаимодействия.КлиентСерверПотокивыполнениязапросБлокировкав ожиданииответаответРисунок 66. Синхронное взаимодействие.Синхронное взаимодействие достаточно просто организовать, и оно гораздо проще дляпонимания.

Человеческое сознание обладает единственным «потоком управления»,представленным в виде фокуса внимания, и поэтому человеку проще понимать процессы, которыеразворачиваются последовательно, поскольку не нужно постоянно переключать внимание напроисходящие одновременно различные события. Код программы клиентского компонента,описывающей синхронное взаимодействие, устроен проще — его часть, отвечающая за обработкуответа сервера, находится непосредственно после части, в которой формируется запрос. В силу218своей простоты синхронные взаимодействия в большинстве систем используются гораздо чащеасинхронных.Вместе с тем синхронное взаимодействие ведет к значительным затратам времени на ожиданиеответа. Это время часто можно использовать более полезным образом: ожидая ответа на одинзапрос, клиент мог бы заняться другой работой, выполнить другие запросы, которые не зависят отеще не пришедшего результата.

Поскольку все распределенные системы состоят из достаточнобольшого числа уровней, через которые проходят практически все взаимодействия, суммарноепадение производительности, связанное с синхронностью взаимодействий, оказывается оченьбольшим.Наиболее распространенным и исторически первым достаточно универсальным способомреализации синхронного взаимодействия в распределенных системах является удаленный вызовпроцедур (Remote Procedure Call, RPC, вообще-то, по смыслу правильнее было бы сказать«дистанционный вызов процедур», но по историческим причинам закрепилась имеющаясятерминология). Его модификация для объектно-ориентированной среды называется удаленнымвызовом методов (Remote Method Invocation, RMI). Удаленный вызов процедур определяет какспособ организации взаимодействия между компонентами, так и методику разработки этихкомпонентов.На первом шаге разработки определяется интерфейс процедур, которые будут использоватьсядля удаленного вызова.

Это делается при помощи языка определения интерфейсов (InterfaceDefinition Language, IDL), в качестве которого может выступать специализированный язык илиобычный язык программирования, с ограничениями, определяющимися возможностью передачивызовов на удаленную машину.Определение процедуры для удаленных вызовов компилируется компилятором IDL в описаниеэтой процедуры на языках программирования, на которых будут разрабатываться клиент и сервер(например, заголовочные файлы на C/C++), и два дополнительных компонента — клиентскую исерверную заглушки (client stub и server stub).Клиентская заглушка представляет собой компонент, размещаемый на той же машине, гденаходится компонент-клиент. Удаленный вызов процедуры клиентом реализуется как обычный,локальный вызов определенной функции в клиентской заглушке.

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

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

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

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