Advanced Web Application Development using Microsoft ASP.NET
Program Outline
Module 1: Considerations for Building Advanced ASP.NET Applications
This module presents a framework for developing Web applications and describes the application that students will construct during class.
Lessons
Building Enterprise Web Applications With ASP.NETPresentation LayerData Access LayerBusiness Logic LayerLab: Understanding Application Structure
Examining the Structure of the ApplicationsBuilding Utility ControlsAfter completing this module students will be able to:
Describe an application architecture that is easy to maintain and extend.Explain the use of the object-oriented features of .NET in constructing a portal application.Describe the data access and storage architecture of the application.Explain application configuration settings and the tradeoffs involved in creating a configuration strategy.Module 2: Designing Data Tier Components
This module explains best practices for creating the data tier of a Web application. The concept of data abstraction is introduced and illustrated with specific implementations recommended by Microsoft and incorporated into the class application.
Lessons
Implementing Data Access Logic ComponentsDesigning a Data Abstraction LayerPerformance Tuning for Data AccessManaging Settings and Configuration with Typed DataSetsBest Practices for Reliable Data AccessLab: Using Data Access Components
Using Data Access Components for DatabindingCreating Collection Classes for Data DisplayAfter completing this module students will be able to:
Define business entities and describe how they are used in Web applications.Design effective data access components.Explain the design decisions for creating business entity components including representing entity data.Module 3: Web Presentation Patterns
This module introduces the concept of design patterns and demonstrates how to use them effectively in creating an extensible Web presentation infrastructure.
Lessons
Using Design Patterns in Web ApplicationsCreating Dynamic Interfaces with User ControlsUsing Inheritance to Define Basic Site FunctionalityUsing Collection Classes for DataBindingProperties and Elements of the DataGridOptimal Data Paging for DataGridsDataGrid Editing TechniquesCreating Master/Detail Views with a DataGridLab: Implementing Databound Presentations
Implementing the Defect ClassImplementing the Defect ModuleCreating a Master/Detail ReportAfter completing this module students will be able to:
Describe design patterns applicable to Web applications.Apply design patterns to create extensible user interfaces.Use collection classes for efficient databinding.Describe the major properties and elements of a DataGrid.Implement optimal data paging techniques.Apply effective DataGrid editing practices.Create efficient Master/Detail Views using DataGrids.Module 4: Building Custom Controls
This module describes the steps necessary to create custom controls and is illustrated with several examples of practical controls.
Lessons
Architecture of Custom ControlsCreating Control Object ModelsUsing Events in ControlsRendering Control OutputCreating Data-Bound Custom ControlsLab: Building Custom Controls
Identifying Parts of a Data-Bound Custom ControlImplementing a Data-Bound Custom ControlUsing a Data-Bound Custom ControlAfter completing this module students will be able to:
Describe the architecture of system controls.Create an object model for a custom control.Raise and use event handlers during control execution.Use rendering methods to create control content.Module 5: Using Graphics Classes to Generate Images
This module describes how to use the System.Drawing classes to generate images in ASP.NET.
Lessons
Major System.Drawing ClassesMethods for Generating ImagesUsing Data to Generate ChartsLab: Generating Data-Driven Graphics
Creating a Graphics objectStream the image to the browserAfter completing this module students will be able to:
Describe the major elements of the GDI+ object model.Use the main GDI+ methods for manipulating graphics images.Create an ASP.NET page that creates chart graphics using data objects.Module 6: Creating a Secure Infrastructure
This module presents alternative ASP.NET security models and illustrates how a flexible and extensible security infrastructure can be created in Web applications.
Lessons
ASP.NET Security ModelsRole-based Authorization TechniquesProcess Identity and Accessing ResourcesSecuring Communication with EncryptionLab: Creating a Security Infrastructure
Implementing the ICustomPrincipal InterfaceCreating Security Classes Customized Authentication ProcessIdentifying User RolesAfter completing this module students will be able to:
Identify where and how you need to perform authentication in ASP.NET applications.Implement role-based authorization.Secure resources using process identity.Identify where and how to secure communications using encryption.Module 7: Caching Patterns and Practices
This module explains how to cache user interface elements and data objects for maximum performance and usability.
Lessons
Effective Caching StrategiesManaging Session DataClient-side Caching OptionsLab: Caching in the Portal Application
Caching Site ConfigurationCaching Dynamic ControlsAfter completing this module students will be able to:
Describe best practices for output caching.Implement a caching strategy for dynamic Web content.Use data caching effectively.Manage Session data for optimal performance.Evaluate client-side caching options.Module 8: Diagnostics and Exception Handling
This module introduces the best practices for debugging and exception handling. Related concerns including stress testing and applying performance counters are also covered.
Lessons
Exception Handling StrategiesBest Practices for DebuggingUsing Application Center Test for Performance TestingApplying Performance Counters to Profile Web ApplicationsLab: Using the Exception Manager
Implementing an Exception Handling FrameworkCreating and Handling a Custom Exception Testing Web Applications with Application Center TestUsing Application Center Test to Find Web Server CapacityAfter completing this module students will be able to:
Choose appropriate debugging techniques for Web applications.Implement an exception handling framework for logging and diagnostics.Use Application Center Test to stress test Web applications.Identify and apply performance counters for application measurement.Module 9: Interoperability with COM
This module builds on the materials in the previous module to describe best practices for interoperating between ASP.NET and COM components.
Lessons
Overview of COM InteropCreating and using a Runtime Callable WrapperGuidelines and Issues in COM InteroperationLab: Interoperability with COM
Referencing a COM component from an ASP.NET applicationAfter completing this module students will be able to:
Describe why and how to call COM components from .NET.Create and use a Runtime Callable Wrapper.Address common issues and pitfalls when working with COM Interop.Export data into Excel from ASP.NET using COM Interop.Module 10: ASP.NET Configuration
This module explains and illustrates important issues in managing ASP.NET configuration including using configuration handlers.
Lessons
Configuration Schema OverviewExamples of Built-in Configuration SettingsCreating Custom Configuration SettingsEncrypting Configuration SettingsUsing the Configuration Management Application BlockLab: Configuration Management
Creating and Reading Custom Configuration SettingsWorking with Encrypted Configuration SectionsUsing Microsoft Configuration Management Application BlockAfter completing this module students will be able to:
Have an understanding of the .NET configuration handling mechanism.Take advantage of a few built-in ASP.NET configuration settings.Create your own custom configuration sections.Encrypt configuration sections for better security.Utilize a ready-to-use component that abstracts Configurations Management.Module 11: Administering and Extending the Portal
This module displays the elements of an extensible administration framework for managing a Web application. It also demonstrates how to extend the portal through modular design.
Lessons
Creating Flexible Site Administration ToolsAdding Modules to the PortalLab: Extending the Portal with New Modules
Extending the Data LayerCreating the User Control and Edit PageAfter completing this module students will be able to:
Describe the main components of the administrative interface and how they interact.Identify the steps needed to extend the portal by adding new modules.
Related Exams
This course will help the student prepare for the following Microsoft Certified Professional exam:
Exam 70-305: Developing and Implementing Web Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NETExam 70-315: Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET
Student Pre-Requisites
Before attending this course students must meet the following prerequisites:
Ability to create HTML pages with tables images and forms.Experience using a scripting language such as Microsoft Visual Basic Scripting Edition or JavaScript.Experience using ASP.NET to create Web applications.Ability to retrieve data from relational databases by using ADO.NET.Familiarity with a .NET-based programming language.In addition it is recommended but not required that students have completed:
Course 2310: Developing Microsoft ASP.NET Web Applications Using Visual Studio .NETCourse 2640: Upgrading Web Development Skills to Microsoft ASP.NET
Student Materials
The student kit includes a comprehensive workbook and other necessary materials for this class.
Program Goals
After completing this course students will be able to:
Create a Web application architecture that is maintainable and extensible.Describe the elements of a well-designed portal application using ASP.NET.Implement best practices for creating data access logic components.Create a well-designed data abstraction layer to maximize code reusability.Tune data-driven Web applications for optimal performance.Customize databinding for maximum scalability and usability.Design and implement an easy-to-administer configuration strategy.Generate custom configuration handlers.Create custom controls to encapsulate user interface.Use best practices for interoperating with COM components.Implement caching techniques to improve Web application performance.Design reusable Web presentation patterns using object-oriented techniques.Use GDI+ classes to create interactive graphics.Use DataGrids for advanced reporting techniques.Apply best practices for debugging and exception handling.Use Application Center Test for stress testing Web applications.Create a flexible security infrastructure.Implement encryption classes to secure communication.Build an administrative interface for a portal application.Use object-oriented techniques to build an extensible modular design.