четверг, 2 декабря 2010 г.

Exam 70-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4, Часть 6: Designing a Deployment Strategy

Проектирование стратегии развертывания

>> В начало

Требования к знаниям:

  • Design a deployment process.
    This objective may include but is not limited to: Windows Installer (MSI) vs. xcopy vs. Web Deployment Tool, scaling, rolling deployments
  • Design configuration management.
    This objective may include but is not limited to: using the ConfigSource attribute (for example, connection strings), staging vs. production vs. development, topologies, machine.config vs. web.config, using IIS vs. Visual Studio Development Server during development, application pools, configuration inheritance
  • Plan for scalability and reliability.
    This objective may include but is not limited to: scaling up, scaling out, at physical level and at architectural level, impact of offloading technologies on load balancing, including state, synchronizing machine and encryption keys
  • Design a health monitoring strategy.
    This objective may include but is not limited to: when to monitor application or business-related events (e.g., on UI every time clicked or in business layer), determining a strategy for using ASP.NET Health Monitoring, throttling, filtering, delivery method

Ссылки:

  • Design a deployment process.
    Windows Installer (MSI) vs. xcopy vs. Web Deployment Tool
    Проекты развертывания веб-служб (MSDN Magazine/RU)
    Scaling deployments
    Rolling deployments
  • Design configuration management.
    Using the ConfigSource attribute (for example, connection strings)
    Staging vs. production vs. development
    Topologies
    Machine.config vs. web.config
    Using IIS vs. Visual Studio Development Server during development
    Application pools
    Configuration inheritance
  • Plan for scalability and reliability.
    Scaling up, scaling out at physical level and at architectural level
    Стратегии масштабирования для приложений ASP.NET (MSDN Magazine/RU)
    Масштабируемые приложения и асинхронное программирование в ASP.NET (MSDN Magazine/RU)
    Impact of offloading technologies on load balancing, including state, synchronizing machine and encryption keys
  • Design a health monitoring strategy.
    When to monitor application or business-related events (e.g., on UI every time clicked or in business layer)
    Determining a strategy for using ASP.NET Health Monitoring, throttling, filtering, delivery method

    Video:
    Использование ClickOnce для быстрого разворачивания приложений

  • Exam 70-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4, Часть 5: Preparing For and Investigating Application Issues

    Подготовка ко внедрению приложения

    >> В начало

    Требования к знаниям:

    • Choose a testing methodology.
      This objective may include but is not limited to: black box, white box, integration, regression, coverage, API testing, performance testing, security testing
      This objective does not include: load testing, Web testing, unit testing
    • Design an exception handling strategy.
      This objective may include but is not limited to: HandleError attribute in MVC, common error pages, post-error processing, global vs. page level
    • Recommend an approach to debugging.
      This objective may include but is not limited to: tools and approaches for a given scenario (for example, memory dumps, DebuggingAttributes, crashes vs. hangs, deadlocks, assembly binding), when to attach to process (Visual Studio Development Server vs. IIS vs. Internet Explorer), root cause analysis
      This objective does not include: basic breakpoints
    • Recommend an approach to performance issues.
      This objective may include but is not limited to: which instrumentation to watch or create (including performance counters and event tracing) to analyze performance issues, page and fragment caching

    Ссылки

    Video:
    Механизмы кэширования в приложениях ASP.NET 2.0
    Методы повышения производительности приложений ASP.NET

    Exam 70-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4, Часть 4: Designing Security Architecture and Implementation

    Проектирование и внедрение архитектуры безопасности

    >> В начало

    Требования к знаниям:

    • Plan for operational security.
      This objective may include but is not limited to: approaches for process- and resource-level security, including local and remote resources, Code Access Security (CAS), including trust level, process identity, application pool, and identity tag
    • Design an authentication and authorization model.
      This objective may include but is not limited to: authentication providers, including WindowsForms, and custom user identity flowthrough (for example, trusted subsystem), role management, membership providers, URL authorization (for example, AuthorizationAttribute), file authorization, Authorization Manager (AzMan)
    • Plan for minimizing attack surfaces.
      This objective may include but is not limited to: input validation, throttling inputs, request filtering, where to use Secure Sockets Layer (SSL)

    Ссылки

    Video:
    Безопасность в ASP.NET
    HowTo: Как сделать веб сервис с шифрованием трафика, или шифрование трафика в WCF на транспортном уровне (basichttpbinding + SSL)
    WCF Security. Часть 1 (аутентификация)
    WCF Security. Часть 2 (авторизация)
    WCF Security. Часть 2 (делегирование)
    Ключевые аспекты безопасности при предоставлении доступа к данным через ADO.NET Data Services

    Exam 70-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4, Часть 3: Designing Data Strategies and Structures

    Проектирование структур данных

    >> В начало

    Требования к знаниям:

    • Design data access.
      This objective may include but is not limited to: choosing data access technologies such as ADO.NETData Services, Entity Framework, Windows Communications Foundation (WCF), and ASP.NET Web Services
    • Design data presentation and interaction.
      This objective may include but is not limited to: pulling data from data layer and binding into views, pages, and controls, and pulling data back to data layer by using ModelBinders, data source controls, and HtmlHelper extensions, or programmatically
    • Plan for data validation.
      This objective may include but is not limited to: contextual validation vs. data integrity, where to validate data, synchronization between UI and data layer, data annotations

    Ссылки:

    Exam 70-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4, Часть 2: Designing the User Experience

    Проектирование пользовательского интерфейса

    >> В начало

    Требование к знаниям:

    • Design the site structure.
      This objective may include but is not limited to: designing application segmentation for manageability and security (for example, using areas, shared views, master pages, and nested master pages), appropriate use of style sheets, client-side scripting, themes, client ID generation, rendering element modes, routing engine
    • Plan for cross-browser and/or form factors.
      This objective may include but is not limited to: evaluating the impact on client side behaviors, themes, bandwidth, style sheets (including application design - task based or scaled rendering of existing page), when to apply Browsers file, structural approaches, user agents, different platforms (mobile vs. desktop)
    • Plan for globalization.
      This objective may include but is not limited to: designing to support local, regional, language, or cultural preferences, including UI vs. data localization (for example, implementing at database level or resource level), when to use CurrentCulture vs. CurrentUICulture, globalization rollout plan (for example, setting base default language, planning localization), handling Unicode data (for example, what fields to include, request encoding), right-to-left support, vertical text and non-Latin topographies, calendars, data formatting, sorting

    Ссылки:

  • Design the site structure.
    Вesigning application segmentation for manageability and security
  • Plan for cross-browser and/or form factors.
    Evaluating the impact on client side behaviors, themes, bandwidth ,style sheets (including application design - task based or scaled rendering of existing page), when to apply Browsers file
    Structural approaches
    User agents
    Different platforms (mobile vs. desktop)
  • Plan for globalization. (Раздел P&P)
    Designing to support local, regional, language, or cultural preferences, including UI vs. data localization (for example, implementing at database level or resource level), when to use CurrentCulture vs. CurrentUICulture
    Вокруг света с приложениями AJAX для ASP.NET (MSDN Magazine/RU)
    Globalization rollout plan (for example, setting base default language, planning localization)
    Handling Unicode data (for example, what fields to include, request encoding)
    Right-to-left support
    Vertical text and non-Latin topographies
    Calendars
    Data formatting
    Sorting (Точнее тут)

    Video:
    Microsoft Ajax
    Ajax-формы в MVC веб-приложениях
    Локализация приложений в ASP.NET
    Локализация MVC веб-приложений

  • Exam 70-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4, Часть 1: Designing the Application Architecture

    Проектирование архитектуры приложения.

    >> В начало

    Требования к знаниям:

    • 1. Plan the division of application logic.
      This objective may include but is not limited to: choosing between client-side and server side processing, planning separation of concern, (for example, partitioning functionality between controllers and evaluating business and data service consumption), planning for long-running processes (for example, synchronous vs. asynchronous)
    • 2. Analyze requirements and recommend a system topology.
      This objective may include but is not limited to: designing interaction between applications, mapping logical design to physical implementation, validating nonfunctional requirements and cross-cutting concerns (for example, communications, operations management, and security), evaluating baseline needs (for example, scale and quality of service)
    • 3. Choose appropriate client-side technologies.
      This objective may include but is not limited to: JavaScript, ASP.NET AJAX, jQuery, Microsoft Silverlight
    • 4. Choose appropriate server-side technologies.
      This objective may include but is not limited to: user controls, server controls, partials, custom HtmlHelper extensions, Web parts, inheriting controls, dynamic data controls
    • 5. Design state management.
      This objective may include but is not limited to: designing an application for the proper use of application state, session state, and request state (for example, ViewState, ControlState, Cache object, cookies, and client-side persistence)

    Ссылки:

    1. Plan the division of application logic. (Планирование разделения логики приложения)
    P&P: Explained - Layers and Tiers
    P&P: How To: Structure Your Application
    P&P: How To: Create an N-Tier Application with the .NET Framework
    Сhoosing between client-side and server side processing (Выбор между клиентской и серверной стороной)
    Клиентский сценарий ASP.NET (MSDN/RU)
    Серверная часть страниц ASP.NET. (MSDN Magazine/RU)
    Клиентское приложение ASP.NET (MSDN Magazine/RU)
    Обсуждение на Stack Overflow
    Planning separation of concern (планирование разделения ответственности) 
    WIKI: Разделение ответственности(RU)
    P&P: App Arch Guide 2.0 Application Patterns (EN)
    P&P: App Arch Guide 2.0 Web Application Archetype
    Планирование веб-узла ASP.NET (MSDN/RU)

    Planning for long-running processes (for example, synchronous vs. asynchronous) (Планирование выполнения длительных задач/Синхронные и Асинхронные процессы)
    Веб-приложения, поддерживающие продолжительные операции. (MSDN Magazine/RU)
    Performing Asynchronous Work, or Tasks, in ASP.NET Applications (EN)
    Asynchronous Pages in ASP.NET 2.0 (MSDN Magazine/EN)
    Пошаговое руководство. Создание асинхронного обработчика HTTP-данных (MSDN/RU)
    Использование асинхронного контроллера в платформе ASP.NET MVC (MSDN/RU)
    Шаблоны разработки для асинхронного программирования (MSDN/RU)
    Асинхронное выполнение кода в ASP.NET 2.0 (RU)
    2. Analyze requirements and recommend a system topology.
    Designing interaction between applications
    Mapping logical design to physical implementation
    Validating nonfunctional requirements and cross-cutting concerns (for example, communications, operations management, and security),
    Evaluating baseline needs (for example, scale and quality of service)
    3. Choose appropriate client-side technologies.
    JavaScript
    Создание усовершенствованных веб-приложений с помощью объектно-ориентированных приемов (MSDN Magazine/RU)
    ASP.NET AJAX
    Модальные диалоговые окна на AJAX (MSDN Magazine/RU)
    Создание безопасного слоя служб AJAX. (MSDN Magazine/RU)
    Новая поддержка AJAX для управляемых данными веб-приложений (MSDN Magazine/RU)
    Выборка с предсказанием на основе jQuery и ASP.NET Ajax Library (MSDN Magazine/RU)
    Cвязывание с обновляемыми данными в ASP.NET AJAX 4.0 (MSDN Magazine/RU)
    Условный рендеринг в ASP.NET AJAX 4.0 (MSDN Magazine/RU)
    Многофункциональные элементы управления данными AJAX, анализ трафика HTTP и многое другое (MSDN Magazine/RU)
    jQuery
    Изучение широкого спектра возможностей для создания сценариев на стороне клиента, которые предоставляются jQuery, часть 1 (MSDN Magazine/RU)
    Выборка с предсказанием на основе jQuery и ASP.NET Ajax Library (MSDN Magazine/RU)
    Microsoft Silverlight

    4. Choose appropriate server-side technologies.
    User controls
    Server controls
    Единственный необходимый элемент управления привязки данных. (MSDN Magazine/RU)
    Partials
    Custom HtmlHelper extensions
    Web parts
    Inheriting controls
    Dynamic data controls

    5. Design state management. (Проектирование управления состоянием)
    MSDN: Общие сведения об управлении состоянием ASP.NET (RU)
    Designing an application for the proper use of application state
    MSDN: Рекомендации по управлению состоянием ASP.NET (RU)
    P&P: Managing State in Web Applications (EN)
    Session state Общие сведения о состоянии сеанса ASP.NET (MSDN/RU)
    Request state


    P&P: Checklist - Web Application

    Video:
    Архитектура ASP.NET-приложения
    Архитектура ИС. Принципы построения хорошей архитектуры
    Dynamic Data для MVC Framework

    Exam 70-519: Pro: Designing and Developing Web Applications Using Microsoft .NET Framework 4, Часть 0

    Цитата отсюда:

    Сертификат MCPD подтверждает наличие у специалиста комплексного набора навыков, необходимых для успешного развертывания, построения, оптимизации и эксплуатации приложений с использованием Microsoft Visual Studio и Microsoft .NET Framework.

    Другими словами, для сдачи экзаменов PRO недостаточно проштудировать MSDN, а нужно понимать что, зачем и когда применять, поэтому будут ссылки на блоги и статьи, часто на английском.

    Страница экзамена.

    Требования к знаниям:

    Designing the Application Architecture (19%)

    • Plan the division of application logic.
    • Analyze requirements and recommend a system topology.
    • Choose appropriate client-side technologies.
    • Choose appropriate server-side technologies.
    • Design state management.

    Designing the User Experience (17%)

    • Design the site structure.
    • Plan for cross-browser and/or form factors.
    • Plan for globalization.

    Designing Data Strategies and Structures (18%)

    • Design data access.
    • Design data presentation and interaction.
    • Plan for data validation.

    Designing Security Architecture and Implementation (17%)

    • Plan for operational security.
    • Design an authentication and authorization model.
    • Plan for minimizing attack surfaces.

    Preparing For and Investigating Application Issues (15%)

    • Choose a testing methodology.
    • Design an exception handling strategy.
    • Recommend an approach to debugging.
    • Recommend an approach to performance issues.

    Designing a Deployment Strategy (14%)

    • Design a deployment process.
    • Design configuration management.
    • Plan for scalability and reliability.
    • Design a health monitoring strategy.

    Основные ссылки:
    Official Microsoft ASP.NET site (EN)
    Центр разработки ASP.NET (RU)
    Центр разработки ASP.NET (EN)
    Раздел MSDN посвященный Web разработкам (RU)
    «Руководство Microsoft по проектированию архитектуры приложений. 2е издание» (RU) - это перевод Microsoft Application Architecture Guide, 2nd Edition (EN). К сожалению, русское руководство выложено в PDF'е поэтому ссылки я буду приводить на английскую версию на MSDN’е или codeplex’е.
    Video: TechDays.ru