Главная страница « Спецкурсы «

Спецкурс «Архитектура распределенных систем программного обеспечения»


Лектор: доктор техн. наук, с. н. с. Карпов Л. Е.
Продолжительность: 32 часа (полугодовой, весенний семестр)
Аудитория: студенты кафедр СП, АСВК и АЯ 3-4 курсов бакалавриата, 5 курса специалитета, 1-2 курсов магистратуры.

В 2015 году лекции читаются по понедельникам в 16:20 в аудитории 606.
Первая лекция будет прочитана 16 февраля 2015 года. Экзамен запланирован на 14 апреля.

Аннотация курса

Пособие (1,29Мб) | Конспект (530Кб)


Курс посвящен знакомству с основными свойствами распределенных систем программного обеспечения (гетерогенность, прозрачность, открытость, масштабируемость), рассматриваются механизмы реализации этих свойств, используемые при разработке программного обеспечения распределенных систем. Подробно изучаются базовые методы взаимодействия распределенных систем - удаленный вызов процедуры и удаленное обращение к методу объекта, исследуются проблемы, связанные с прозрачностью вызова: преобразование данных при передаче параметров и результатов, согласование протоколов, синхронизация, отработка исключительных ситуаций.

В основе курса – изучение промежуточного (интеграционного) слоя программного обеспечения распределенных систем (middleware) и различных вариантов его реализации: мониторов транзакций, брокеров и мониторов объектов, брокеров сообщений.

Изучаются методы интеграции приложений на базе технологий Интернета. Исследуются концептуальные основы построения сетевых служб (Web-services), архитектуры сетевых служб, изучаются их базовые компоненты: протокол доступа к объектам, язык описания службы, регистратор сетевых служб. Описываются методы композиции и скоординированной работы сетевых служб.

Содержание курса


Введение

Понятие распределенных систем программного обеспечения. Виды и свойства распределенных систем программного обеспечения. Виды архитектуры распределенных систем. Управление взаимодействием разнородных приложений (middleware).

Основные механизмы

Понятие удаленной процедуры (модель RPC). Транзакционные мониторы. Алгоритмы подтверждения транзакций. Удаленное обращение к методам объектов (модель RMI). Брокеры объектов (спецификация CORBA). Взаимодействие на основе обмена сообщениями (модель MOM). Очереди сообщений и транзакционные очереди. Модель взаимодействия "точка-точка".

Проблемы интеграции приложений

Комплексная интеграция приложений (EAI). Брокеры сообщений. Модель взаимодействия "публикация/подписка". Системы управления рабочим потоком (WorkflowMS). Серверы приложений.

Технологии Интернета

Понятие сетевой службы (Web Service). Сервисные службы и интеграция приложений. Базовые компоненты сетевых служб. Протоколы и стандартизация. Проблемы публикации данных и поиска сетевых служб. Координация взаимодействия сетевых служб. Композитные сетевые службы.

Основная литература:

  1. Л. Е. Карпов. Архитектура распределенных систем программного обеспечения - М.: МАКС Пресс, МГУ, ВМК, 132 стр., 2007 г. (шифр в библиотеке МГУ: 5ВГ66, К-265).

  2. Gustavo Alonso, Fabio Casati, Harumi Kuno, Vijay Machiraju. "Web Services. Concepts, Architectures and Applications". Springer-Verlag, 2004.

  3. Andrew S. Tanenbaum, Maarten van Steen. "Distributed Systems. Principles and paradigms". Prentice Hall, Inc., 2002 (Э. Таненбаум, М. ван Стеен. "Распределенные системы. Принципы и парадигмы". СПб.: Питер, 2003)

  4. http://www.w3.org/2000/xp/Group/.

  5. http://www.w3.org/TR/.

  6. http://www.w3.org/TR/2008/REC-xml-20081126/.

  7. http://www.w3.org/TR/soap/.

  8. http://www.w3.org/TR/soap12-part1/.

  9. http://www.w3.org/TR/2000/NOTE-SOAP-20000508/.

  10. http://www.w3.org/TR/wsdl20.

  11. http://uddi.org/pubs/uddi-v3.0.2-20041019.htm.

  12. http://www.oasis-open.org/specs/index.php#uddiv2.

  13. http://www.oasis-open.org/specs/index.php#uddiv3.

  14. http://www.oasis-open.org/specs/index.php#uddiv3.0.2.

  15. http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-os/wstx-wscoor-1.2-spec-os.html.

  16. http://docs.oasis-open.org/ws-tx/wstx-wsat-1.2-spec-os/wstx-wsat-1.2-spec-os.html.

  17. http://www.oasis-open.org/specs/index.php#wstx-wsatv1.2.

  18. http://docs.oasis-open.org/ws-tx/wstx-wsba-1.2-spec-os/wstx-wsba-1.2-spec-os.html.

  19. http://www.oasis-open.org/specs/index.php#wstx-wsbav1.2.

  20. http://www.w3.org/2005/08/addressing.

  21. http://www.w3.org/TR/2007/REC-ws-policy-20070904/.

  22. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html.

  23. http://www.oasis-open.org/specs/index.php#wsbpelv2.0.

