Thursday, July 18, 2013

Course 20486A: Developing ASP.NET MVC 4 Web Applications

Course 20486A: Developing ASP.NET MVC 4 Web Applications

About this Course

In this course, students will learn to develop advanced ASP.NET MVC applications using .NET Framework 4.5 tools and technologies. The focus will be on coding activities that enhance the performance and scalability of the Web site application. ASP.NET MVC will be introduced and compared with Web Forms so that students know when each should/could be used. This course will also prepare the student for exam 70-486.

Audience Profile

This course is intended for professional web developers who use Microsoft Visual Studio in an individual-based or team-based, small-sized to large development environment. Candidates for this course are interested in developing advanced web applications and want to manage the rendered HTML comprehensively. They want to create websites that separate the user interface, data access, and application logic.

At Course Completion

After completing this course, students will be able to:
  • Describe the Microsoft Web Technologies stack and select an appropriate technology to use to develop any given application.
  • Design the architecture and implementation of a web application that will meet a set of functional requirements, user interface requirements, and address business models.
  • Create MVC Models and write code that implements business logic within Model methods, properties, and events.
  • Add Controllers to an MVC Application to manage user interaction, update models, and select and return Views.
  • Create Views in an MVC application that display and edit data and interact with Models and Controllers.
  • Run unit tests and debugging tools against a web application in Visual Studio 2012 and configure an application for troubleshooting.
  • Develop a web application that uses the ASP.NET routing engine to present friendly URLs and a logical navigation hierarchy to users.
  • Implement a consistent look and feel, including corporate branding, across an entire MVC web application.
  • Use partial page updates and caching to reduce the network bandwidth used by an application and accelerate responses to user requests.
  • Write JavaScript code that runs on the client-side and utilizes the jQuery script library to optimize the responsiveness of an MVC web application.
  • Implement a complete membership system in an MVC 4 web application.
  • Build an MVC application that resists malicious attacks and persists information about users and preferences.
  • Describe how to write a Windows Azure web service and call it from and MVC application.
  • Describe what a Web API is and why developers might add a Web API to an application.
  • Modify the way browser requests are handled by an MVC application.
  • Describe how to package and deploy an ASP.NET MVC 4 web application from a development computer to a web server for staging or production.

Course Outline

Module 1: Exploring ASP.NET MVC 4 

The goal of this module is to outline to the students the components of the Microsoft Web Technologies stack, which can be used to host a completed web application. Students will also learn about ASP.NET 4.5 and be introduced to the web forms, web pages, and MVC programming models. Finally they will see an overview of ASP.NET MVC 4, including new features and configuration.

Lessons
  • Overview of Microsoft Web Technologies
  • Overview of ASP.NET 4.5
  • Introduction to ASP.NET MVC 4

Lab : Exploring ASP.NET MVC 4
  • Exploring a Photo Sharing Application
  • Exploring a Web Pages Application
  • Exploring a Web Forms Application
  • Exploring an MVC Application

After completing this module, students will be able to:
  • describe the Microsoft Web Technologies stack and select an appropriate technology to use to develop any given application.

Module 2: Designing ASP.NET MVC 4 Web Applications 

The goal of this module is to introduce students to the typical design process that architects must complete when they plan an MVC 4 application. At this stage in the design process, MVC 4 has been selected as the most appropriate programming model, but the details of the application, such as the overall architecture, Controllers, Views, Models, and routes to create, have not been fixed. How to plan such details is shown during this module.

Lessons
  • Planning in the Project Design Phase
  • Designing Models, Controllers, and Views

Lab : Designing ASP.NET MVC 4 Web Applications
  • Planning Models
  • Planning Controllers
  • Planning Views
  • Architecting an MVC Application

After completing this module, students will be able to:
  • design the architecture and implementation of a web application that will meet a set of functional requirements, user interface requirements, and address business models.

Module 3: Developing ASP.NET MVC 4 Models

The goal of this module is to enable the students to create Models within an MVC application that implement the business logic necessary to satisfy business requirements. The module also describes how to implement a connection to a database, or alternative data store, using the Entity Framework and LINQ.

Lessons
  • Creating MVC Models
  • Working with Data

