МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
ФІЗИЧНИЙ ФАКУЛЬТЕТ
КАФЕДРА КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ
"ЗАТВЕРДЖЕНО"
Радою факультету
протокол № ____ від ________
Голова Ради А. О. Каргін
__________________________
РОБОЧА ПРОГРАМА
навчальної дисципліни
Інтернет технології розробки додатків Частина 1 (викладач В. К. Толстих)
Напрямок підготовки - 0804 комп'ютерні науки
Спеціальність - 6.080404 Інтелектуальні системи прийняття рішень
Донецьк – 2012
Укладач: д.ф.-м. н. , проф. кафедри комп’ютерних технологій В. К. Толстих
Рецензенти: _______________________________________________________
Робоча програма ухвалена на засіданні кафедри комп’ютерних технологій, протокол № ___ від ___________________
Зав. кафедрою д. т. н., проф. А. О. Каргін
Робоча програма ухвалена на засіданні навчально-методичної комісії фізичного факультету, протокол № ___ від ___________________
Голова навчально-методичної комісії _________________
Введение
Цель преподавания дисциплины состоит в изучении студентами основ технологий программирования распределённых клиент-серверных приложений в Internet и Intranet сетях, а также – в приобретении навыков администрирования Web-серверов IIS, создания различных Web приложений средствами Delphi, ASP и ASP.NET-технологий в среде Visual Studio .NET, а также – Web/WCF-сервисов.
В результате изучения дисциплины студенты должны знать современные Web клиент-серверные технологии
уметь администрировать Web-серверы IIS 5, IIS 7
уметь создавать Web-приложения CGI и ISAPI средствами Delphi
уметь создавать Web-приложения на основе ASP-технологий
уметь создавать Web-приложения на базе ASP.NET-технологий средствами Visual Studio
уметь организовать работу Web-приложений с базами данных, почтой, потоками, Cookies и с использованием AJAX-технологий и Crystal Reports
уметь разрабатывать сервис-ориентированные архитектуры и создавать Web/WCF-сервисы.
Данная дисциплина – обязательная для изучения.
Преподавательский состав:
лектор – д. ф.-м. н., проф. кафедры КТ В. К. Толстых
Методика изложения и обучения: лекции и лабораторные занятия в компьютерных классах.
Язык преподавания – русский.
Требуемое программное обеспечение для выполнения лабораторных работ Widows XP Professional или Widows 7 с установленным IIS (или локальная сеть с доступом к IIS), Delphi 7, FrontPage 2003 или SharePiont Designer 2007, Visual Studio 2008-2010 с установленным .NET 3.5 и Crystal Reports.
Учебная программа курса
N
| Название темы и ее содержание |
| Введение в Web-приложения. Понятие Web-клиент, Web-сервер, Web-сайт, Web-приложение. Эволюция Web-серверов. Интерфейсы CGI, ISAPI. Стандаот URL. Протокол HTTP, HTTPS (для SSL). Примеры протокола HTTP сеансов браузера и сервера. MIME-стандарт. HTTP-код возврата.
|
| Форма HTML и её элементы. Знакомство с SharePoint Designer. Запуск Web-приложения клиентом, передача параметров методами Post и Get.
|
| Администрирование IIS 5, 7. Знакомство с архитектурой IIS, администрирование узлов Web, конфигурирование приложений, обеспечение защиты IIS, разрешения Web-сервера и NTFS, аутентификация.
|
| Создание Web-приложений CGI, ISAPI с помощью Delphi. Библиотека Web-компонентов TWebModule, TWebRequest и TWebResponse, их свойства и методы. Работа Web-диспетчера. Алгоритм создания, компиляции и запуска Web-клиентом ISAPI приложения. Необходимые настройки IIS 5-7 для запуска ISAPI.
Создание динамических HTML-страниц. Компонент TPageProducer, его основные свойства, методы, события. Настраиваемые теги. Примеры.
Cookie – поддержка информации о пользователях.
|
| Знакомство с Active Server Pages (ASP). Модель Active Server Pages. Основы языка ASP, встроенные и внешние объекты. Примеры создания ASP-страниц.
Свойства и методы объектов Response, Request. Примеры.
Свойства и методы объектов Application, Session. Понятие куки.
Свойства и методы объектов Server, FileSystemObject -работа с файлами.
Работа с базами данных – объекты Connection, Recordset.
Работа с E-mail, примеры.
|
| Разработка приложений ASP.NET с помощью Visual Studio .NET.
Введение в ASP.NET. Принцип действия ASP.NET. Структура ASP.NET-страницы. Модель обратного вызова Postback. Создание проекта в Visual Studio .NET.
Знакомство с IIS и компиляцией. Администриарование IIS.
Директивы ASP.NET. Классы Page, Control и их потомки.
Элементы управления Html. Пример HtmlControl, клиентские скрипты.
Элементы управления Web. Пример создания динамической таблицы. Calendar, SiteMap, ImageMap, AdRotator, Menu, TreeView, Localize.
Работа с формами. Класс HtmlForm. Элементы управления MultiView, Wizard. Передача и извлечение параметоров формы, межстраничный постинг. Примеры обработки данных форм.
Пользовательские элементы управления. Создание и добавление в проект.
Куки. Формирование, чтение и запись.
Работа с базами данных посредством ADO.NET, примеры. Трёхуровневая модель доступа к БД. Объектно-ориентированный доступ к БД – LINQ.
Технология AJAX Extensions. Создание AJAX сайта в Visual Studio. Серверные элементы управления AJAX. Примеры.
Архитектура IIS, упарвление кэшированием в IIS. Кэширование вывода страниц и их частей посредством пользовательских компонент.
Валидационные элементы управления. Примеры.
Обработка ошибок страниц. Раздел <customErrors> файла web.config, обработчик Application_Error в файле Global.asax, операторы try … catch.
Стили и эталонные страницы MasterPages. Создание и подключение стилей. Master Pages, Web Parts. Взаимодействие с классом MasterPages.
Crystal Reports – составление отчетов в среде ASP.NET.
Работа с файлами, почтой. Примеры.
|
| Разработка Web/WCF сервисов с помощью Visual Studio .NET.
Web-сервисы. Протоколы Web-сервисов. Архитектура Web-сервисов.
SOA – Service Oriented Architecture - новая архитектура информационных систем. Цели SOA, SOA и информационные системы компаний. Уровни абстракции SOA. Оценка эффективности сервисов. График «длинного хвоста».
|
| WCF-сервисы. Конечные точки, привязки, контракты. Структура файла конфигурации сервиса. Обмен метаданными. Тестирование сервиса. Пример создания .svc сервиса и её клиента. Web-хостинг сервиса.
Надёжность, управление экземплярами. Особенности служб уровня вызова, сеансовых, синглетных. Обработка ошибок. Концепция. Ошибки, получаемые клиентом сервиса. Контракты сбоев. Примеры. Расширение обработки ошибок: пользовательские исключения, логирование исключений.
|
| Исполняющая среда ASP.NET в IIS 7. Архитектура IIS 7, пулы, модули, обработчики. Файлы конфигурирования, делигирование конфигурации.
Модель процесса ASP.NET: AppPool, AppDomain, Application, HTTP-конвейер.
Компиляция. Пакетная компиляция. Предкомпиляция проекта и сборок.
Оптимизация скорости работы приложения: на сервере, в браузере, трафик.
Безопасность. Проблемы безопасности, правила безопасного кодирования. Понятие стража. Проверка подлинности – олицетворение (имперсонализация). Аутентификация и авторизация. Информационная уязвимость. Классификация угроз безопасности. Классификация систем обнаружения атак.
| Учебно-методическая литература
Беллиньясо Марко. Разработка Web-приложений в среде ASP.NET 2.0: задача-проект-решение. : Пер. с англ. – М.: ООО «И.Д. Вильямс», 2007. - 640 с.: ил.
Гаряка А. А. Основы ASP.NET 2.0: Учебное пособие – БИНОМ, 2007.-296 с.: ил.
Гладких А.А. Базовые принципы информационной безопасности вычислительных сетей: учебное пособие для студентов / А.А.Гладких, В.Е. Дементьев;- Ульяновск : УлГТУ, 2009.- 168 с.
Ксавье Пачеко. Delphi for .NET / Пер. с англ. – М: «Вильямс», 2005. – 960 с.: ил.
Кузнецов И. Создание отчётов в Crystal Reports: Учебный курс. – СПб.: БХВ-Питер, 2003.-544 с.: ил.
Толстых В.К. Администрирование сервера IIS 5: Учебное пособие – Донецк: ДонНУ, 2004. – 54 с.: ил.
Толстых В.К. Динамичесмкий HTML 4.0. Уч.-метод. Пособие Донецк: ДонНУ, 2006. – 32 с.
Толстых В.К. Internet-технологии разработки приложений: конспект (слайды) лекций. – http://www.tolstykh.com/edu
Толстых В.К. Справочник Web-программиста. – http://www.tolstykh.com/edu/manual
Эспозито Д. Microsoft ASP.NET 2.0. Базовый курс / Пер. с англ. – М.: «Русская редакция»; СПб.: Питер, 2007.-688 с.: ил.
Эспозито Д. Microsoft ASP.NET 2.0. Углублённое изучение / Пер. с англ. – М.: «Русская редакция»; СПб.: Питер, 2007.-592 с.: ил.
Планы и инструкции к лабораторным занятиям
Delphi: ISAPI, компонент TPageProducer
Разработать средствами FrontPage (SharePoint Designer, WebMatrix, Expression Web Designer) Web-форму e-магазина, предлагающую клиенту выбрать товар из некоторого перечня, а также требующую от клиента ввода его имени. Средствами Delphi разработать ISAPI-приложение с компонентом TPageProducer, формирующее ответ клиенту с подтверждением выбранного товара и с указанием имени клиента. Продемонстрировать работу приложения. При сдаче лабораторнгой работы продемонстрировать умения работы в среде SP Designer (создание таблиц, ссылок, списков, вставка рисунков; настройка свойств страницы, параграфов и шрифтов; создание сайтов, анализ корректности сайта), с консолью IIS 5, 7 (создание сайтов, виртуальных каталогов, настройка IIS: Web и NTFS разрешений, документы по умолчанию). Обработка Post-запроса и работа с файлами в ASP приложении
Разработать ASP-приложение e-магазина с вводом имени клиента и выбором товара. Реализовать чтение перечня товаров из файла и сохранение ответа клиенту в файле магазина. Настроить NTFS разрешения. Продемонстрировать работу приложения. Работа с формами в ASP.NET
Подготовить ASP.NET-приложение для выбора и заказа товаров из разных категорий. Главная страница должна содержать форму с перечнем категорий. Перечень товаров в каждой категории разместить на этой же странице при помощи MultiView или Wizard. Заказ должен подтверждаться сообщением на отдельной странице (реализовать межстраничный постинг стандартсными средствами ASP.NET) и показом на ней выбранных товаров, оформленных в виде динамически формируемой таблицы. При сдаче лабораторнгой работы знать ответы на контрольные вопросы: Что таоке состояние представления страницы __VIEWSTATE? Как можно защитить состяние представления страницы от «взломов»? Что означает свойство страницы IsPostBack? Что такое и как реализуется межстраничный постинг в ASP.NET? Как получить POST-данные при межстраничном постинге? Чем отличается метод Transfer от Redirect? Пользовательские элементы управления, куки
Модернизировать предыдущее Web-приложение. Оформить блоки показа категорий и товаров в виде пользовательских элементов управления со свойствами (реализовать через get/set). Добавить куки, содержащее имя пользователя, для его приветсвия при повторных посещениях сайта. При сдаче лабораторнгой работы знать ответы на контрольные вопросы: Как браузер работает с куки? Чем отличаются HTML- и Web-элементы в ASP.NET? Как формируются идентификаторы Web-элементов в системе ASP.NET? Какие основные (5) события сопровождают создание страницы? БД, сесии
Модернизировать предыдущее Web-приложение. Поместить перечень категорий и товаров в базу данных. Выбранные товары помещать в «корзину», которую можно организовать в сессии клиента. Предусмотреть возможность просмотра «корзины» в любом месте магазина. Заказ клиента записывать в БД и показывать подтверждение заказа чтением из БД. При сдаче лабораторнгой работы знать ответы на контрольные вопросы: Чем отличаются SQL-запрсы от LINQ-запросов? Какими способами можно сохранять состояние страницы (состояние её переменных)? AJAX, кэширование
Модернизировать, при необходимости, предыдущее пользовательские элементы управления, добавить новые и кэшировать их все, обосновать выбор кэширования. Блок показа товаров должен обновляться после выбора категории без перезагрузки всей страницы (AJAX-технологии). При сдаче лабораторнгой работы знать ответы на контрольные вопросы: Чем отличаются триггеры Ajax для асинхронного и синхронные обратного вызова? Что такое кэширование на уровне ядра IIS? Как его включить? Как в IIS задать кэширование файлов требуемых типов? Как при кодировании задать кэширование страницы в зависимости от таблицы базы данных SQL? Как кэшировать отдельные части страниц? Валидация и отчёты
Добавить на форму поля для ввода данных о пользователе с необходимыми валидаторами. Контролировать валидацию на сервере и на клиенте. Ответ на заказ клиента оформить в виде отчёта Crystal Reports с таблицей и диаграммой. При сдаче лабораторнгой работы знать ответы на контрольные вопросы: Как организуется валидация страниц на сервере? Как организуется валидация страниц на клиенте? Как организуется обрабатка ошибок исполнения страниц и приложения? Как конфигурируется характер сообщений об ощибках приложения? Web/WCF-сервисы
Подготовить Web/WCF-сервис, разработать ASP.NET или Windows-приложение для подключения к сервису. Продемонстрировать работу системы Web/Win-приложение + Web/WCF-сервис. Возможные варианты сервисов:
сервис, который возвращает системное время сервера.
сервис, который возвращает информацию о логических разделах жесткого диска сервера.
сервис, который возвращает информацию о количестве процессоров (ядер процессора) сервера и их нагрузке.
сервис, который позволяет получить содержимое файла на сервере по заданному пути.
При сдаче лабораторнгой работы знать ответы на контрольные вопросы: Чем отличаются Web/WCF сервисы от Web-сайтов? Что такое конечные рабочие точки WCF и что они определяют? Зачем нужны контракты в WCF, и какие контракты существуют? Что такое маршалтинг по значению? Зачем нужен протокол WSDL? В чём суть SOA? Смысл графика «Длинного хвоста» при использовании SOA? Примеры к лабораторным работам имеются на сайте www.tolstykh.com – «примеры Web-приложений» Организация самостоятельной работы по материалам сайта www.tolstykh.com
Освоение теоретического материала по учебникам, конспектам и слайдам леций.
Подготовка к лабораторным работам по инструкциям на сайте.
Подготовка к модульным контролям по материалам слайдов на сайте.
Подготовка и проведение мультимедийных докладов по темам:
ASP-приложения:
Объекеты Application, Session, Cookies
Обработка ошибок
ASP.NET-приложения:
Web-компоненты – Wizard, Calendar, SiteMap, ImageMap, AdRotator, Menu, TreeView
Работа с БД
LINQ – объектно-ориентированный доступ к БД
Почта
Куки
Master Pages, стили, темы,
Отчёты в Crystal Reports
Понятие и примеры локализации проекта. Основные классы Globalization.
Организация текущего, модульного и итогового контроля
Текущий контроль в двух модулях:
Лабораторные работы.
Экспресс-опрос на лециях.
Доклад (по желанию) с мультимедийной презентацией по теме рабочей программы курса.
Контрольная работа (20 мин.) – 2 вопроса из вопросов модульного контроля.
Модульный контроль:
Организуется в виде письменного опроса по вопросам для модульного контроля, приведенным ниже.
Итоговый контроль:
Дисциплина заканчивается экзаменом по всем вопросам модульного контроля. Критерии оценок:
Модуль 1 (всего 46 баллаов):
Выполненная и сданная без замечаний лабораторная работа:
– 12 баллов,
– 10 баллов.
– 12 баллов.
– 12 баллов,
Модульный контроль (2 вопроса) – 3 балла за вопрос, всего – 6 баллов. Модуль 2 (всего 44-50 баллов)
– 12 баллов.
– 12 баллов.
– 12 баллов.
– Web-сервис, работающий внутри VS-проекта-сайта – 8 баллов, Web-сервис, самостоятельно работающий на сервере – 10 баллов, WCF-сервис на IIS с привязкой WSHttpBinding – 14 баллов.
Модульный контроль (2 вопроса) – 3 балла за вопрос, всего – 6 баллов. Доклад – до 10 баллов. Запланированный, но не сделанный доклад – снимаются 10 баллов.
Текущий контроль на лекциях (вопросы по предыдущей лекции) – ±2 балла за вопрос.
Экзамен (4 вопроса) – 3 балла за вопрос, всего – 12 баллов.
Вопросы для модульного контроля и экзамена
Моудудь 1
Понятия «Web-клиент», «Web-сервер», «Web-сайт», «Web-приложение», «Виртуальный каталог». Приведите пример HTML-кода GET и POST запроса.
Интерфейсы CGI и ISAPI, их преимущества и недостатки.
Delphi: Web-диспетчер и Web-модуль, их задачи и принципы работы.
Delphi: Создание динамических HTML-страниц посредством компонента TPageProducer. Его основные свойства, методы, события. Настраиваемые теги.
Delphi: Поддержка информации о пользователях с помощью Cookie. Структура Cookie, методы установки и чтения Cookie.
ASP: встроенные и внешние объекты, их назначение и основные характеристики.
ASP: встроенный объект Request. Приведите пример кода его использования.
ASP: встроенный объект Respons. Приведите пример кода его использования.
ASP: работа с файлами. Приведите пример кода работы с файлами.
Управление доступом: учётные записи в IIS 7. Организация Web и NTFS доступа к ресурсам IIS 7.
Моудудь 2
ASP.NET: Файлы конфигурирования IIS 7, делегирование конфигурации.
ASP.NET: Что такое межстраничный постинг, состояние __VIEWSTATE и как они связаны друг с другом?
ASP.NET: Как организуется валидация страниц на сервере и на клиенте?
ASP.NET: Как организуется перехват и обработка ошибок приложения?
ASP.NET: Что такое рабочий процесс IIS? Что такое пул приложения?
ASP.NET: Что такое домен приложения AppDomain и зачем он нужен?
ASP.NET: Что такое HTTP-конвейер, из чего он состоит?
ASP.NET: Проблемы безопасности, правила безопасного кодирования. Понятие стража.
ASP.NET: Информационная уязвимость. Классификация угроз безопасности и систем обнаружения атак.
ASP.NET: Проверка подлинности, олицетворение в IIS 7.
ASP.NET: Оптимизация скорости работы приложений.
Сервисы: Протоколы и архитектура Web-сервисов.
Сервисы: Понятие SOA (Service Oriented Architecture). Смысл графика «Длинного хвоста».
Сервисы: WCF: понятие WCF-сервисов, их хостинг и конечные точки.
Сервисы: WCF: что такое привязки? Основные характеристики привязок.
Сервисы: WCF: что такое контракты? Разновидности контрактов.
Сервисы: WCF: особенности служб уровня вызова, сеансовых, синглетных.
Сервисы: WCF: Концепция обработки ошибок. Исключения класса FaultException.
|