1. Общая характеристика курса Цели и задачи курса

advertisement
1. Общая характеристика курса
Цели и задачи курса
Практическое знакомство с принципами разработки распределенных систем, с
использованием современных технологий
Дисциплины, изучение которых необходимо при освоении данного курса
«ЭВМ и программирование», «Основы ЭВМ», «Базы и банки данных», спец курсы
«Программирование на Java», «Основы операционных систем»
2. Содержание курса
Лекции
1. Распределенные системы: задачи, терминология принципы функционирования.
Часто используемые термины. Типичные архитектуры построения распределенных
систем. Типичные проблемы (многопоточность и связанные с ней вопросы,
понятие транзакционности при обработке данных – мониторы транзакций,
синхронные и асинхронные модели взаимодействия)
2. Архитектура клиент-сервер. Типовые задачи. Области применения.
Проектирование сервера (подходы, инструментарий). Проектирование клиента.
(подходы, средства быстрой разработки RAD).
3. Пример информационной системы (типичное приложение в архитектуре клиентсервер). Сервер (СУБД, проектирование БД, реализация). Клиент (проектирование,
реализация). Распределение ролей. Вопросы безопасности.
4. Многозвенная архитектура. Области применения. Краткий обзор современных
технологий. XML, CGI/JSP, Servlets, DCOM, CORBA, RMI (.NET).
5. Выделение слоев в многозвенной архитектуре (типичная архитектура). «Тонкие» и
«Толстые» клиенты. Сервер приложения (Application server). Сервер базы данных
(Database Server). Миграция объектов (вопросы распределения вычислительной
нагрузки). Развертывание системы.
6. Основы CORBA. CORBA и ООП. Язык определения интерфейсов IDL.
Отображение IDL на C++. Отображение IDL на Java. ОRB. Динамическое
взаимодействие клиентов и серверов. Сервисы именования CORBA.
Пример информационной системы, выполненной в многозвенной архитектуре.
Практические занятия
не планируется
Лабораторные работы
Лабораторная работа 1
Система обслуживания дисконтных карт
Обсуждение вопросов, связанных с выбором архитектуры системы и реализации.
Практическое знакомство с необходимыми технологиями. Создание схемы БД.
Реализация ссылочной целостности на стороне БД. Реализация бизнес-логики на стороне
сервера. Транзакционность. Разработка клиентского приложения. Компоненты
интерфейса пользователя. Компоненты взаимодействия с БД. Работа приложения в
многопользовательской среде.
Необходимый инструментарий: сервер - Oracle 8.1.7 (MSSQL Server 2000 sp3), клиент –
Java (jdk, VisualCafe, MS J++, ...)
Лабораторная работа 2
WMS (Warehouse Management System)
Обсуждение вопросов, связанных с выбором архитектуры системы и реализации.
Практическое знакомство с необходимыми технологиями. Тонкий клиент (Web, HandHeld,
сотовый телефон, …). Сервер приложения. Взаимодействие клиент – сервер приложений.
Сервер бизнес-логики. Взаимодействие с сервером приложений. Сервер БД. Вопросы
распределения вычислительной нагрузки. Обеспечение отказоустойчивости.
Необходимый инструментарий: сервер - Oracle 8.1.7 (MSSQL Server 2000 sp3),
Приложение/бизнес-логика – Java (jdk, VisualCafe, MS J++, ...)
3. Планируемый объем курса по темам
Тема
Продолжительность
ЛП

2
0
2
4
2
6
2
4
6
Л
7. Распределенные системы: задачи,
терминология принципы
функционирования. Часто используемые
термины. Типичные архитектуры
построения распределенных систем.
Типичные проблемы (многопоточность и
связанные с ней вопросы, понятие
транзакционности при обработке данных –
мониторы транзакций, синхронные и
асинхронные модели взаимодействия)
8. Архитектура клиент-сервер. Типовые
задачи. Области применения.
Проектирование сервера (подходы,
инструментарий). Проектирование клиента.
(подходы, средства быстрой разработки
RAD).
9. Пример информационной системы
(типичное приложение в архитектуре
клиент-сервер). Сервер (СУБД,
проектирование БД, реализация). Клиент
(проектирование, реализация).
Распределение ролей. Вопросы
безопасности.
10. Многозвенная архитектура. Области
применения. Краткий обзор современных
технологий. XML, CGI/JSP, Servlets,
DCOM, CORBA, RMI (.NET).
11. Выделение слоев в многозвенной
архитектуре (типичная архитектура).
«Тонкие» и «Толстые» клиенты. Сервер
приложения (Application server). Сервер
базы данных (Database Server). Миграция
объектов (вопросы распределения
вычислительной нагрузки). Развертывание
системы.
П
2
2
2
2
12. Основы CORBA. CORBA и ООП. Язык
определения интерфейсов IDL. Отображение
IDL на C++. Отображение IDL на Java. ОRB.
Динамическое взаимодействие клиентов и
серверов. Сервисы именования CORBA.
13. Пример информационной системы,
выполненной в многозвенной архитектуре.
Итого
4
4
8
2
4
8
14
32
18
0
4. Сведения об авторах
Свистунов Алексей Николаевич, ассистент кафедры МОЭВМ факультета ВМК.
Download