This course focuses on designing and building services that access local and various remote data sources. The course covers the creation and deployment of services in a hybrid environment that includes on-premises enterprise servers and the cloud.

The main focus of the course program is the study of techniques for creating distributed, scalable and secure applications using web services hosted both on local enterprise servers and in the Windows Azure cloud. The issues of cloud deployment, access control to services and organization of interaction between the elements of the distributed system are considered.

Module 1: Overview of Services and Cloud Technologies

Basic components of distributed applications
Data and data access technologies
Service Technologies
Cloud Computing
Exploring Blue Yonder Airlines’ Travel Companion application
Creating a SQL Database in Windows Azure (Windows Azure SQL Database)
Creating an Entity Data Model
Creating ASP.NET Web API Services
Deploying Web Applications on Windows Azure

Module 2: Data Extraction and Manipulation with Entity

Framework
ADO.NET Overview
Creating an Entity Data Model
Extracting and manipulating data

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

What is an HTTP service?
Creating ASP.NET Web API Service
Processing HTTP requests and responses
Hosting and running ASP.NET Web API services

Module 4: Extending and securing ASP.NET Web API services

ASP.NET Web API request processing pipeline
ASP.NET Web API Response Pipeline
Creating OData Services
Implementing security in ASP.NET Web API services
Configuring dependencies between controllers

Module 5. Creating WCF Services

Benefits of creating WCF services
Creating and using contracts
Configuring and deploying WCF services
Using WCF services

Module 6. Designing and Extending WCF Services

Principles of designing services using contracts
Distributed Transaction Processing
WCF pipeline architecture
Extending WCF Pipeline Architecture

Module 7: Implementing WCF Services Security

Transmission Security
Message Security
Configuring Authentication and Authorization Services

Module 8: Windows Azure Service Bus

Windows Azure Service Bus relays
Windows Azure Service Bus queues
Windows Azure Service Bus topics

Module 9: Hosting

Hosting services on the local server
Hosting Services in Windows Azure

Module 10: Service Deployment

Web Deployment with Visual Studio
Creating and Deploying a Web Application
Command Line Tools for Web Deployment
Deploying to Windows Azure
Continuous Delivery Using TFS and GIT
Tips and tricks for deploying products

Module 11: Windows Azure Storage

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

Module 12: Monitoring and Diagnostics

Performing diagnostics using tracing
Configuring the Diagnostic Service
Monitoring IIS
Monitoring services using Windows Azure diagnostics
Debugging using IntelliTrace
Collecting Windows Azure metrics

Module 13: Identity Management and Access Control

Claims-based Identity Technologies
Access Control Services
Configuring a service to use federated identity
Handling federated identity on the client side

Module 14: Scalable Services

Introduction to Scaling
Load balancing
Scaling services on local servers using distributed caching
Caching in Windows Azure
Limitations for scaling services
Global Scaling