Lab : Developing ASP.NET MVC 4 Models
  • Creating an MVC Project and Adding a Model
  • Creating a New SQL Azure Database in Visual Studio
  • Adding Properties and Methods to MVC Models
  • Using Display and Edit Annotations in MVC Models

After completing this module, students will be able to:
  • create MVC Models and write code that implements business logic within Model methods, properties, and events.
 
Module 4: Developing ASP.NET MVC 4 Controllers

The goal of this module is to enable students to add Controllers to MVC applications and to implement actions that respond to user input and other events. The students will learn how Controllers relate to Models and how to implement Controller actions that define the View used to display or edit data. This module also covers how to write action filters that run code before or after multiple actions in the Controller. The students will learn about situations when action filters are useful. 

Lessons
  • Writing Controllers and Actions
  • Writing Action Filters

Lab : Developing ASP.NET MVC 4 Controllers
  • Adding an MVC Controller and Writing the Actions
  • Writing the Action Filters in a Controller
  • Using the Photo Controller

After completing this module, students will be able to:
  • add Controllers to an MVC Application to manage user interaction, update models, and select and return Views.
 
Module 5: Developing ASP.NET MVC 4 Views

The goal of this module is to describe the role of Views in an MVC web application and enable users to create and code them. The syntax of a Razor View is of critical importance for students to understand because it defines both the layout and the functionality of the data display. HTML Helpers will also be discussed in detail and common Helpers, such as Html.ActionLink() and Html.EditorFor(), will be described. Reusing code by defining Partial Views and Razor Helpers will be discussed as well. 

Lessons
  • Creating Views with Razor Syntax
  • Using HTML Helpers
  • Reusing Code in Views

Lab : Developing ASP.NET MVC 4 Views
  • Adding a View for Photo Display
  • Adding a View for New Photos
  • Creating and Using a Partial View
  • Adding a Home View and Testing the Views

After completing this module, students will be able to:
  • create Views in an MVC application that display and edit data and interact with Models and Controllers.
 
Module 6: Testing and Debugging ASP.NET MVC 4 Web Applications 

The goal of this module is to enable students to increase the resilience and quality of an application by locating and correcting code errors, bugs, and other unexpected results. MVC applications are well suited to unit testing techniques and these techniques ensure a high quality of code by systematically testing the functionality of each small component. In addition the debugging tools and exception handling available in Visual Studio will be explained. 

Lessons
  • Unit Testing MVC Components
  • Implementing an Exception Handling Strategy

Lab : Testing and Debugging the ASP.NET MVC 4 Web Applications
  • Performing Unit Tests
  • Configuring Exception Handling

After completing this module, students will be able to:
  • run unit tests and debugging tools against a web application in Visual Studio 2012 and configure an application for troubleshooting.
 
Module 7: Structuring ASP.NET MVC 4 Web Applications 

The goal of this module is to enable students to structure a web application in such a way that users can rapidly locate the information they need. Two aspects of the design are emphasized: the URLs presented in the browser address bar should be understandable and can be controlled by adding routes to the ASP.NET Routing Engine, and the navigation controls, such as menus and breadcrumb trails, should present the most relevant links to frequently read pages. Search Engine Optimization is important throughout this module. 

Lessons
  • Analyzing Information Architecture
  • Configuring Routes
  • Creating a Navigation Structure

Lab : Structuring ASP.NET MVC 4 Web Applications
  • Using the Routing Engine
  • Building Navigation Controls

After completing this module, students will be able to:
  • develop a web application that uses the ASP.NET routing engine to present friendly URLs and a logical navigation hierarchy to users.
 
Module 8: Applying Styles to ASP.NET MVC 4 Web Applications 

The goal of this module is to explore how students can impose a consistent look and feel to an MVC application and share other common components, such as headers and footers, between all Views. Besides describing CSS styles and template views, the module will discuss how to migrate a look and feel created by a web designer into an MVC application. Techniques for adapting the display of a site for small screens and mobile devices will also be introduced. 

Lessons
  • Using Template Views
  • Applying CSS to an MVC Application
  • Creating an Adaptive User Interface

Lab : Applying Styles to ASP.NET MVC 4 Web Applications
  • Using Template Views
  • Applying a Consistent Look and Feel to an MVC Application
  • Adapting Webpages for Different Browsers

After completing this module, students will be able to:
  • implement a consistent look and feel, including corporate branding, across an entire MVC web application.
 
