Monday, 3 November 2014

Exam 70-486 Study Material: Developing ASP.NET MVC 4 Web Applications


As a follow up to the post I made in preparation of the 70-480 exam, I’d like to continue the series now with a look at the 70-486. Just like last time, we’ll look at a list of resources based on the individual exam criteria!

General Resources

Pluralsight Training (not free, but an excellent training resource! There is a trial available.): http://pluralsight.com/training/Courses/TableOfContents/mvc4-building
The Official ASP.NET MVC 4 Page: http://www.asp.net/mvc/mvc4
The source code for the ASP.NET Web Stack:http://aspnetwebstack.codeplex.com/

Test Breakdown

Design the Application Architecture

  • Plan the application layers.
    • This objective may include but is not limited to: plan data access; plan for separation of concerns; appropriate use of models, views, and controllers; choose between client-side and server side processing; design for scalability
  • Design a distributed application.
    • This objective may include but is not limited to: design a hybrid application (on premise vs. off premise, including Windows Azure); plan for session management in a distributed environment; plan web farms
  • Design and implement the Windows Azure role life cycle.
    • This objective may include but is not limited to: identify and implement Start, Run, and Stop events;identify startup tasks (IIS configuration [app pool], registry configuration, third-party tools)
  • Configure state management.
    • This objective may include but is not limited to: choose a state management mechanism (in-process and out of process state management, ViewState); plan for scalability; use cookies or local storage to maintain state; apply configuration settings in web.config file; implement sessionless state (for example, QueryString)
  • Design a caching strategy.
    • This objective may include but is not limited to: implement page output caching (performance oriented); implement data caching; implement HTTP caching
  • Design and implement a Web Socket strategy.
    • This objective may include but is not limited to: read and write string and binary data asynchronously (long-running data transfers); choose a connection loss strategy; decide a strategy for when to use Web Sockets
  • Design HTTP modules and handlers.
    • This objective may include but is not limited to: implement synchronous and asynchronous modules and handlers; choose between modules and handlers in IIS

Design the User Experience

  • Apply the user interface design for a web application.
    • This objective may include but is not limited to: create and apply styles by using CSS; structure and lay out the user interface by using HTML; implement dynamic page content based on a design
  • Design and implement UI behavior.
    • This objective may include but is not limited to: implement client validation; use JavaScript and the DOM to control application behavior; extend objects by using prototypal inheritance; use AJAX to make partial page updates; implement the UI by using JQuery
  • Compose the UI layout of an application.
    • This objective may include but is not limited to: implement partials for reuse in different areas of the application; design and implement pages by using Razor templates (Razor view engine); design layouts to provide visual structure; implement master/application pages
  • Enhance application behavior and style based on browser feature detection.
    • This objective may include but is not limited to: detect browser features and capabilities; create a web application that runs across multiple browsers and mobile devices; enhance application behavior and style by using vendor-specific extensions, for example, CSS
  • Plan an adaptive UI layout.
    • This objective may include but is not limited to: plan for running applications in browsers on multiple devices (screen resolution, CSS, HTML); plan for mobile web applications

Develop the User Experience

  • Plan for search engine optimization and accessibility.
    • This objective may include but is not limited to: use analytical tools to parse HTML; view and evaluate conceptual structure by using plugs-in for browsers; write semantic markup (HTML5 and ARIA) for accessibility, for example, screen readers
  • Plan and implement globalization and localization.
    • This objective may include but is not limited to: plan a localization strategy; create and apply resources to UI including JavaScript resources; set cultures; create satellite resource assemblies
  • Design and implement MVC controllers and actions.
    • This objective may include but is not limited to: apply authorization attributes and global filters; implement action behaviors; implement action results; implement model binding
  • Design and implement routes.
    • This objective may include but is not limited to: define a route to handle a URL pattern; apply route constraints; ignore URL patterns; add custom route parameters; define areas
  • Control application behavior by using MVC extensibility points.
    • This objective may include but is not limited to: implement MVC filters and controller factories; control application behavior by using action results, viewengines, model binders, and route handlers
  • Reduce network bandwidth.
    • This objective may include but is not limited to: bundle and minify scripts (CSS and JavaScript); compress and decompress data (using gzip/deflate; storage); plan a content delivery network (CDN) strategy, for example, Windows Azure CDN

Troubleshoot and Debug Web Applications

  • Prevent and troubleshoot runtime issues.
    • This objective may include but is not limited to: troubleshoot performance, security, and errors;implement tracing, logging (including using attributes for logging), and debugging (including IntelliTrace); enforce conditions by using code contracts; enable and configure health monitoring (including Performance Monitor)
  • Design an exception handling strategy.
    • This objective may include but is not limited to: handle exceptions across multiple layers; display custom error pages using global.asax or creating your own HTTPHandler or set web.config attributes; handle first chance exceptions
  • Test a web application.
    • This objective may include but is not limited to: create and run unit tests, for example, use the Assert class, create mocks; create and run web tests
  • Debug a Windows Azure application.
    • This objective may include but is not limited to: collect diagnostic information by using Windows Azure Diagnostics API Implement on demand vs. scheduled; choose log types, for example, event logs, performance counters, and crash dumps; debug a Windows Azure application by using IntelliTrace and Remote Desktop Protocol (RDP)

Design and Implement Security

  • Configure authentication.
    • This objective may include but is not limited to: authenticate users; enforce authentication settings; choose between Windows, Forms, and custom authentication; manage user session by using cookies; configure membership providers; create custom membership providers
  • Configure and apply authorization.
    • This objective may include but is not limited to: create roles; authorize roles by using configuration; authorize roles programmatically ; create custom role providers; implement WCF service authorization
  • Design and implement claims-based authentication across federated identity stores.
    • This objective may include but is not limited to: implement federated authentication by using Windows Azure Access Control Service; create a custom security token by using Windows Identity Foundation; handle token formats (for example, oAuth, OpenID, LiveID, and Facebook) for SAML and SWT tokens
  • Manage data integrity.
    • This objective may include but is not limited to: apply encryption to application data; apply encryption to the configuration sections of an application; sign application data to prevent tampering
  • Implement a secure site with ASP.NET.
    • This objective may include but is not limited to: secure communication by applying SSL certificates; salt and hash passwords for storage; use HTML encoding to prevent cross-site scripting attacks (ANTI-XSS Library); implement deferred validation and handle unvalidated requests, for example, form, querystring, and URL; prevent SQL injection attacks by parameterizing queries; prevent cross-site request forgeries (XSRF)

No comments:

Post a Comment

Angular Tutorial (Update to Angular 7)

As Angular 7 has just been released a few days ago. This tutorial is updated to show you how to create an Angular 7 project and the new fe...