Дополнительная литература:

  1. Л. А. Калиниченко, М. Р. Когаловский, "Стандарты OMG: Язык определения интерфейсов IDL в архитектуре CORBA", Системы Управления Базами Данных, № 2, стр. 115-129, 1996 (http://www.tts.tomsk.su/personal/~sas/DBMS/96_2/source/115.htm).

  2. А. Касаткин. "Средства middleware и их классификация". PCWeek, № 19 (193), 1999.

  3. М. Мамаев. "Телекоммуникационные технологии (Сети TCP/IP)". Владивостокский госуниверситет экономики и сервиса. Владивосток, 2001. Доступ в Интернете по адресу http://athena.vvsu.ru/net/book/index.html.

  4. И. Ш. Хабибуллин. "Создание распределенных приложений на Java 2". СПб.: БХВ-Петербург, 2002.

  5. А. А. Цимбал. "Технология CORBA для профессионалов". СПб.: Питер, 2001.

  6. А. А. Цимбал, М. Л. Аншина. "Технологии создания распределенных систем. Для профессионалов". СПб.: Питер, 2003.

  7. John Barkley. "Comparing Remote Procedure Calls", Oct 1993 (http://hissa.nist.gov/rbac/5277/titlerpc.html).

  8. Philip A. Bernstein. "Middleware - A model for Distributed System Services". Communications of the ACM, v. 39, No 2, February, 1996. (Ф. Бернштейн. "Middleware: модель сервисов распределенной системы". Открытые системы, Системы управления базами данных, № 2, 1997, http://www.osp.ru/dbms/1997/02/41.htm).

  9. Eric Newcomer. "Understanding Web Services: XML, WSDL, SOAP and UDDI", Addison-Wesley, 2002 (Эрик Ньюкомер. "Веб-сервисы. Для профессионалов", СПб.: Питер, 2003).

  10. Robert Orfali, Dan Harkey, Jeri Edwards. "Instant CORBA". Wiley Computer Publishing, John Wiley & Sons, Inc., 1997 (Р. Орфали, Д. Харки, Д. Эдвардс, "Основы CORBA", М., МАЛИП, 1999).

  11. Natanya Pitts. "XML In Record TimeT", Sybex Inc., 1999 (Натания Питс. "XML за рекордное время", М.: "Мир", 2000).

  12. W. Richard Stevens. "UNIX Network Programming. Networking APIs", Prentice Hall PTR, 2nd edition, 1998 (У. Стивенс "Разработка сетевых приложений", СПб.: Питер, 2004).

Вспомогательная литература:

  1. http://www.corba.org/.

  2. Oracle Message Broker Administration Guide. Release 2.0.1.0. Part Number A65435-01 (for SPARC Solaris & Windows NT).

  3. http://cs.ifmo.ru/education/documentation/doc_817/ois.817/a65435/toc.htm.

  4. "OSF DCE 1.2.2 Application Development Guide - Core Components", The Open Group, 1997.

  5. Jon Siegel. "Quick CORBAT 3". Wiley Computer Publishing, John Wiley & Sons, Inc., 2001 (Джон Сигел, "CORBA 3", М., МАЛИП, 2002).

  6. B. Viveney. "DCE and Object Programming". In W. Rosenberry (ed.) "DCE Today", pp. 251 - 264. Upper Saddle River, NJ, Prentice Hall Inc., 1998.

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 12.2.2015