20487: Developing Windows Azure and Web Services

Length: 5 days | Audience: IT Professionals | Level: 200

In this course, students will learn how to design and develop services that access local and remote data from various data sources. Students will also learn how to develop and deploy services to hybrid environments, including on-premises servers and Windows Azure. This course helps people prepare for exam 70-487

Note: Students may need an Azure account to complete this course. Details of how to obtain a 30 day Azure pass will be provided prior to attending the course. Students can use their personal Azure account if they prefer.

Module 1: Overview of service and cloud technologies

This module provides an overview of service and cloud technologies using the Microsoft .NET Framework and the Windows Azure cloud.

Lessons

  • Key Components of Distributed Applications
  • Data and Data Access Technologies
  • Service Technologies
  • Cloud Computing
  • Exploring the Blue Yonder Airlines’ Travel Companion Application

Lab : Exploring the work environment

  • Creating a Windows Azure SQL Database
  • Creating an Entity Data model
  • Managing the Entity Framework Model with an ASP.NET Web API Project
  • Deploying a web application to Windows Azure

 

Module 2: Querying and Manipulating Data Using Entity Framework

This module Describes the Entity Framework data model, and how to create, read, update, and delete data.

Lessons

  • ADO.NET Overview
  • Creating an Entity Data Model
  • Querying Data
  • Manipulating Data

Lab : Creating a Data Access Layer by Using Entity Framework

  • Creating a Data Model
  • Querying and Manipulating Data

 

Module 3: Creating and Consuming ASP.NET Web API Services

This module describes HTTP-based services that are developed, hosted, and consumed by using ASP.NET Web API. Lessons

  • HTTP Services
  • Creating an ASP.NET Web API Service
  • Handling HTTP Requests and Responses
  • Hosting and Consuming ASP.NET Web API Services

Lab : Creating the Travel Reservation ASP.NET Web API Service

  • Creating an ASP.NET Web API Service
  • Consuming an ASP.NET Web API Service

 

Module 4: Extending and Securing ASP.NET Web API Services

This module describes in detail the ASP.NET Web API architecture and how you can extend and secure ASP.NET Web API services.

Lessons

  • The ASP.NET Web API Pipeline
  • Creating OData Services
  • Implementing Security in ASP.NET Web API Services
  • Injecting Dependencies into Controllers

Lab : Extending Travel Companion’s ASP.NET Web API Services

  • Creating a Dependency Resolver for Repositories
  • Adding a New Media Type for RSS Requests
  • Adding OData Capabilities to the Flight Schedule Service
  • Applying Validation Rules in the Booking Service
  • Secure the communication between client and server

 

Module 5: Creating WCF Services

This module introduces Windows Communication Foundation (WCF) and describes how to create, host, and consume a WCF service.

Lessons

  • Advantages of Creating Services with WCF
  • Creating and Implementing a Contract
  • Configuring and Hosting WCF Services
  • Consuming WCF Services

Lab : Creating and Consuming the WCF Booking Service

  • Creating the WCF Booking Service
  • Configuring and Hosting the WCF Service
  • Consuming the WCF Service from the ASP.NET Web API Booking Service

 

Module 6: Hosting Services

This module describes how to host web services both on-premises and in Windows Azure. It explains various components of Windows Azure Cloud Services: Web Role, Worker Role, and Windows Azure Web Sites.

Lessons

  • Hosting Services On-Premises
  • Hosting Services in Windows Azure

Lab : Hosting Services

  • Hosting the WCF Services in IIS
  • Host the ASP.NET Web API Services in a Windows Azure Web Role
  • Host the Flights Management Web Application in a Windows Azure Web Site

 

Module 7: Windows Azure Service Bus

This module describes web-scale messaging patterns, and the infrastructures provided by Windows Azure Service Bus.

Lessons

  • What Are Windows Azure Service Bus Relays?
  • Windows Azure Service Bus Queues
  • Windows Azure Service Bus Topics

