20487B: Developing Windows Azure and Web Services Course

advertisement
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
Download