Module 9: Building Responsive Pages in ASP.NET MVC 4 Web Applications 

The goal of this module is to describe to the students how partial page updates and caching can optimize the responsiveness of a web application. Students will see how to make use of AJAX helpers and partial views to update small portions of a page instead of refreshing the entire page. The module also covers the different caches developers can use to store rendered pages and discusses how to configure caching for maximum performance.

Lessons
  • Using AJAX and Partial Page Updates
  • Implementing a Caching Strategy

Lab : Building Responsive Pages in ASP.NET MVC 4 Web Applications
  • Using Partial Page Updates
  • Configuring ASP.NET Caches

After completing this module, students will be able to:
  • use partial page updates and caching to reduce the network bandwidth used by an application and accelerate responses to user requests.
 
Module 10: Using JavaScript and jQuery for Responsive MVC 4 Web Applications 

The goal of this module is to teach the students techniques that run code on the browser. This approach can increase the responsiveness of the application because a rendered page can respond to a user action without reloading the entire page from the server. Students will learn about the jQuery script library and how to use it to call web services and update user interface components.

Lessons
  • Rendering and Running JavaScript Code
  • Using jQuery and jQueryUI

Lab : Using JavaScript and jQuery for Responsive MVC 4 Web Applications
  • Using jQuery to Respond to Users
  • Using jQueryUI to Build a User Interface

After completing this module, students will be able to:
  • write JavaScript code that runs on the client-side and utilizes the jQuery script library to optimize the responsiveness of an MVC web application.
 
Module 11: Controlling Access to ASP.NET MVC 4 Web Applications 

The goal of this module to ensure good security in terms of strong authentication and authorization for access. The lessons describe how to enable anonymous users to create their own user account and gain privileged access to content.

Lessons
  • Implementing Authentication and Authorization
  • Assigning Roles and Membership

Lab : Controlling Access to ASP.NET MVC 4 Web Applications
  • Configuring Authentication
  • Controlling Access to Resources
  • Providing User Account Facilities

After completing this module, students will be able to:
  • implement a complete membership system in an MVC 4 web application.
 
Module 12: Building a Resilient ASP.NET MVC 4 Web Application 

The goal of this module is to enable the students to build applications that are stable and reliable. Such applications are not vulnerable to common hacking techniques such as cross-site scripting and also store state information such as the contents of a shopping cart and user preferences. This state information is preserved when servers or browsers restart, connections are lost, and other connectivity issues occur. 

Lessons
  • Developing Secure Sites
  • State Management

Lab : Building a Resilient ASP.NET MVC 4 Web Application
  • Storing User Preferences
  • Using User Preferences in the Photo Gallery

After completing this module, students will be able to:
  • build an MVC application that resists malicious attacks and persists information about users and preferences.
 
Module 13: Using Windows Azure Web Services in ASP.NET MVC 4 Web Applications

The goal of this module is to introduce Windows Azure to the students and explain why a developer would write a Windows Azure service instead of code in a web application. Students will also see how to write such a service and call it from a web application or from other applications, such as a mobile device app.

Lessons
  • Introduction to Windows Azure
  • Designing and Writing Windows Azure Services
  • Consuming Windows Azure Services in a Web Application

Lab : Using Windows Azure Web Services in ASP.NET MVC 4 Web Applications
  • Creating and Coding a Windows Azure Service
  • Consuming Data from a Windows Azure Service

After completing this module, students will be able to:
  • describe how to write a Windows Azure web service and call it from and MVC application.

Module 14: Implementing Web APIs in ASP.NET MVC 4 Web Applications

The goal of the module is to introduce the concept of a Web API to students and to describe how to make an application’s core functionality more broadly available for integration into other web and mobile applications. Students will learn about the new Web API feature of MVC 4 and see how to build a RESTful Web API and call it from other applications.

Lessons
  • Developing a Web API
  • Calling a Web API from Mobile and Web Applications

Lab : Implementing Web APIs in ASP.NET MVC 4 Web Applications
  • Developing a Web API in MVC 4
  • Adding Routes and Controllers to Handle REST Requests
  • Calling RESTful services from Client-Side Code

After completing this module, students will be able to:
  • describe what a Web API is and why developers might add a Web API to an application.
 
