Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Exam Ref 70-487: Developing Windows Azure and Web Services
Introduction
Microsoft certifications
Acknowledgments
Errata & book support
We want to hear from you
Stay in touch
Preparing for the exam
1. Accessing data
Objective 1.1: Choose data access technologies
Choosing a technology (ADO.NET, Entity Framework, WCF Data Services) based on application requirements
Choosing ADO.NET as the data access technology
ADO.NET compatibility
ADO.NET architecture
.NET Framework data providers
DataSet or DataReader?
Why choose ADO.NET?
Choosing EF as the data access technology
The origins of EF
EF modeling
Building EF models
Building an EF Model using the Entity Data Model Wizard
Entity Data Model Designer
Using the generated items
ObjectContext versus DbContext
ObjectContext management
ObjectContext entities
Why choose the EF?
Choosing WCF Data Services as the data access technology
Changing the nature of data access
OData
JSON
WCF Data Services as data access mechanisms
Why choose WCF Data Services?
Objective summary
Objective review
Objective 1.2: Implement caching
Understanding caching options
Using the ObjectCache
CacheItemPolicy
CacheItemPriority
The ChangeMonitor class
Using the HttpContext.Cache
Abbreviated System.Web.Caching.Cache usage
Objective summary
Objective review
Objective 1.3: Implement transactions
Understanding characteristics of transactions
Implementing distributed transactions
Specifying a transaction isolation level
Managing transactions by using the API from the System.Transactions namespace
Using the EntityTransaction
Using the SqlTransaction
Objective summary
Objective review
Objective 1.4: Implement data storage in Windows Azure
Accessing data storage in Windows Azure
Choosing a data storage mechanism in Windows Azure (blobs, tables, queues and SQL Database)
Blob storage
Table and Queue storage
Distribute data by using the Windows Azure Content Delivery Network (CDN)
Manage Windows Azure Caching
Handling exceptions by using retries (SQL Database)
Objective summary
Objective review
Objective 1.5: Create and implement a WCF Data Services service
Addressing resources
SetEntityAccessRule
SetServiceOperationAccessRule
DataServiceBehavior.MaxProtocolVersion
Creating a query
Accessing payload formats
Working with interceptors and service operators
Objective summary
Objective review
Objective 1.6: Manipulate XML data structures
Reading, filtering, creating, and modifying XML structures
Manipulating XML data
XmlWriter class
XmlReader class
XmlDocument class
XPath
LINQ-to-XML
Advanced XML manipulation
Objective summary
Objective review
Chapter summary
Answers
Objective 1.1: Thought experiment
Objective 1.1: Review
Objective 1.2: Thought experiment
Objective 1.2: Review
Objective 1.3: Thought experiment
Objective 1.3: Review
Objective 1.4: Thought experiment
Objective 1.4: Review
Objective 1.5: Thought experiment
Objective 1.5: Review
Objective 1.6: Thought experiment
Objective 1.6: Review
2. Querying and manipulating data by using the Entity Framework
Objective 2.1: Query and manipulate data by using the Entity Framework
Querying, updating, and deleting data by using DbContext
Querying data
Updating data
Deleting data
Building a query that uses deferred execution
Implementing lazy loading and eager loading
Creating and running compiled queries
Querying data by using Entity SQL
Objective summary
Objective review
Objective 2.2: Query and manipulate data by using Data Provider for Entity Framework
Querying and manipulating data by using Connection, DataReader, Command from the System.Data.EntityClient namespace
EntityConnection
EntityCommand
EntityTransaction
Performing synchronous and asynchronous operations
Managing transactions (API)
DbTransaction
TransactionScope
Objective summary
Objective review
Objective 2.3: Query data by using LINQ to Entities
Querying data using LINQ operators
IEnumerable versus IQueryable
Logging queries
Objective summary
Objective review
Objective 2.4: Query and manipulate data by using ADO.NET
Querying data using Connection, DataReader, Command, DataAdapter, and DataSet
SqlConnection
SqlCommand
SqlDataReader
SqlDataAdapter
Data object lifecycle with a DataAdapter
Untyped DataSets and DataTables
Performing synchronous and asynchronous operations
Managing transactions
Objective summary
Objective review
Objective 2.5: Create an Entity Framework data model
Structuring the data model using Table-per-Type and Table-per-Hierarchy inheritance
Choosing and implementing an approach to manage a data model (code first vs. model first vs. database first)
Implementing POCOs
DbContext
ObjectContext
Describing a data model using conceptual schema definitions, storage schema definitions, and mapping language (CSDL, SSDL, & MSL)
Conceptual schema definition language (CSDL)
Storage schema definition language (SSDL)
Mapping specification language (MSL)
Objective summary
Objective review
Chapter summary
Answers
Objective 2.1: Thought experiment
Objective 2.1: Review
Objective 2.2: Thought experiment
Objective 2.2: Review
Objective 2.3: Thought experiment
Objective 2.3: Review
Objective 2.4: Thought experiment
Objective 2.4: Review
Objective 2.5: Thought experiment
Objective 2.5: Review
3. Designing and implementing WCF Services
Objective 3.1: Create a WCF service
Defining SOA concepts
Creating contracts
Endpoints
WCF processing pipeline
DataContract
DataMember
EnumMember
FaultContracts
Implementing inspectors
Implementing message inspectors
IDispatchMessageInspector interface
IClientMessageInspector interface
Objective summary
Objective review
Objective 3.2: Configure WCF services by using configuration settings
Configuring service behaviors
Creating a new service
Specifying a new service element (service)
Specifying a new service element (contract)
Specifying a new service element (communication mode)
Specifying a new service element (interoperability mode)
Resulting configuration file
Exposing service metadata
Configuring service endpoints
Configuring bindings
Objective summary
Objective review
Objective 3.3: Configure WCF services by using the API
Configuring service endpoints
Configuring service behaviors
ServiceBehaviorAttribute
Configuring bindings
Binding declarations
wsHttpBinding
NetMsmqBinding
NetNamedPipeBinding
Custom binding
Specifying a service contract
ServiceContract attribute defined on the service class
ServiceContract attribute defined on the interface definition
ServiceContract attribute defined on the service class and interface definition
Expose a service’s metadata
Objective summary
Objective review
Objective 3.4: Secure a WCF service
Implementing message level security
Implementing transport level security
Implementing certificates
Objective summary
Objective review
Objective 3.5: Consume WCF services
Generating proxies using Svcutil.exe
Generating proxies by creating a service reference
Creating and implementing channel factories
Objective summary
Objective review
Objective 3.6: Version a WCF service
Versioning different types of contracts
Contract versioning
Strict versioning
Lax versioning
Configuring address, binding, and routing service versioning
Objective summary
Objective review
Objective 3.7: Create and configure a WCF service on Windows Azure
Creating and configuring bindings for WCF services
Relaying bindings to Azure using service bus endpoints
Integrating with the Azure service bus relay
Objective summary
Objective review
Objective 3.8: Implement messaging patterns
Implementing one-way, request/reply, streaming, and duplex communication
Streaming and duplex
Request/reply
Duplex
Implementing Windows Azure service bus and Windows Azure queues
Objective summary
Objective review
Objective 3.9: Host and manage services
Managing services concurrency
Single
Multiple
Reentrant
Choosing an instancing mode
Single
PerSession
PerCall
Creating service hosts
Self-hosting
Managed Windows Services
Internet Information Services (IIS)
Windows Activation Service (WAS)
Windows Azure-based hosting
ServiceHost class
Choosing a hosting mechanism
Creating transactional services
NotAllowed
Allowed
Mandatory
Hosting services in a Windows Azure worker role
Objective summary
Objective review
Chapter summary
Answers
Objective 3.1: Thought experiment
Objective 3.1: Review
Objective 3.2: Thought experiment
Objective 3.2: Review
Objective 3.3: Thought experiment
Objective 3.3: Review
Objective 3.4: Thought experiment
Objective 3.4: Review
Objective 3.5: Thought experiment
Objective 3.5: Review
Objective 3.6: Thought experiment
Objective 3.6: Review
Objective 3.7: Thought experiment
Objective 3.7: Review
Objective 3.8: Thought experiment
Objective 3.8: Review
Objective 3.9: Thought experiment
Objective 3.9: Review
4. Creating and consuming Web API-based services
Objective 4.1: Design a Web API
Choosing appropriate HTTP methods
HttpGet
HttpDelete
HttpPost
HttpPut
Defining HTTP resources with HTTP actions
Creating the model
Creating the controller
Browser functionality and support
Mapping URI space using routing
System.Web.Http.AcceptVerbsAttribute
ActionNameAttribute
NonActions
Choosing appropriate formats for responses to meet requirements
Planning when to make HTTP actions asynchronous
Objective summary
Objective review
Objective 4.2: Implement a Web API
Accepting data in JSON format
Building a Razor page
Adding client-side functionality
Using content negotiation to deliver different data formats
Defining actions and parameters to handle data binding
Using HttpMessageHandler to process client requests and server responses
Implementing dependency injection
Implementing action filters and exception filters
Implementing asynchronous and synchronous actions
Implementing streaming actions
Objective summary
Objective review
Objective 4.3: Secure a Web API
Authenticating and authorizing users
Authentication
Authorization
Implementing HttpBasic authentication
Server-side processing
Client-side processing
Enabling SSL
Implementing Windows Authentication
Server-side processing
Client-side processing
Preventing cross-site request forgery
What is XSRF?
When are you vulnerable?
How to protect from XSRF
Enabling cross-domain requests
Implementing and extending authorization filters
Objective summary
Objective review
Objective 4.4: Host and manage a Web API
Self-hosting a Web API
Installing Web API self-hosting
Creating your Web API hosting server
Hosting Web API in an ASP.NET app
Hosting services in a Windows Azure worker role
Restricting message size
Configuring the host server for streaming
Objective summary
Objective review
Objective 4.5: Consume Web API web services
Consuming Web API services
HttpGet via GetAsync
HttpPost via PostAsync and PostAsJsonAsync
HttpPut via PutAsync and PutAsJsonAsync
HttpDelete via DeleteAsync
Exception handling
Sending and receiving requests in different formats
Objective summary
Objective review
Chapter summary
Answers
Objective 4.1: Thought experiment
Objective 4.1: Review
Objective 4.2: Thought experiment
Objective 4.2: Review
Objective 4.3: Thought experiment
Objective 4.3: Review
Objective 4.4: Thought experiment
Objective 4.4: Review
Objective 4.5: Thought experiment
Objective 4.5: Review
5. Deploying web applications and services
Objective 5.1: Design a deployment strategy
Deploying a web application by using XCopy
Configuring IIS
Preparing a website for deployment
Tooling support for XCopy deployments
Creating an IIS install package
Automating a deployment from TFS or Build Server
Deploying to web farms
Objective summary
Objective review
Objective 5.2: Choose a deployment strategy for a Windows Azure web application
Performing an in-place upgrade and VIP Swap
Configuring an upgrade domain
Upgrading through a VIP Swap
Creating and configuring input and internal endpoints
Specifying operating system configuration
Objective summary
Objective review
Objective 5.3: Configure a web application for deployment
Switching from production/release mode to debug
Transforming web.config by XSLT
Using SetParameters to set up an IIS app pool
Configuring Windows Azure configuration settings
Objective summary
Objective review
Objective 5.4: Manage packages by using NuGet
Installing and updating an existing NuGet package
Using the Manage NuGet Packages window
Package Manager Console
Sharing packages with your team
Creating and configuring a NuGet package
Understanding the content of a package
Creating your own NuGet package
Setting up your own package repository
Objective summary
Objective review
Objective 5.5: Create, configure, and publish a web package
Creating an IIS InstallPackage
Visual Studio
IIS
Command-line tools
Configuring the build process to output a web package
Applying pre- and post-condition actions
Objective summary
Objective review
Objective 5.6: Share assemblies between multiple applications and servers
Preparing the environment for use of assemblies across multiple servers
Signing assemblies by using a strong name
Deploying assemblies to the global assembly cache
Implementing assembly versioning
Creating an assembly manifest
Objective summary
Objective review
Chapter summary
Answers
Objective 5.1: Thought experiment
Objective 5.1: Review
Objective 5.2: Thought experiment
Objective 5.2: Review
Objective 5.3: Thought experiment
Objective 5.3: Review
Objective 5.4: Thought experiment
Objective 5.4: Review
Objective 5.5: Thought experiment
Objective 5.5: Review
Objective 5.6: Thought experiment
Objective 5.6: Review
A. About the authors
Index
About the Authors
Copyright
← Prev
Back
Next →
← Prev
Back
Next →