Цель курса:
Основное внимание в программе курса уделяется изучению приёмов создания распределённых масштабируемых и безопасных приложений с использованием веб-сервисов, размещаемых как на локальных серверах предприятия, так и в облаке Windows Azure. Разбираются вопросы развёртывания в облаке, управления доступом к службам и организация взаимодействие между элементами распределённой системы. В курсе используется новейшая среда разработки Visual Studio 2012, также в курсе рассматриваются инструменты и службы Windows Azure. На занятиях выполняется больше количество самостоятельных заданий и лабораторных работ, что позволит Вам практически сразу после окончания курса приступить к реальной разработке программного обеспечения.
После окончания курса Вы будете уметь:
- Описать стек веб-технологий Microsoft и выбрать соответствующую технологию для разработки любого приложения;
- Проектировать архитектуру и реализовать веб-приложения, которые будут соответствовать набору функциональных требований, требований к пользовательскому интерфейсу, а также адресной бизнес-модели;
- Создать MVC модель и написать код, реализующий бизнес-логику в модели методов, свойств и событий;
- Добавить контроллеры в MVC приложения для управления взаимодействия с пользователем, обновления моделей, и выбора и возвращения представлений;
- Создавать представления в MVC приложении для отображения и редактирования данных и взаимодействия с моделями и контроллерами;
- Запускать модульные тесты и отлаживать веб-приложения в Visual Studio 2012 и настроить приложение для устранения неполадок;
- Разрабатывать веб-приложения на ASP.NET для корректного отображения URL-адресов и навигации в логической иерархии для пользователей;
- Внедрять единый стиль, в том числе корпоративного бренда, по всему MVC веб-приложению;
- Использовать частичное обновление страницы и кэширование для улучшения пропускной способности сети и ускорить ответы на запросы пользователей;
- Писать код JavaScript, выполняемый на стороне клиента с использованием библиотеки JQuery для оптимизации времени отклика MVC веб-приложений;
- Внедрить системы полного членства в MVC 4 веб-приложения;
- Построить MVC приложение, которое противостоит атакам злоумышленников и сохраняется информацию о пользователях и предпочтениях;
- Описать создание веб-службы Windows Azure и вызвать её из MVC приложения;
- Описать Web API и цели добавления Web API для приложений;
- Изменить пути запросов браузера при работе MVC приложения;
- Описать процесс упаковки и развертывания ASP.NET MVC 4 веб-приложений с компьютера разработчика на веб-сервер для хранения или выполнения.
Предварительная подготовка:
- Успешное окончание курса М20486: Разработка Web приложений с использованием ASP.NET 4.5 MVC 4 или эквивалентная подготовка.
Модуль 1. Обзор сервисов и облачной технологии.
- Ключевые компоненты распределённых приложений.
- Данные и технологии доступа к данным.
- Технологии создания сервисов.
- Облачные вычисления.
- Практика: Изучение среды работы распределённых приложений.
- Создание SQL базы данных в облаке.
- Создание Entity Data Model.
- Создание ASP.Net веб-сервиса
- Развёртывание веб-приложения в облаке.
Модуль 2. Работа с данными с использованием Entity Framework.
- Обзор ADO.Net.
- Создание модели данных.
- Чтение и изменение данных.
- Практика: Создание уровня доступа к данным на базе Entity Framework.
- Изучение модели данных и интеграционных тестов.
- Создание модели данных.
- Чтение и изменение данных.
Модуль 3. Создание и использование ASP.Net веб-сервиса .
- Что такое HTTP сервис?
- Создание ASP.Net веб-сервиса.
- Работа с запросами и ответами протокола HTTP.
- Размещение и создание клиента для веб-сервиса.
- Практика: Создание сервиса бронирования путешествий.
- Создание ASP.Net веб-сервиса.
- Создание клиента для веб-сервиса.
Модуль 4. Создание расширений и защита веб-сервисов.
- Конвейер входящих запросов в ASP.Net.
- Конвейер исходящих запросов в ASP.Net.
- Создание сервисов поддерживающих протокол взаимодействия OData.
- Реализация механизмов безопасности для веб-сервисов.
- Добавление зависимостей в ASP.Net контроллер
- Практика: Улучшение веб-сервиса бронирования путешествий.
- Создание расширений ASP.Net веб-сервиса.
- Добавление новых мультимедиа типов для RSS запросов.
- Добавление поддержки протокола OData.
- Создание правил проверки входящих данных.
- Защищённый обмен данными между клиентом и сервером.
Модуль 5. Создание WCF сервисов.
- Преимущества создания сервисов с использованием WCF.
- Создание и реализация контрактов.
- Конфигурирование и размещение сервисов WCF.
- Написание клиента для сервиса WCF.
- Практика: Создание и использование WCF сервиса.
- Создание WCF сервиса.
- Конфигурирование и размещение сервиса WCF.
- Обращение к WCF сервису из ASP.Net сервиса.
Модуль 6. Размещение сервисов.
- Размещение сервисов на локальном сервере.
- Размещение сервисов в облаке.
- Практика: Размещение сервисов.
- Размещение сервиса под управлением IIS.
- Размещение сервиса ASP.Net в веб-роле в облаке.
- Размещение сервиса в веб-сайте в облаке.
Модуль 7. Windows Azure Service Bus.
- Использование сервисной шины для реализации взаимодействия приложений.
- Очереди сервисной шины.
- Публикация и подписка с использованием сервисной шины.
- Практика: Использование облачной сервисной шины.
- Взаимодействие на базе сервисной шины.
- Публикация обновлений для клиента через сервисную шину.
Модуль 8. Развёртывание сервисов.
- Развёртывание с использованием Visual Studio.
- Создание и развёртывание пакета приложения.
- Использование инструментов командной строки для развёртывания пакета приложения.
- Развёртывание в облако.
- Постоянное обновление на базе TFS или Git.
- Практика: Развёртывание сервисов.
- Развёртывание и обновление сервиса в облаке.
- Обновление облачного веб-сайта.
- Экспорт импорт пакета приложений в IIS.
Модуль 9. Хранилища данных в облаке.
- Введение в хранилища данных в облаке.
- Хранилище для двоичных данных в облаке.
- Табличное хранение данных в облаке.
- Очередь, как хранилище данных в облаке.
- Ограничение доступа к данным в облаке.
- Практика: Хранилища данных в облаке.
- Сохранение содержимого сайта в облаке.
- Доступ к хранилищам в облаке.
- Создание общего доступа к двоичным данным в облаке.
Модуль 10. Мониторинг и диагностика.
- Использование трассировки для диагностики сервиса.
- Конфигурирование диагностики сервиса.
- Мониторинг сервиса с использованием диагностических средств облака.
- Сбор облачные метрик (Windows Azure metrics).
- Практика: Мониторинг и диагностика.
- Конфигурирование трассировки WCF и лога сообщений.
- Конфигурирование диагностических средств облака.
Модуль 11. Управление доступом.
- Аутентификация основанная на утверждениях(claim-based).
- Использование Windows Azure Access Control Service (ACS).
- Конфигурирование сервиса для работы с федеративной аутентификацией.
- Работы с федеративной аутентификацией на клиенте.
- Практика: Управление доступом.
- Конфигурирование Windows Azure ACS.
- Интеграция ACS с ASP.Net веб-сервисом.
- Реализация процедуры аутентификации для клиента.
Модуль 12. Масштабирование сервисов.
- Введение в масштабируемость.
- Балансировка нагрузки.
- Масштабирование сервисов предприятия с использованием распределённого кэша.
- Кэширование в Windows Azure.
- Возникающие проблемы при кэшировании сервисов.
- Глобальное масштабирование.
- Практика: Масштабирование сервисов.
- Использование облачного кэша.
Модуль 13. Архитектура и расширение WCF сервисов
- Отражение архитектурных принципов на контракте сервиса.
- Реализация распределённых транзакций.
- Расширения для конвейера WCF.
- Практика: Расширение WCF сервиса.
- Создание пользовательского обработчика ошибок.
- Добавление поддержки распределенных транзакций в сервис WCF.
Модуль 14. Реализация механизмов безопасности для WCF сервисов.
- Безопасность на уровне транспорта.
- Безопасность на уровне сообщения.
- Конфигурирование аутентификации и авторизации.
- Практика: Безопасность для WCF сервиса.
- Конфигурирование ASP.Net сервиса для участия в защищённом взаимодействии.
- Безопасность для WCF сервиса.
- Использование правил авторизации для проверки клиентских запросов.