МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Томский государственный университет

Факультет прикладной математики и кибернетики

УТВЕРЖДАЮ

Декан факультета прикладной математики и кибернетики, профессор

_________

"1" марта 2011 г.

Рабочая программа дисциплины

«Введение в технологии распределенных вычислений»

Направление подготовки: 010400 – Прикладная математика и информатика

Квалификация выпускника: Бакалавр

Форма обучения: очная

Томск

2011 г.

1. Цели освоения дисциплины:

Целью дисциплины является ознакомление студентов с основными технологиями построения распределенных вычислительных систем. В рамках курса решаются следующие задачи: усвоение современных технологий распределенных вычислений, приобретение навыков проектирования распределенных систем.

2. Место дисциплины в структуре ООП бакалавриата

Дисциплина по выбору для студентов 4 года обучения, читается в 8 семестре (вариативная часть профессионального цикла).

Для успешного освоения дисциплины студент должен иметь предварительную подготовку по дисциплинам: дискретная математика, основы информатики, языки и методы программирования, системное и прикладное программное обеспечение, базы данных, вычислительные сети.

Данная дисциплина необходима для изучения следующих дисциплин: инженерия программного обеспечения

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

Способность владения навыками работы с компьютером как средством управления информацией (ОК-11); способность работать с информацией в глобальных компьютерных сетях (ОК-12); способность использовать в научной и познавательной деятельности, а также в социальной сфере профессиональные навыки работы с информационными и компьютерными технологиями (ОК-14); способность работы с информацией из различных источников, включая сетевые ресурсы сети Интернет, для решения профессиональных и социальных задач (ОК-15).

НЕ нашли? Не то? Что вы ищете?

Способность приобретать новые научные и профессиональные знания, используя современные образовательные и информационные технологии (ПК-2); способность понимать и применять в исследовательской и прикладной деятельности современный математический аппарат (ПК-3); способность осуществлять целенаправленный поиск информации о новейших научных и технологических достижениях в сети Интернет и из других источников (ПК-6); способность решать задачи производственной и технологической деятельности на профессиональном уровне, включая: разработку алгоритмических и программных решений в области системного и прикладного программирования (ПК-9); способность применять в профессиональной деятельности современные языки программирования и языки баз данных, операционные системы, электронные библиотеки и пакеты программ, сетевые технологии (ПК-10).

В результате освоения дисциплины обучающийся должен:

• Знать: основные технологии построения распределенных систем: начиная от процедурных подходов, проходя через объектные и заканчивая компонентными моделями; базовые шаблоны проектирования распределенных систем.

• Уметь: применить изученные методы и алгоритмы на практике в процессе разработки реальных программных систем.

• Владеть: практическими навыками работы с современными системами проектирования и разработки распределенных систем.

4. Структура и содержание дисциплины

Общая трудоемкость дисциплины составляет 2,6 зачетных единиц 94 часа.

4.1. Распределение часов курса по темам и видам работ

№№

п/п

Раздел дисциплины

Семестр

Неделя семестра

Виды учебной работы

(в часах)

Формы текущего контроля успеваемости

Форма промежуточной аттестации

Лекции

Практические занятия

Лабораторные работы

Самостоятельная работа

1.

Подходы к построению распределенных систем – общий обзор

8

1

2

Тест

2.

RPC

8

2

2

Тест

3.

CORBA

8

2-3

4

Тест

4.

RMI

8

4

2

Тест

6

EJB

8

4-5

4

Контрольная работа

7

.NET Remoting

8

5-6

4

8

12

Тест

8

Шаблоны проектирования распределенных систем

8

7-8

6

8

13

Зачет

Итого

24

8

8

25

29

4.2. Перечень разделов курса

Тема 1. Подходы к построению распределенных систем – общий обзор. История распределенных вычислений. Основные принципиальные схемы построения распределенных систем: псевдораспределенные системы, системы распределенного доступа к БД, системы, основанные на очередях сообщений, мониторы транзакций, системы распределенных объектов, мониторы компонентных транзакций.

Тема 2. Remote Procedure Call. Общие принципы организации удаленного вызова: введение в процедурный IDL. Понятия маршаллинга и демаршаллинга. Понятия клиентского и серверного стабов.

