Технологии создания кросс-платформенных распределенных приложений
Покупка
Новинка
Год издания: 2009
Кол-во страниц: 40
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-3316-2
Артикул: 842297.01.99
Рассмотрены подходы к взаимодействию составных частей распределенной системы обработки информации и реализующее их промежуточное программное обеспечение. Приведены примеры использования рассмотренных программных средств и библиотек.
Для студентов 5-го курса кафедры "Программное обеспечение ЭВМ и информационные технологии" МГТУ им. Н. Э. Баумана.
Работа выполнена при поддержке Российского фонда фундаментальных исследований, грант № 06-07-89265.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана В.А. Крищенко ТЕХНОЛОГИИ СОЗДАНИЯ КРОСС-ПЛАТФОРМЕННЫХ РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЙ Рекомендовано методической комиссией НУК ИУ в качестве учебного пособия Москва Издательство МГТУ им. Н.Э. Баумана 2009
УДК 681.3.06 ББК 32.81 К82 Р е ц е н з е н т ы: А.П. Носов, С.Б. Ткачев К82 Крищенко В.А. Технологии создания кросс-платформенных распределенных приложений: Учеб. пособие. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2009. – 40 с.: ил. ISBN 978-5-7038-3316-2 Рассмотрены подходы к взаимодействию составных частей распределенной системы обработки информации и реализующее их промежуточное программное обеспечение. Приведены примеры использования рассмотренных программных средств и библиотек. Для студентов 5-го курса кафедры «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана. Работа выполнена при поддержке Российского фонда фундаментальных исследований, грант №06-07-89265. УДК 681.3.06 ББК 32.81 ISBN 978-5-7038-3316-2 c ⃝МГТУ им. Н.Э. Баумана, 2009
ПРЕДИСЛОВИЕ Для создания распределенных систем обработки информации студенты должны уметь применять технологии, позволяющие организовать взаимодействие внутри распределенной системы. В пособии рассмотрены базовые методы взаимодействия составных частей распределенных систем и их существующие реализации. Эти средства не привязаны к конкретному производителю операционной системы, к платформе или языку программирования и в силу этого могут использоваться для создания открытых распределенных систем. В пособии анализируются следующие виды взаимодействия в распределенных системах и поддерживающее их промежуточное программное обеспечение: 1) синхронный обмен (рассмотрен на основе использования высокоуровневого удаленного вызова и веб-служб, базирующихся на архитектуре REST; удаленный вызов рассмотрен на примере использования протоколов Zeroc Ice и XML-RPC, веб-службы – на основе использования платформы Ruby on Rails); 2) издание событий и подписка на события (рассмотрены на примере использования систем Zeroc IceStorm и ActiveMQ); 3) асинхронный обмен сообщениями (показан на примере использования системы очередей сообщений ActiveMQ и учебной программы, реализующей посредника асинхронного обмена с интрефейсом на базе протокола XML-RPC). Для оформления примеров в пособии использованы языки программирования высокого уровня Python, Ruby и Erlang. Все представленные системы и библиотеки лицензированы по одной из свободных лицензий. Команды в тексте пособия даны для POSIXподобных систем, но все описываемые системы работают и в ОС Microsoft Windows.
1. СИНХРОННЫЙ ОБМЕН НА ОСНОВЕ УДАЛЕННОГО ВЫЗОВА ПРОЦЕДУР 1.1. Удаленный вызов процедур Понятие удаленного вызова процедур (Remote Procedure Call – RPC) первоначально возникло в теории операционных систем как расширение локального вызова процедур в случае соединения двух компьютеров в вычислительную сеть. В настоящее время существует множество технологий, позволяющих выполнять платформонезависимый высокоуровневый удаленный вызов, используя, например, HTTP в качестве транспортного протокола и XML для хранения информации о параметрах удаленного вызова. Такие технологии значительно отличаются по возможностям и сложности реализации от первоначального варианта удаленного вызова, но основная идея остается неизменной – это попытка скрыть факт удаленного взаимодействия для разработчика. Удаленный вызов требует наличия у клиента (вызывающей стороны) полной информации об удаленном программном интерфейсе сервера (вызываемой стороны). Применение удаленого вызова означает также необходимость одновременного взаимодействия клиента и сервера. Достоинством удаленного вызова процедур является возможность не различать в программе удаленный и локальный вызовы функций. Если в ходе удаленного вызова нет пересечения границы доверия между организациями, то данный механизм позволяет практически прозрачно организовать синхронное взаимодействие между компонентами программного обеспечения на различных компьютерах по модели «запрос – ответ» или «одностороний запрос». С ростом популярности объектно-ориентированного подхода появилось понятие удаленного объекта. В целях разумного применения ресурсов сервера привлечение удаленных объектов обычно 4