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!
Microsoft Hands On Tutorial: http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4
Building Web Apps with ASP.NET Jump Start: https://www.microsoftvirtualacademy.com/training-courses/create-web-apps-with-asp-net
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/
Microsoft Official Training Course: http://www.microsoft.com/learning/en/us/Course.aspx?ID=20486A&Locale=en-us#fbid=o4uXSVtIdvG
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.
- 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.
- 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.
- 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.
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)