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. Сведения об авторах Свистунов Алексей Николаевич, ассистент кафедры МОЭВМ факультета ВМК.