MS-20487: Developing Microsoft Azure and Web Services

Hvis du ønsker at benytte services i dine løsninger, som trækker på forskellige datakilder, så kan du starte her. Du vil lære at udvikle og at sætte dem i produktion, både lokalt og i skyen (Microsoft Azure).

På baggrund af kurset kan du gøre virksomhedens data lettere tilgængeligt for flere forskellige applikationer. På den måde kan du lette arbejdet og spare tid på vedligeholdelsen af dine programmer, når du vælger en service-orienteret struktur.

På kurset gennemgår vi datatilgang med Entity Framework (ver. 4.0). WebAPI for REST-baserede services og WFC for SOAP-baserede. Du lærer at hoste dine services, både lokalt og i skyen, samt hvordan du sikrer dine services med kryptering. Vi kommer ind på Azure Storage, som er en cloud-baseret service, der tilbyder meget skalérbar og tilgængelig adgang til forskellige elementer fra simple filer, over queues til blobs, der binært kan indeholde stort set alt i binært format. Vi kommer ligeledes ind på benyttelse af Federated Security med ACS i Microsoft Azure, der giver mulighed for at skabe en SingleSignOn (SSO) og/eller benyttelse af 3. part til authentication (som Facebook eller Microsoft ID fx). 

Kurset vil blive gennemført med Visual Studio 2012 under Windows 8.

Kurset vil blive afholdt på dansk, og da vi benytter Microsoft digitale materiale (DMOC) vil dette være på engelsk. Under kurset vil der herinde blive stillet en Surface Tablet til rådighed som kan benyttes som læser. Du vil fremover have adgang til materialet både online og lokalt. Skulle Microsoft lave en ny version af kursusmaterialet, så vil du automatisk få adgang til det. Alle øvelser vil anvende Microsoft Online Labs, som er til rådighed i 180 dage i alt. Du kan derfor fortsætte eller starte forfra på en øvelse hjemme, under eller efter kurset hvis du har lyst. 

Kurset vil blive afholdt på dansk, og da vi benytter Microsoft digitale materiale (DMOC) vil dette være på engelsk. Under kurset vil der herinde blive stillet en Surface Tablet til rådighed som kan benyttes som læser. Du vil fremover have adgang til materialet både online og lokalt. Skulle Microsoft lave en ny version af kursusmaterialet, så vil du automatisk få adgang til det. Alle øvelser vil anvende Microsoft Online Labs, som er til rådighed i 180 dage i alt. Du kan derfor fortsætte eller starte forfra på en øvelse hjemme, under eller efter kurset hvis du har lyst. 

Der vil blive oprettet en konto til Windows Azure, som du benytter under kurset. Denne konto kan du benytte gratis efter kurset i op til 25 dage.

Få det optimale ud af kurset/Forudsætninger

Du har flere års erfaring med udvikling af applikationer lokalt.

Du er komfortabel med at kode i C#.

Kursusindhold

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 Microsoft 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 Microsoft Azure SQL Database
  • Create an Entity Data Model
  • Create an ASP.NET Web API service
  • Deploy a web application to Microsoft Azure

After completing this module, students will be able to:

  • Describe the overall architecture of distributed applications.
  • Describe the data platform technologies supported by Microsoft.
  • Describe the different approaches and technologies used for developing services.
  • Describe cloud computing concepts and the Microsoft Azure ecosystem.

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

After completing this module, students will be able to:

  • Describe how to use ADO.NET to query and manipulate data.
  • Create entity data models using the different design approaches of Entity Framework.
  • Query a database using various Entity Framework techniques.
  • Manipulate data by using Entity Framework.

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

After completing this module, students will be able to:

  • Describe the HTTP protocol and how it is used with REST.
  • Create a basic ASP.NET Web API service by using routing, controllers, and actions.
  • Convert HTTP request content to .NET objects and convert return values to responses.
  • Host and consume ASP.NET Web API services in various server and client scenarios.

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

After completing this module, students will be able to:

  • Describe how messages flow through the ASP.NET Web API request processing pipeline.
  • Describe how messages flow through the ASP.NET Web API response processing pipeline.
  • Create ASP.NET Web API OData services.
  • Implement security in ASP.NET Web API services.
  • Create a dependency resolver that injects dependencies into ASP.NET Web API controllers.

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

After completing this module, students will be able to:

  • Describe why and when to use WCF to create services.
  • Implement a service using contracts.
  • Host a WCF service with endpoint configuration in code and configuration file.
  • Consume a WCF services from .NET clients.

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

After completing this module, students will be able to:

  • Create service contracts that support service design principles.
  • Create services that support distributed transactions.
  • Describe the architecture of the WCF pipeline and how to control it with behaviors.
  • Extend WCF with runtime components and extensible objects.

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

