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.
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.
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 services
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.
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.
- Key Components of Distributed Applications
- Data and Data Access Technologies
- Service Technologies
- Cloud Computing
- Exploring the Blue Yonder Airlines’ Travel Companion Application
- Describe the key components of distributed applications.
- Describe data and data access technologies.
- Explain service technologies.
- Describe the features and functionalities of cloud computing.
- Describe the architecture and working of the Blue Yonder Airlines Travel Companion application.
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.
- ADO.NET Overview
- Creating an Entity Data Model
- Querying Data
- Manipulating Data
- Explain basic objects in ADO.NET and asynchronous operations.
- Create an Entity Framework data model.
- Query data by using Entity Framework.
- Insert, delete, and update entities by using Entity Framework.
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.
- HTTP Services
- Creating an ASP.NET Web API Service
- Handling HTTP Requests and Responses
- Hosting and Consuming ASP.NET Web API Services
- Design services by using the HTTP protocol.
- Create services by using ASP.NET Web API.
- Use the HttpRequestMessage/HttpResponseMessage classes to control HTTP messages.
- Host and consume ASP.NET Web API services.
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.
- The ASP.NET Web API Pipeline
- Creating OData Services
- Implementing Security in ASP.NET Web API Services
- Injecting Dependencies into Controllers
- Extend the ASP.NET Web API request and response pipeline.
- Create OData services using ASP.NET Web API.
- Secure ASP.NET Web API.
- Inject dependencies into ASP.NET Web API controllers.
5 Creating WCF Services
This module introduces Windows Communication Foundation (WCF) and describes how to create, host, and consume a WCF service.
- Advantages of Creating Services with WCF
- Creating and Implementing a Contract
- Configuring and Hosting WCF Services
- Consuming WCF Services
- Describe why and when to use WCF to create services.
- Define a service contract and implement it.
- Host and configure a WCF service.
- Consume a WCF service from a client application.
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.
- Hosting Services On-Premises
- Hosting Services in Windows Azure
- Host services on-premises by using Windows services and IIS
- Host services in the Windows Azure cloud environment by using Windows Azure Cloud Services and Web Sites
7 Windows Azure Service Bus
This module describes web-scale messaging patterns, and the infrastructures provided by Windows Azure Service Bus.
- What Are Windows Azure Service Bus Relays?
- Windows Azure Service Bus Queues
- Windows Azure Service Bus Topics
- Describe the purpose and functionality of relayed and buffered messaging.
- Provision, configure, and use the service bus queues.
- Enhance the effectiveness of queue-based communications using topics, subscriptions and filters.
8 Deploying Services
This module describes different techniques for deploying web applications.
- 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
- Deploy web applications with Visual Studio.
- Create and deploy web applications by using IIS Manager.
- Deploy web applications by using the command line.
- Deploy web applications to Windows Azure environments.
- Use continuous delivery with TFS and Git.
- Apply best practices for deploying web applications on-premises and to Windows Azure.
9 Windows Azure Storage
This module Describes Windows Azure Storage, the services it provides, and the best way to use these services.
- Introduction to Windows Azure Storage
- Windows Azure Blob Storage
- Windows Azure Table Storage
- Windows Azure Queue Storage
- Restricting Access to Windows Azure Storage
- Describe the architecture of Windows Azure Storage.
- Implement Blob Storage in your applications.
- Use Table Storage in your applications
- Describe how to use Windows Azure Queues as a communication mechanism between different parts of your application
- Control access to your storage items.
10 Monitoring and Diagnostics
This module describes how to perform monitoring and diagnostics in Windows Azure services.
- Performing Diagnostics by Using Tracing
- Configuring Service Diagnostics
- Monitoring Services Using Windows Azure Diagnostics
- Collecting Windows Azure Metrics
- Perform tracing in the .NET Framework with the System.Diagnostics namespace.
- Configure and explore web service and IIS tracing.
- Monitor services by using Windows Azure Diagnostics.
- View and collect Windows Azure metrics in the management portal.
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).
- Claims-based Identity Concepts
- Using the Windows Azure Access Control Service
- Configuring Services to Use Federated Identities
- Handling Federated Identities on the Client Side
- Describe the basic principles of claims-based identity.
- Create a Security Token Service (STS) by using Windows Azure ACS.
- Configure WCF to use federated identity.
- Consume a WCF service that uses federated ide\ntities.
12 Scaling Services
This module describes the ways in which you can ensure services can handle increasing workloads and user demand.
- Introduction to Scalability
- Load Balancing
- Scaling On-Premises Services with Distributed Cache
- Windows Azure Caching
- Caveats of Scaling Services
- Scaling Globally
- Explain the need for scalability.
- Describe how to use load balancing for scaling services.
- Describe how to use distributed caching for on-premises as well as Windows Azure services.
- Describe how to use Windows Azure caching.
- Describe how to deal with common challenges and issues that appear when services need to scale.
- Describe how to scale services globally.
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.
- Applying Design Principles to Service Contracts
- Handling Distributed Transactions
- Extending the WCF Pipeline
- Design and create services and clients to use different kinds of message patterns.
- Configure a service to support distributed transactions.
- Extend the WCF pipeline with runtime components, custom behaviors, and extensible objects.
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.
- Introduction to Web Services Security
- Transport Security
- Message Security
- Configuring Service Authentication and Authorization
- Describe web application security.
- Configure a service for transport security.
- Configure a service for message security.
- Implement and configure authentication and authorization logic.