Lab : Windows Azure Service Bus

  • Use a Service Bus Relay for the WCF Booking Service
  • Publish Flight Updates to Clients by Using Windows Azure Service Bus Queues

 

Module 8: Deploying Services

This module describes different techniques for deploying web applications.

Lessons

  • Web Deployment with Visual Studio 2012
  • Creating and Deploying Web Application Packages
  • Command-Line Tools for Web Deploy
  • Deploying Web and Service Applications to Windows Azure
  • Continuous Delivery with TFS and Git
  • Best Practices for Production Deployment

Lab : Deploying Services

  • Deploying an Updated Service to Windows Azure
  • Exporting and importing an IIS deployment package

 

Module 9: Windows Azure Storage

This module Describes Windows Azure Storage, the services it provides, and the best way to use these services.

Lessons

  • Introduction to Windows Azure Storage
  • Windows Azure Blob Storage
  • Windows Azure Table Storage
  • Windows Azure Queue Storage
  • Restricting Access to Windows Azure Storage

Lab : Windows Azure Storage

  • Storing Content in Windows Azure Storage
  • Storing Content in Windows Azure Table Storage
  • Creating Shared Access Signatures for Blobs

 

Module 10: Monitoring and Diagnostics

This module describes how to perform monitoring and diagnostics in Windows Azure services.

Lessons

  • Performing Diagnostics by Using Tracing
  • Configuring Service Diagnostics
  • Monitoring Services Using Windows Azure Diagnostics
  • Collecting Windows Azure Metrics

Lab : Monitoring and Diagnostics

  • Configuring WCF Tracing and Message Logging
  • Configuring Windows Azure Diagnostics

 

Module 11: Identity Management and Access Control

This module describes the basic principles of modern identity handling and demonstrates how to use infrastructures such as Windows Azure Access Control Service (ACS) to implement authentication and authorization with claims-based identity in Windows Communication Foundation (WCF).

Lessons

  • Claims-based Identity Concepts
  • Using the Windows Azure Access Control Service
  • Configuring Services to Use Federated Identities
  • Handling Federated Identities on the Client Side

Lab : Identity Management and Access Control

  • Configuring Windows Azure ACS
  • Integrating ACS with the ASP.NET Web API Project
  • Deploying the Web Application to Windows Azure and Configure the Client App

 

Module 12: Scaling Services

This module describes the ways in which you can ensure services can handle increasing workloads and user demand.

Lessons

  • Introduction to Scalability
  • Load Balancing
  • Scaling On-Premises Services with Distributed Cache
  • Windows Azure Caching
  • Caveats of Scaling Services
  • Scaling Globally

Lab : Scalability

  • Use Windows Azure Caching

 

Module 13: Appendix A: Designing and Extending WCF Services

This module covers designing Windows Communication Foundation (WCF) service contracts, creating services that support distributed transactions, and extending the WCF pipeline with custom runtime components and custom behaviors.

Lessons

  • Applying Design Principles to Service Contracts
  • Handling Distributed Transactions
  • Extending the WCF Pipeline

Lab : Designing and Extending WCF Services

  • Create a Custom Error Handler Runtime Component
  • Add Support for Distributed Transactions to the WCF Booking Service

 

Module 14: Appendix B: Implementing Security in WCF Services

This module deals with the various considerations you have to take into account when designing a secure web service, such as encryption, input validation, authentication, and authorization, and the techniques to use while applying these considerations to services developed with WCF.

Lessons

  • Introduction to Web Services Security
  • Transport Security
  • Message Security
  • Configuring Service Authentication and Authorization

Lab : Securing a WCF Service

  • Securing the WCF Service
  • Using authorization rules to validate the client’s requests
  • Configure the ASP.NET web API booking service for secured communication

Before attending this course, students must have:

  • Experience with C# programming, and concepts such as Lambda expressions, LINQ, and anonymous types.
  • Understanding the concepts of n-tier applications.
  • Experience with querying and manipulating data with ADO.NET.
  • Knowledge of XML data structures.