After completing this module, students will be able to:

  • Configure a service for transport security.
  • Configure a service for message security.
  • Authenticate and authorize users.

Module 8: Microsoft Azure Service Bus

This module explains how to use the Microsoft Azure Service Bus for advanced routing and messaging scenarios.

Lessons

  • Microsoft Azure Service Bus Relays
  • Microsoft Azure Service Bus Queues
  • Microsoft Azure Service Bus Topics

Lab: Microsoft Azure Service Bus

  • Use a service bus relay for the WCF booking service
  • Publish booking updates to clients using Microsoft Azure Service Bus Topics

After completing this module, students will be able to:

  • Connect hybrid environments with Microsoft Azure Service Bus Relays.
  • Use brokered messaging with Microsoft Azure Service Bus queues.
  • Use subscription-based messaging with Microsoft Azure Service Bus topics.

Module 9: Hosting services

This module explains how to host services on various Microsoft Azure environments, such as Web Roles, Worker Roles, and Web Sites

Lessons

  • Hosting services on-premises
  • Hosting services in Microsoft Azure

Lab: Hosting Services

  • Host the WCF booking service in IIS
  • Host the ASP.NET Web API services in a Microsoft Azure Web role
  • Host the booking management service in a Microsoft Azure Web Site

After completing this module, students will be able to:

  • Describe the common on-premises hosting environments.
  • Host a service in Microsoft Azure hosting environments.

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 Microsoft Azure
  • Continuous delivery with TFS and GIT
  • Best practices for production deployment

Lab: Deploying services

  • Deploying an updated service to Microsoft Azure
  • Updating a Microsoft Azure Web Site with Web Deploy
  • Exporting and importing an IIS deployment package

After completing this module, students will be able to:

  • Deploy services from Visual Studio.
  • Deploy services by using web deployment packages.
  • Deploy services using command-line tools.
  • Deploy services to Microsoft Azure environments.
  • Ensure that Microsoft Azure deployments are up-to-date with continuous delivery.

Module 11: Microsoft Azure Storage

This module explains how to store and access data stored in Microsoft Azure Storage. It also explains how to configure storage access rights for storage containers and content.

Lessons

  • Introduction to Microsoft Azure storage
  • Microsoft Azure Blob Storage
  • Microsoft Azure Table Storage
  • Microsoft Azure Queue Storage
  • Restricting access to Microsoft Azure Storage

Lab: Microsoft Azure Storage

  • Storing content in Microsoft Azure storage
  • Accessing Microsoft Azure storage
  • Creating shared access signatures for blobs

After completing this module, students will be able to:

  • Describe the reasons for using Microsoft Azure storage.
  • Use blobs for storing resources.
  • Use tables for storing structured, non-relational data.
  • Use queues for sending and receiving messages asynchronously.
  • Configure access level and shared access signatures for Microsoft Azure Storage services.

Module 12: Monitoring and diagnostics

This module explains how to monitor and log services, both on-premises and in Microsoft Azure

Lessons

  • Performing diagnostics using tracing
  • Configuring service diagnostics
  • Monitoring IIS
  • Monitoring services using Microsoft Azure diagnostics
  • Debugging using IntelliTrace
  • Collecting Microsoft Azure metrics

Lab: Monitoring and Diagnostics

  • Configuring WCF tracing and message logging
  • Configuring Microsoft Azure diagnostics

After completing this module, students will be able to:

  • Write diagnostics trace messages.
  • Configure and monitor service diagnostic information.
  • Monitor IIS-hosted services.
  • Monitor Microsoft Azure applications using Microsoft Azure diagnostics.
  • Debug services with IntelliTrace.
  • Collect Microsoft Azure metrics.

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 Microsoft 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 Microsoft Azure ACS
  • Integrate ACS with the ASP.NET Web API
  • Examine the authentication procedure in the client application

After completing this module, students will be able to:

  • Describe claim-based identity concepts.
  • Describe the Access Control Service and its purpose.
  • Configure a service to require federated identities.
  • Configure a service client with federated identity

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
  • Microsoft Azure caching
  • Caveats of scaling services
  • Scaling globally

Lab: Scalability

  • Use Microsoft Azure Caching
  • Support federated security in a scaled environment

After completing this module, students will be able to:

  • Describe the reasons and techniques for scaling services.
  • Describe how load balancing can be used with on-premises and Microsoft Azure environments.
  • Integrate a distributed cache mechanism into a service by using Windows Server AppFabric Cache.
  • Describe the distributed cache solutions offered by Microsoft Azure.
  • Understand the caveats of scaling out services and how to resolve them.
  • Scale Microsoft Azure solutions outside of the data center.