Module 15: Handling Requests in ASP.NET MVC 4 Web Applications 

The goal of this module is to describe how to write components that intercept requests from browsers before they are received by MVC Controllers. These components include HTTP Modules, HTTP Handlers, and the Web Sockets protocol. The module describes scenarios in which developers use such components and shows how to add them to an MVC application. 

Lessons
  • Using HTTP Modules and HTTP Handlers
  • Using Web Sockets

Lab : Handling Requests in ASP.NET MVC 4 Web Applications
  • Writing a Web Handler that Uses Web Sockets
  • Building a Chat Room in the Photo Sharing Application

After completing this module, students will be able to:
  • modify the way browser requests are handled by an MVC application.
 
Module 16: Deploying ASP.NET MVC 4 Web Applications 

The goal for this module is to enable students to deploy a completed MVC application to a web server or Windows Azure. The module begins by describing testing, staging, and production deployments and the web server environments required for each. It also describes the advantages and disadvantages of using Windows Azure to host the application. Students also see all the available deployment options in Visual Studio.

Lessons
  • Deploying Web Applications
  • Deploying MVC 4 Applications

Lab : Deploying ASP.NET MVC 4 Web Applications
  • Deploying an Application to Windows Azure
  • Testing the Completed Application

After completing this module, students will be able to:
  • describe how to package and deploy an ASP.NET MVC 4  web application from a development computer to a web server for staging or production.

Before attending this course, students must have:
  • A minimum of two to three years of experience developing web-based applications by using Microsoft Visual Studio and Microsoft ASP.NET, proficiency in using the .NET Framework, and some familiarity with the C# language.

Friday, July 05, 2013

10778A: Implementing Data Models and Reports with Microsoft SQL Server 2012

Business intelligence (BI) is becoming increasingly important for companies of many different sizes and types because of the competitive edge it can help to give them. The combined capabilities of Microsoft SQL Server 2012 and Microsoft SharePoint 2010 make it easier than ever for companies to develop a BI solution that meets their specific needs, provides reduced total cost of ownership (TCO), and achieves a faster time to solution.
This five-day instructor-led course teaches students how to empower information workers through self-service analytics and reporting. Students will learn how to implement multidimensional analysis solutions, create PowerPivot and tabular data models, deliver rich data visualizations with PowerView and SQL Server Reporting Services, and discover business insights by using data mining. This course helps people prepare for exam 70-466.
Course OutlineModule 1: Introduction to Business Intelligence and Data Modeling
This module provides an introduction to Business (BI) Intelligence. It describes common BI scenarios, current trends in BI, and the typical roles that are involved in creating a BI solution. It also introduces the Microsoft BI platform and describes the roles Microsoft SQL Server  2012 and Microsoft SharePoint 2010 play in Microsoft BI solutions.
Lessons
  • Introduction to Business Intelligence
  • The Microsoft Business Intelligence Platform
Lab : Reporting and Analyzing Data
  • Exploring a Reporting Services Repot
  • Exploring a PowerPivot Workbook
  • Exploring a Power View Report
After completing this module, students will be able to:
  • Describe common BI scenarios and current BI trends.
  • Describe the main technologies that make up the Microsoft BI platform.
Module 2: Implementing Reports with SQL Server Reporting Services
This module discusses the tools and techniques a professional business intelligence developer can use to create and publish reports with SQL Server Reporting Services.
Lessons
  • Introduction to Reporting Services
  • Creating a Report with Report Designer
  • Grouping and Aggregating Data in a Report
  • Showing Data Graphically
  • Filtering Reports by Using Parameters
  • Publishing and Viewing a Report
Lab : Creating a Report with Report Designer
  • Creating a Report
  • Grouping and Aggregating Data
Lab : Enhancing and Publishing a Report
  • Adding a Chart to a Report
  • Adding Parameters to a Report
  • Publishing a Report
After completing this module, students will be able to:
  • Describe the key features of Reporting Services.
  • Use Report Designer to create a report.
  • Group and aggregate data in a report.
  • Use charts and other visualizations to show data graphically in a report.
  • Use parameters to filter data in a report.
  • Publish and view a report.
Module 3: Supporting Self Service Reporting
This module describes Microsoft SQL Server Reporting Services features that you can use to enable self-service reporting.
Lessons
  • Introduction to Self Service Reporting
  • Shared Data Sources and Datasets
  • Report Parts
