20487B: Developing Windows Azure and Web Services Course Introduction 4m Course Introduction Module 01 - Overview of Service and Cloud Technologies 1h 36m Lesson 1: Key Components of Distributed Applications Characteristics of Distributed Applications Logical Layers of Distributed Applications Lesson 2: Data and Data Access Technologies Data Storage Strategies .NET Data Technologies Lesson 3: Service Technologies SOAP and HTTP-Based Services ASP.NET Web API and WCF Lesson 4: Cloud Computing Introduction to Cloud Computing Benefits of Cloud Computing Cloud and On-Premises Provisioning Cloud Elasticity Cloud Computing Strategies Introduction to Windows Azure Windows Azure Cloud Services Windows Azure Application Components Windows Azure IaaS Lesson 5: Exploring the Blue Yonder Airlines’ Travel Companion Application Architecture of the Travel Companion Distributed Application Demo - Using the Travel Companion Application Module 01 Review Module 02 - Querying and Manipulating Data Using Entity Framework Lesson 1: ADO.NET Overview ADO.NET Basic Objects Operations with ADO.NET Asynchronous Operations with ADO.NET Lesson 2: Creating an Entity Data Model The Need for Object Relational Mappers Development Approaches: Database-first, Model-first, and Code-first Design Approaches: Database-first, Model-first, and Code-first Creating a DbContext Working with DbContext Mapping Classes to Tables with Data Annotations Mapping Properties to Foreign Keys Demo - Creating Classes and Database By Using Code-first Mapping Type Inheritance to Tables Mapping Classes to Tables with the Fluent API Lesson 3: Querying Data Query the Database By Using LINQ to Entities Query the Database By Using LINQ to Entities cont. Demo - Using LINQ to Entities Query the Database By Using Entity SQL Query the Database by Using Direct SQL Statements Demo - Running Stored Procedures with Entity Framework Load Entities by Using Lazy and Eager Loading Lesson 4: Manipulating Data 1h 28m Change Tracking with Entity Framework Inserting New Entities Deleting Entities Updating Entities Updating a Detached Entity Demo - CRUD Operations in Entity Framework Entity Framework Transactions Module 02 Review Module 03 - Creating and Consuming ASP.NET Web API Services 1h 26m Lesson 1: HTTP Services Introduction to HTTP HTTP Messages An HTTP Response Message Identifying Resources By Using URIs Using Verbs Status-Codes and Reason-Phrases Introduction to REST The Richardson Maturity Model Media Types Introduction to Content-Negotiation Lesson 2: Creating an ASP.NET Web API Service Introduction to ASP.NET Web API Creating Routing Rules Configuring Routes The ApiController Class Action Methods and HTTP Verbs Demo - Creating Your First ASP.NET Web API Service Lesson 3: Handling HTTP Requests and Responses Binding Parameters to Request Message The HttpRequestMessage Class The HttpResponseMessage Class Throwing Exceptions with the HttpResponseException Class Demo - Throwing Exceptions Lesson 4: Hosting and Consuming ASP.NET Web API Services Introduction to IIS Hosting ASP.NET Web API Services by Using IIS Consuming Services from Browsers Demo - Consuming Services Using JQuery Consuming Services from .NET Clients with HttpClient Demo - Consuming Services Using HttpClient Module 03 Review Module 04 - Extending and Securing ASP.NET Web API Services Lesson 1: The ASP.NET Web API Pipeline ASP.NET Web API Processing Architecture The DelegatingHandler Class Model Binders Filters Demo - The Flow of Requests and Responses Through the Pipeline Asynchronous Actions Demo - Creating Asynchronous Actions Media Type Formatters Configuring the Content Type for the Media Formatter Implementing the WriteToStream Method Demo - Returning Images by Using Media Type Formatters 1h 48m Lesson 2: Creating OData Services OData Queryable Actions Defining OData Actions OData Models Creating and Exposing OData Models Consuming OData Services Demo - Creating and Consuming an OData Services Lesson 3: Implementing Security in ASP.NET Web API Services Securing HTTP with HTTPS How SSL Works Authenticating Clients Creating a Custom Delegating Handler Handling the Custom Authentication Result Authorizing Clients Authorizing Clients with Attributes Demo - Creating Secured ASP.NET Web API Services Lesson 4: Injecting Dependencies into Controllers Dependency Injection Using the ASP.NET Web API Dependency Resolver Demo - Creating a Dependency Resolver Module 04 Review Module 05 - Creating WCF Services 51m Lesson 1: Advantages of Creating Services with WCF The Benefits of Using SOAP-Based Services WCF Features That Are Not Supported by ASP.NET Web API Lesson 2: Creating and Implementing a Contract Creating Service and Data Contracts Defining Service Contracts and Data Contracts Implementing a Service Contract Handling Exceptions Demo - Creating a WCF Service Lesson 3: Configuring and Hosting WCF Services Hosting WCF Services Service Endpoints Overview Defining a Service Endpoint Address Defining Service Endpoint Bindings Defining Service Endpoint Contracts Exposing Service Metadata Demo - Configuring Endpoints in Code and in Configuration Lesson 4: Consuming WCF Services Generating Service Proxies with Visual Studio 2012 Creating a Service Proxy with ChannelFactory<T> Demo - Adding a Service Reference Demo - Using Channel Factories Module 05 Review Module 06 - Hosting Services Lesson 1: Hosting Services On-Premises Self-Hosting WCF Services in Windows Services Hosting WCF Services in IIS Self-Hosting ASP.NET Web API Services Demo - How to Host WCF Services in IIS Compare IIS and Self-hosting Features Lesson 2: Hosting Services in Windows Azure Cloud Projects and the Windows Azure Emulator 39m Windows Azure Cloud Services Windows Azure Web Role Windows Azure Worker Role Windows Azure Web Sites Demo - Hosting in Windows Azure Comparing Windows Azure Web Roles and Windows Azure Web Sites Module 06 Review Module 07 - Windows Azure Service Bus 1h 17m Lesson 1: Windows Azure Service Bus Relays What Is Windows Azure Service Bus Relay? One-Way Messaging Request-Response Relays Creating Windows Azure Service Bus Namespaces Service Bus Namespace Tree Using WCF Relay Bindings Relay Bindings Configuring a Relayed Endpoint Demo - Creating a Service Bus Namespace Demo - Creating Service Bus Relays Lesson 2: Windows Azure Service Bus Queues What Is Brokered Messaging? Creating Windows Azure Service Bus Queues Creating a Queue by Using Code The BrokeredMessage Class Sending and Receiving Messages Receiving Messages Demo - Sending Messages by Using Windows Azure Service Bus Queues Lesson 3: Windows Azure Service Bus Topics Subscription-Based Messaging Topics and Subscriptions Creating Windows Azure Service Bus Topics Creating a Topic by Using Code Creating Topic Subscriptions Creating Filters Sending and Receiving Messages Demo - Subscription-Based Messaging with Windows Azure Service Bus Topics Module 07 Review Module 08 - Deploying Services Lesson 1: Web Deployment with Visual Studio 2012 Introduction to Web Deploy Configuring Web Deployment By Using Visual Studio Demo - Deploying a Web Application By Using Visual Studio Lesson 2: Creating and Deploying Web Application Packages Creating IIS Web Deployment Packages Deploying IIS Web Deployment Packages Demo - Exporting and Importing Web Deploy Packages Through IIS Manager Lesson 3: Command-Line Tools for Web Deploy Deploying with MSDeploy Packaging and Deploying By Using PowerShell Demo - Using PowerShell Cmdlets Lesson 4: Deploying Web and Service Applications to Windows Azure Deploying Services to Windows Azure Cloud Services Deploying Services to Windows Azure Web Sites 1h 1m Lesson 5: Continuous Delivery with TFS and Git Benefits of Continuous Delivery Continuous Delivery Principles Continuous Delivery with Team Foundation Service and Git Lesson 6: Best Practices for Production Deployment Web.config Transformations Demo - Transforming Web.config Files Sharing Assemblies in Shared Hosting Scenarios The aspnet_intern Tool Windows Azure Upgrade Domains Deploying to Staging and Production Environments Module 08 Review Module 09 - Windows Azure Storage Lesson 1: Introduction to Windows Azure Storage Windows Azure Hosted Environments Transiency Storage Approaches Offered by Windows Azure Windows Azure Storage Accounts Demo - Creating a Windows Azure Storage Account Lesson 2: Windows Azure Blob Storage What Is Blob Storage? Representing Blobs Block Blobs vs. Page Blobs Creating and Deleting Containers Creating a Blob Container Standard Blob Operations Upload and Download Blobs Demo - Uploading and Downloading Blobs from the Storage Emulator Creating Retry Policies Lesson 3: Windows Azure Table Storage Table Storage vs. Relational Databases Working with Tables: Creating and Deleting Creating Entity Structures in Code Working with Entities: Query, Add, Update, and Delete Querying Entities Adding Entities to a Table Demo - Working with Tables and Reshaping Entities Lesson 4: Windows Azure Queue Storage Windows Azure Queues vs. Windows Azure Service Bus Queues Queue Storage Services vs. Service Bus Queues Creating and Deleting Queues Sending Messages to a Queue Adding a Message to the Queue Pulling Messages from Queues: Peek and DeQueue Working with Queued Messages Demo - Working with Queues Lesson 5: Restricting Access to Windows Azure Storage Configuring Access Level for Blob Containers and their Content Set Access Level Permission for a Blob Container Shared Access Signatures Access Policies Configuring Shared Access Signatures Configuring Shared Access Signatures Using Policies Demo - Configuring Shared Access Signature for a Blob Container Module 09 Review 1h 57m Module 10 - Monitoring and Diagnostics 52m Lesson 1: Performing Diagnostics by Using Tracing Overview of .NET Diagnostics Tracing Writing Trace Messages with System.Diagnostics.Trace Writing Trace Messages with System.Diagnostics.TraceSource Configuring Trace Listeners Lesson 2: Configuring Service Diagnostics Tracing with ASP.NET Web API Creating a Trace Writer Recording WCF Diagnostic Information Monitoring Services with Performance Counters Demo - Tracing WCF Services Troubleshooting IIS by Using Logs and Performance Counters Lesson 3: Monitoring Services Using Windows Azure Diagnostics Overview of Windows Azure Diagnostics Types of Collectable Diagnostic Data Configuring Diagnostics Configuring Diagnostics with Visual Studio 2012 The diagnostics.wadcfg File Viewing Collected Diagnostics Data Demo - Configuring Windows Azure Diagnostics Logging Windows Azure Storage Requests Using IntelliTrace in Windows Azure Lesson 4: Collecting Windows Azure Metrics Viewing Metrics for Windows Azure Cloud Services Viewing Windows Azure Web Site Metrics Viewing Metrics for Windows Azure Storage Demo - Viewing Windows Azure Web Site Metrics Module 10 Review Module 11 - Identity Management and Access Control Lesson 1: Claims-based Identity Concepts Introduction to Identities Credentials and Authentication What Is Claims-Based Identity? Simple Claim-Based Identity Scenario Federation Scenario Introduction to WIF Demo - Using Claims in an ASP.NET Website Lesson 2: Using the Windows Azure Access Control Service Introduction to Windows Azure Access Control Service Setting Up ACS for Federation Identity Management in ACS Demo - Configuring ACS Using the Management Portal Lesson 3: Configuring Services to Use Federated Identities Active and Passive Federation ACS Integration with ASP.NET Web API Service Bus Endpoint Configuration with ACS Demo - Configuring ACS for Service Bus Endpoints Module 11 Review 48m Module 12 - Scaling Services 58m Lesson 1: Introduction to Scalability The Reasons for Scaling Growth Patterns Scaling Approaches The Components of a Scaled Out Architecture Scale Out Architectural Challenges Lesson 2: Load Balancing Load Balancing Tools and Frameworks Load Balancing with Windows Azure Demo - Scaling Out Web Applications in Windows Azure Lesson 3: Scaling On-Premises Services with Distributed Cache The Need for Distributed Cache Mechanisms Distributed Cache Properties Windows Server AppFabric Cache Features Cache Features Continued Caching Services Windows Server AppFabric Cache Components Cache API for Data Access Cache API for Regions and Tags Lesson 4: Windows Azure Caching Caching Options in Windows Azure Creating a Windows Azure Cache Worker Role Caching Configuration Using Windows Azure Cache from Code Demo - Using Windows Azure Caching Creating a Windows Azure Shared Cache Using Windows Azure Shared Cache from Code Lesson 5: Scaling Globally Load Balancing Resources with Content Delivery Networks Load Balancing Applications Across Data Centers Module 12 Review Module 13 - Designing and Extending WCF Services 1h 10m Lesson 1: Applying Design Principles to Service Contracts One-Way Operations Streamed Requests and Responses Duplex Services Creating Duplex Contracts Handling Duplex Channels Demo - Duplex Services Asynchronous Service Operations Creating and Implementing Asynchronous Operations Asynchronous Clients Lesson 2: Handling Distributed Transactions Explaining Transactions Terms: Transaction Manager, Transaction Coordinator, and Two Phase Commit The Two-Phase Commit Process Configuring Contracts and Bindings for Transactions Implementing Transactions in Services and Clients Calling a WCF Service Within a Transaction Demo - Creating WCF Transactional Services Lesson 3: Extending the WCF Pipeline High-level Architecture of the WCF Pipeline Responsibilities of the Channel Stack Responsibilities of the Dispatchers Responsibilities of the Client Runtime Creating Custom Runtime Components Applying Runtime Components with Custom Behaviors Creating a Custom Operation Behavior Attaching Custom Behaviors to Services Attaching Custom Behaviors in the Configuration File Adding State and Functionality with Extensible Objects Adding and Accessing Extensions Demo - Extending the WCF Pipeline Module 13 Review Module 14 - Implementing Security in WCF Services 53m Lesson 1: Introduction to Web Services Security Introduction to Application Security Introduction to WCF Security Lesson 2: Transport Security Introduction to Transport Security Configuring a Service for Transport Security Transport Security Requires a Service Certificate Using Transport Security in Clients Configure Transport Security on the Client Service Certificate Validations Demo - Securing a WCF Service with Transport Security Lesson 3: Message Security Introduction to Message Security Configuring a Service for Message Security Using Message Security in Clients Transport Security with Message Credentials Demo - Securing a WCF Service with Message Security Lesson 4: Configuring Service Authentication and Authorization Authenticating Clients Creating a Custom Credential Validator Accessing Identity Information Authorizing Clients Demo - Authenticating and Authorizing Clients Module 14 Review Course Closure Total Duration: 16h 47m