How To Take This Class

Course Overview

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.

Course Prerequisites

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.

Course Audience

This course is intended for both novice and experienced .NET developers who have a minimum of six months programming experience, and want to learn how to develop services and deploy them to hybrid environments.

What You'll Learn

Upon successful completion of this course students will be able to:
  • Query and manipulate data with Entity Framework
  • Use ASP.NET Web API to create HTTP-based services and consume them from .NET and non-.NET clients
  • Extend ASP.NET Web API services using message handlers, model binders, action filters, and media type formatters
  • Create SOAP-based services with the Windows Communication Foundation (WCF) and consume them from .NET clients
  • Apply design principles to service contracts and extend WCF services using custom runtime components and behaviors
  • Secure WCF services using transport and message security
  • Use Windows Azure Service Bus for relayed messaging and brokered messaging using queues and topics
  • Host services on on-premises servers, and on various Windows Azure environments, such as Web Roles, Worker Roles, and Web Sites
  • Deploy services to both on-premises servers and Windows Azure
  • Store and access data in Windows Azure Storage, and configure storage access rights
  • Monitor and log services, both on-premises and in Windows Azure
  • Implement federated authentication by using ACS with ASP.NET Web API services
  • Create scalable, load-balanced services

Course Duration

5 Days

Certification Exam

This course prepares students for: Exam 70-487 Developing Microsoft Azure and Web Services

Course Outline

  • Overview of service and cloud technologies
    • 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
  • Querying and Manipulating Data Using Entity Framework
    • 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
  • Creating and Consuming ASP.NET Web API Services
    • 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
  • Extending and Securing ASP.NET Web API Services
    • 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
  • Creating WCF Services
    • 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
  • Hosting Services
    • 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
  • Windows Azure Service Bus
    • 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
  • Deploying Services
    • 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
  • Windows Azure Storage
    • 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
  • Monitoring and Diagnostics
    • 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
  • Identity Management and Access Control
    • 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
  • Scaling Services
    • 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
  • Designing and Extending WCF Services
    • 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
  • Implementing Security in WCF Services
    • 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

What Students Receive

Each student will receive:
  • A printed courseware manual with samples and hands-on exercises for use during and after class
  • Sample course files and solutions
  • Access to a complete, online environment both during and after class to practice your new skills
  • A course completion certificate upon successful completion of the course