Lab : Implementing Self Service Reporting
  • Using Report Builder
  • Simplifying Data Access for Business Users
  • Using Report Parts
After completing this module, students will be able to:
  • Support self-service reporting with Report Builder.
  • Create shared data sources and datasets for self-service reporting scenarios.
  • Use report parts as reusable report elements.
Module 4: Managing Report Execution and Delivery
This module describes how to apply security settings and configure reports for delivery.
Lessons
  • Managing Report Security
  • Managing Report Execution
  • Subscriptions and Data Alert
  • Troubleshooting Reporting Services
Lab : Configuring Report Execution and Delivery
  • Configuring Report Execution
  • Implementing a Standard Subscription
  • Implementing a Data-Driven Subscription
After completing this module, students will be able to:
  • Configure security settings for a report server.
  • Configure report execution settings to optimize performance.
  • Use subscriptions and alerts to automate report and data delivery.
  • Troubleshoot reporting issues.
Module 5: Creating Multidimensional DatabasesThe fundamental purpose of using SQL Server Analysis Services online analytical processing (OLAP) solutions is to build cubes that you can use to perform complex queries and return the results in a reasonable time. This module provides an introduction to multidimensional databases and introduces the core components of an OLAP cube.Lessons
  • Introduction to Multidimensional Analysis
  • Creating Data Sources and Data Source Views
  • Creating a Cube
  • Overview of Cube Security
Lab : Creating a Multidimensional Database
  • Creating a Data Source
  • Creating and Modifying a Data Source View
  • Creating and Modifying a Cube
After completing this module, students will be able to:
  • Describe the considerations for a multidimensional database.
  • Create data sources and data source views.
  • Create a cube.
  • Implement security in a multidimensional database.
Module 6: Working with Dimensions
In SQL Server Analysis Services, dimensions are a fundamental component of cubes. This module provides an insight into the creation and configuration of dimensions and dimension hierarchies.
Lessons
  • Configuring Dimensions
  • Defining Attribute Hierarchies
  • Sorting and Grouping Attributes
Lab : Defining Dimensions
  • Configuring Dimensions
  • Defining Relationships and Hierarchies
  • Sorting and Grouping Dimensions Attributes
After completing this module, students will be able to:
  • Configure dimensions.
  • Define attribute hierarchies.
  • Sort and group attributes.
Module 7: Working with Measures and Measure Groups
A measure represents a column that contains quantifiable data, usually numeric, that you can aggregate. This module describes measures and measure groups. The module also explains how you can use measures to define fact tables and associate dimensions.
Lessons
  • Working with Measures
  • Working with Measure Groups
Lab : Configuring Measures and Measure Groups
  • Configuring Measures
  • Defining Dimension Usage and Relationships
  • Configuring Measure Group Storage
After completing this module, students will be able to:
  • Describe measures.
  • Describe measure groups.
Module 8: Introduction to MDX
Multidimensional Expressions (MDX) is the query language that you use to work with and retrieve multidimensional data in SQL Server Analysis Services. This module describes the fundamentals of MDX. It also explains how to build calculations, such as calculated members and named sets.
Lessons
  • MDX Fundamentals
  • Adding Calculations to a Cube
  • Using MDX to Query a Cube
Lab : Using MDX
  • Querying a Cube by Using MDX
  • Creating a Calculated Member
After completing this module, students will be able to:
  • Describe MDX.
  • Add calculations to a cube.
  • Describe how to use MDX in client applications.
Module 9: Customizing Cube Functionality
In this module, you will learn how to customize cube functionality by using several technologies available to you in SQL Server Analysis Services. These technology customizations include: Key Performance Indicators, Actions, Perspectives, and Translations.
Lessons
  • Working with Key Performance Indicators
  • Working with Actions
  • Working with Perspectives
  • Working with Translations
Lab : Customizing a Cube
  • Implementing an Action
  • Implementing a Perspective
  • Implementing a Translation
After completing this module, students will be able to:
  • Describe Key Performance Indicators.
  • Implement Actions.
  • Explain Perspectives.
  • Describe Translations.