Тема mon Object Request Broker Architecture. Общие принципы организации взаимодействия объектов в распределенной среде. Введение в объектный IDL. Понятие объектной ссылки. Понятие жизненного цикла CORBA-объекта. Введение в объектные адаптеры.

Тема 4. Remote Method Invocation. Основные понятие RMI. Интерфейсы Java. Уровни архитектуры RMI. Стабы и скелетоны в RMI.

Тема 5. Enterprise Java Beans. Мониторы компонентных транзакций на примере J2EE. Типы бинов. Удаленные и локальные интерфейсы. EJB-контейнеры.

Тема 6. .NET Remoting. Введение в. NET. Понятие виртуальной машины и управляемого кода. Домены и контексты приложения. Границы Remoting. Дистанцируемые и недистанцируемые типы. Передача объектов по ссылки и по значению. Режимы активации объектов в. NET Remoting. Каналы в. NET Remoting. Управление жизненным циклом объектов (лицензии и спонсоры)

Тема 7. Шаблоны проектирования распределенных систем. Архитектурные шаблоны, шаблоны организации бизнес-логики, шаблоны организации источников данных

4.3. Лабораторный практикум/практикум на ЭВМ

Тема 1. Организация удаленного взаимодействия в рамках технологии. NET Remoting.

Тема 2. Работа с XML из. NET приложений

Тема 3. Работа с базами данных из. NET приложений

Тема 4. Реализация системы расчета скидок в розничной торговой сети в рамках трехзвенной архитектуры (клиент – сервер приложений - СУБД) с использованием технологии. NET Remoting

4.4. Практические занятия

Тема 1. Проектирование трехзвенной архитектуры (клиент – сервер приложений - СУБД) применительно к технологии. NET Remoting. Предметные области индивидуальны для каждого студента

4.5. Курсовой проект (курсовая работа)

Курсовой проект не предусмотрен.

5. Образовательные технологии

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

Удельный вес занятий, проводимых в интерактивных формах, составляет не менее 40% аудиторных занятий. Занятия лекционного типа для соответствующих групп студентов составляют не более 40% аудиторных занятий.

6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины

Все необходимое учебно-методическое обеспечение по дисциплине представлено в печатном или электронном виде в библиотеке ТГУ, а также в электронном виде в сети Интернет на сайте кафедры программирования или ИДО ТГУ.

В конце 8 семестра сдается зачет.

6.1. Примерный перечень вопросов к экзамену:

Распределенные системы: терминология и задачи. Архитектуры. Промежуточное ПО. Псевдо-MiddleWare (CGI, ISAPI, ASP/JSP, Servlets) RPC Системы прозрачного доступа к БД. MOM TP CTM Средства интеграции распределенных объектов CORBA RMI EJB .NET Remoting Расслоение системы по уровням Базовые типоые решения Паттерны организация бизнес-логики Паттерны организации источников данных Взаимное отображение объектов и реляционных структур

7. Учебно-методическое и информационное обеспечение дисциплины

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

1.  М. Фаулер "Архитектура корпоративных программных приложений", М.: Вильямс, 2007.

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

3.  Debu Panda, Reza Rahman, Derek Lane, “EJB 3 in Action”, 2007

4.  William Grosso, Java RMI, O'Reilly 2001

5.  Скотт Маклин, Джеймс Нафтел, Ким Уильямс, “ Remoting”, 2003

6.  Ingo Rammer, “ Remoting (C# Edition)”

8. Материально-техническое обеспечение дисциплины

8.1. Требования к аудиториям (помещениям, местам) для проведения занятий

Стандартно оборудованные лекционные аудитории. Для проведения лабораторных занятий – компьютерные классы. А также аудитории для проведения интерактивных лекций: видеопроектор, экран настенный, др. оборудование.

8.2. Требования к специализированному оборудованию

Рабочие места преподавателя и студентов должны быть оснащены оборудованием не ниже: Pentium |||-800/ОЗУ-256 Мб / Video-32 Мб / HDD 80 Гб / СD-ROM – 48x / Network adapter – 10/100/ Мбс / SVGA – 15”.

8.3. Требования к специализированному программному обеспечению

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

Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и ПрООП ВПО по направлению подготовки 010400 – Прикладная математика и информатика

Автор: ст. преподаватель

Рецензент: к. т.н., доцент,

Программа одобрена на заседании ученого совета ФПМК

от 24 февраля 2011г, протокол