Audience Profile
This course is intended for professional
Web developers who use Microsoft Visual Studio in a team-based, medium-sized to
large development environment. Members of the audience have a minimum of two to
three years of experience developing Web-based applications by using Microsoft
Visual Studio and Microsoft ASP.NET. Members of the audience are experienced
users of Microsoft Visual Studio 2008 SP1 and newer releases of the Visual
Studio product. The audience understands how to use the new features of Visual
Studio 2010.
At Course Completion:
After completing this course, students will be able to:
- Describe the underlying architecture and design of a Web
application.
- Apply best practices and make appropriate trade-offs based on business
requirements when designing a Web application.
- Develop MVC models.
- Develop MVC controllers.
- Develop MVC views.
- Optimize the design of a Web application for discoverability by search
engines.
- Write server-side code for Web Forms.
- Optimize data management for Web Forms.
- Ensure quality by debugging, unit testing, and refactoring.
- Secure a Web application.
- Apply Master Pages and CSS for a consistent application UI.
- Develop client-side scripts and services for a responsive, rich, and
interactive UI.
- Implement advanced AJAX in a Web application.
- Deploy a Web application.
- Develop a Web application by using Silverlight.
Course Outline
Module 1: Overview of Web Application
Design
This module describes the underlying architecture and design
of a Web application
After completing this module, students will be able
to:
- Describe the underlying architecture of ASP.NET 4.0.
- Identify new features in ASP.NET 4.0.
- Describe the components of the MVC framework.
- Describe the structure of an MVC application.
- Describe the life cycle of a Web Forms page.
- Describe the life cycle of an MVC page.
- Describe the differences between the life cycle of a Web Forms page and an
MVC page
Module 2: Designing a Web Application
This module
describes the best practices and trade-offs that you need to make when designing
a Web application.
After completing this module, students will be able
to:
- Explain the different types of web applications and their
characteristics.
- Choose the correct design based on the on business requirements, utilizing
Web Forms and MVC based.
- Explain the different tools and technologies and best practices around
each.
Module 3: Developing MVC Models
This module describes the
MVC development model (Models, Controllers, and Views) and how to create the
Models that are used to access and modify the data in a data source.
After
completing this module, students will be able to:
- Create MVC models by using classes and data mapping tools.
- Create a data repository
Module 4: Developing MVC Controllers
This module
describes how to create the Controllers that are used to respond to
communications from the user and how to implement the application flow and
logic.
After completing this module, students will be able to:
- Implement MVC controllers.
- Create action methods
Module 5: Developing MVC Views
This module describes how
to create the Views that are used to expose the application UI. The module also
covers how to manage pre-action and post-action behavior of Controller action
methods using the included action filters are provided as part of MVC
After
completing this module, students will be able to:
- Describe what an MVC view is and the varied types of views.
- Create an MVC view.
- Implement strongly typed MVC views.
- Implement partial MVC views
Module 6: Designing for Discoverability
This module
describes how to implement the navigational design and also how discoverability
will be achieved through content keywords and page URLs.
After completing
this module, students will be able to:
- Describe the need to optimize the design of a Web site for discoverability
by search engines and how the IIS SEO Toolkit helps in optimization.
- Create robots.txt and sitemap.xml files.
- Use ASP.NET with Web Forms and MVC pages.
Module 7: Writing Server-Side Code for Web Forms
This
module describes the advanced features of server-side coding and
technologies. The module describes how to allow the website to move into a
global and web farm environment through localization, shared sessions, and
custom user controls. The module will also cover how to use the custom
validator and regular expressions.
After completing this module, students
will be able to:
- Describe the structure of a Web application.
- Control ViewState based on performance requirements.
- Localize a Web application by using resource files.
- Describe the techniques used to persist user information. Describe
the different technologies used in web farms.
- Validate user input in Web Forms and MVC pages.
Module 8: Optimizing Data Management for Web Forms
This
module describes how to optimize and display data management tasks for a Web
Forms-based application using Dynamic Data, Data Binding, LinqToEntities, server
side controls, and server-side code.
After completing this module, students
will be able to:
- Use the LINQtoEntities framework to manage data
- Use data source and data bound controls in Web Forms.
- Use ASP.NET Dynamic Data in Web Forms.
Module 9: Ensuring Quality by Debugging, Unit Testing, and
Refactoring
This module describes how to perform check-in testing
for their Web Forms and MVC applications as well as how to use the built-in
debugging capabilities of VS2010.
After completing this module, students will
be able to:
- Debug and refactor code
- Unit test code.
- Describe how to log information to a file, database, event or other,
including best practices.
- Describe the Test-Driven Development methodology.
Module 10: Securing a Web Application
This module
describes how to mitigate common security threats and to implement the
essentials (must haves) of Web security in both MVC and Web Forms
applications.
After completing this module, students will be able to:
- Configure authentication
- Configure ASP.NET Membership
- Manage authorization by using ASP.NET Roles
Module 11: Applying Master Pages and CSS
This module
describes how to achieve a consistent UI in a reusable manner.
After
completing this module, students will be able to:
- Identify challenges in developing a Web application that is compatible
across a wide range of browsers and ways to address these challenges.
- Apply master pages for a consistent application UI.
- Apply CSS for a consistent application UI.
Module 12: Developing Client Side Scripts and
Services
This module described how to develop client-side scripts
and services for a responsive, rich, and interactive application UI.
After
completing this module, students will be able to:
- Develop client-side scripts
- Implement advanced JQuery
- Create services
Module 13: Implementing Advanced AJAX in a Web
Application
This module describes the programmatic side of AJAX
enabled controls (as well as extending server controls to include AJAX
functionality) on a Web Forms page as well as implementing AJAX on a MVC
page
After completing this module, students will be able to:
- Manage browser history
- Implement AJAX in MVC pages
- Implement jQuery
Module 14: Deploying a Web Application
This module
describes how to plan, configure, and perform deployment tasks associated with a
production Web site. The module also describes the Web site lifecycle as it
pertains to deployment.
After completing this module, students will be able
to:
- Identify challenges in deploying Web applications and describe varied
target environments.
- Describe Web application compilation methods and tools.
- Transform the web.config file when deploying a Web application
Module 15: Developing a Web Application by Using
Silverlight
This module introduce students to Silverlight by having
them integrate a Silverlight module into an existing ASP.NET application.
Students will learn how to add a Silverlight project to an existing solution,
leverage the existing Web application by calling a WCF service, and display the
information in Silverlight.
After completing this module, students will be
able to:
- Describe the characteristics of RIAs and the technologies for building
them.
- Describe the features of Silverlight, its architecture, and the use of
XAML for developing Silverlight applications
- Create a Silverlight application.