Module 10: Implementing a Tabular Data Model with Microsoft PowerPivot
This module introduces tabular data models, explains how to install and use the PowerPivot for Excel add-in, and describes how to share a workbook to PowerPivot Gallery.
Lessons
  • Introduction to Tabular Data Models and PowerPivot Technologies
  • Creating a Tabular Data Model by Using PowerPivot for Excel
  • Sharing a PowerPivot Workbook and Using PowerPivot Gallery
Lab : Using PowerPivot for Excel
  • Creating a Tabular Data Model by Using PowerPivot for Excel
  • Using a Tabular Data Model in Excel
  • Sharing a PowerPivot Workbook to PowerPivot Gallery
  • Using a PowerPivot Workbook as a Data Source
After completing this module, students will be able to:
  • Describe the key features and benefits of tabular data models and PowerPivot technologies.
  • Create a PowerPivot for Excel workbook.
  • Share a PowerPivot for Excel workbook to PowerPivot Gallery and use a PowerPivot for Excel workbook as a data source.
Module 11: Introduction to DAX
This module covers the fundamentals of the DAX language. It also explains how you can use DAX to create calculated columns and measures, and how you can use these in your tabular data models.
Lessons
  • DAX Fundamentals
  • Using DAX to Create Calculated Column and Measures in a Tabular Data Model
Lab : Creating Calculated Columns and Measures by Using DAX
  • Creating Calculated Columns
  • Creating Measures
  • Using Time Intelligence
  • Creating a Dynamic Measure
After completing this module, students will be able to:
  • Describe the fundamentals of DAX.
  • Use DAX to create calculated columns and measures.
Module 12: Implementing an Analysis Services Tabular Data Model
With SQL Server 2012, you can install Analysis Services in Tabular mode and create tabular data models that information workers can access by using tools such as Excel and Power View. This module describes Analysis Services tabular data models and explains how to develop a tabular data model by using the SQL Server Data Tools.
Lessons
  • Introduction to Analysis Services Tabular Data Model Projects
  • Developing an Analysis Services Tabular Data Model in SQL Server Data Tools
Lab : Working with an Analysis Services Tabular Data Model
  • Creating an Analysis Data Services Tabular Data Model from a PowerPivot Workbook
  • Implementing a Perspective 
  • Implementing Partitions 
  • Deploying an Analysis Services Tabular Data Model 
  • Enabling Access to a Tabular Data Model 
  • Configuring DirectQuery Storage Model 
  • Implementing Security in a Tabular Data Model 
After completing this module, students will be able to:
  • Describe Analysis Services tabular data model Projects.
  • Implement an Analysis Services tabular data model by Using SQL Server Data Tools.
Module 13: Creating Data Visualizations with Power View
SQL Server 2012 introduces Power View, a SharePoint-based data exploration tool that provides a way for information workers to interactively create data visualizations that help them to better understand the data that they are working with. This module introduces Power View and describes how you can use it to create a range of different types of reports quickly and easily.
Lessons
  • Introduction to Power View
  • Visualizing Data with Power View
Lab : Creating Data Visualizations with Power View
  • Modify the Tabular Data Model
  • Create a Simple Power View Report
  • Using Interactive Visualizations
  • Create a Scatter Chart and a Play Axis
After completing this module, students will be able to:
  • Describe the Power View and its place in the BI ecosystem.
  • Create data visualizations by using Power View.
Module 14: Performing Predictive Analysis with Data Mining
SQL Server Analysis Services includes data mining tools that you can use to identify patterns in your data, helping you to determine why particular things happen and to predict what will happen in the future. This module introduces data mining, describes how to create a data mining solution, how to validate data mining models, how to use the Data Mining Add-ins for Excel, and how to incorporate data mining results into Reporting Services reports.
Lessons
  • Overview of Data Mining
  • Creating a Data Mining Solution
  • Validating a Data Mining Solution
  • Consuming a Data Mining Solution
Lab : Using Data Mining to Support a Marketing Campaign
  • Using Table Analysis Tools
  • Creating a Data Mining Model
  • Using the Data Mining Add-in for Excel
  • Validating Data Mining Models
  • Using a Data Mining Model in a Report 

After completing this module, students will be able to:
  • Describe the key data mining concepts and use the Data Mining Add-ins for Excel.
  • Create a Data Mining solution.
  • Validate data mining models.
  • Use data mining data in a report.