Developing Windows Azure and Web Services (20487)
COURSE CONTENT
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.
WHO SHOULD ATTEND
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.
COURSE OBJECTIVES
After completing 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 service
OUTLINE: Developing Windows Azure and Web Services (20487)
Module 1: Overview of service and cloud technologies
This module describes the Microsoft data, service, and cloud stacks. It also describes the various components that comprise Windows Azure.
Lessons
- Key Components of Distributed Applications
- Data and Data Access Technologies
- Service Technologies
- Cloud Computing
- Exploring Blue Yonder Airlines’ Travel Companion Application
Lab: Exploring the work environment
- Create a Windows Azure SQL Database
- Create an Entity Data Model
- Create an ASP.NET Web API service
- Deploy a web application to Windows Azure
Module 2: Querying and manipulating data using Entity Framework
This module explains how to create Entity Framework models and use them to query and manipulate data.
Lessons
- ADO.NET overview
- Creating an entity data model
- Querying data
- Manipulating data
Lab: Creating a data access layer using Entity Framework
- Explore the data model and integration test projects
- Create a data model
- Query and manipulate data
Module 3: Creating and consuming ASP.NET Web API services
This module explains how to create HTTP based services using the ASP.NET Web API.
Lessons
- What are 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
- Create an ASP.NET Web API service
- Consume an ASP.NET Web API service
Module 4: Extending and securing ASP.NET Web API services
This module explains how to extend and secure ASP.NET web API services to support real world scenarios.
Lessons
- The ASP.NET Web API request pipeline
- The ASP.NET Web API response 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
- Create a dependency resolver for repositories
- Add a new media type for RSS requests
- Add OData capabilities to the flight schedule service
- Apply validation rules in the booking service
- Secure the communication between client and server
Module 5: Creating WCF services
This module explains how to create WCF services, host them, and consume them from other applications.
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
- Create the WCF booking service
- Configure and host the WCF service
- Consume the WCF service from the ASP.NET Web API booking service
Module 6: Designing and extending WCF services
This module explains how to design a WCF service contracts with duplex support, async operations, and one-way operations. It also explains how to create services that use various instancing and concurrency modes. In addition, it describes how to extend a WCF service with custom behaviors and runtime components.
Lessons
- Applying design principles to service contracts
- Handling distributed transactions
- WCF pipeline architecture
- 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
- Use asynchronous WCF client calls
Module 7: Implementing Security in WCF services
This module explains how to implement security in WCF services by using transport and message security. It also describes how to configure and implement authentication and authorization for a service
Lessons
- Transport security
- Message security
- Configuring service authentication and authorization
Lab: Securing a WCF service
- Secure the WCF service
- Configure the ASP.NET Web API booking service for secured communication
Module 8: Windows Azure Service Bus
This module explains how to use the Windows Azure Service Bus for advanced routing and messaging scenarios.
Lessons
- 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 booking updates to clients using Windows Azure Service Bus Topics
Module 9: Hosting services
This module explains how to host services on various Windows Azure environments, such as Web Roles, Worker Roles, and Web Sites
Lessons
- Hosting services on-premises
- Hosting services in Windows Azure
Lab: Hosting Services
- Host the WCF booking service in IIS
- Host the ASP.NET Web API services in a Windows Azure Web role
- Host the booking management service in a Windows Azure Web Site
Module 10: Deploying Services
This module explains how to deploy services to both on-premises and cloud environments.
Lessons
- Web Deployment with Visual Studio
- Creating and deploying Web Application packages
- Command-line tools for web deployment packages
- Deploying to Windows Azure
- Continuous delivery with TFS and GIT
- Best practices for production deployment
Lab: Deploying services
- Deploying an updated service to Windows Azure
- Updating a Windows Azure Web Site with Web Deploy
- Exporting and importing an IIS deployment package
Module 11: Windows Azure Storage
This module explains how to store and access data stored in Windows Azure Storage. It also explains how to configure storage access rights for storage containers and content.
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
- Accessing Windows Azure storage
- Creating shared access signatures for blobs
Module 12: Monitoring and diagnostics
This module explains how to monitor and log services, both on-premises and in Windows Azure
Lessons
- Performing diagnostics using tracing
- Configuring service diagnostics
- Monitoring IIS
- Monitoring services using Windows Azure diagnostics
- Debugging using IntelliTrace
- Collecting Windows Azure metrics
Lab: Monitoring and Diagnostics
- Configuring WCF tracing and message logging
- Configuring Windows Azure diagnostics
Module 13: Identity management and access control
This module describes claim-based identity concepts and standards, and how to implement federated authentication by using ACS to secure an ASP.NET Web API service. It also explains how to use ACS to secure Windows Azure Service Bus connections.
Lessons
- Claim-based identity concepts
- Access Control Service
- Configuring services to use federated identities
- Handling federated identities in the client side
Lab: Identity management and access control
- Configure Windows Azure ACS
- Integrate ACS with the ASP.NET Web API
- Examine the authentication procedure in the client application
Module 14: Scaling Services
This module explains how to create scalable services and applications.
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
- Support federated security in a scaled environment