After taking 70-486 - Developing ASP.NET MVC 4 Web Applications couple of weeks ago, I decided to take the final exam 70-487 - Developing Windows Azure and Web Services last week to finish my MCSD certification.
Following are the set of notes I used along with MCT material which may help those preparing for the exam. The topic-by-topic breakdown is courtesy of a colleague and friend Frank Liao.
Accessing Data (24%)
-
Choose data access technologies
-
Implement transactions [link] [link link link link link link]
-
This objective may include but is not limited to: manage transactions by using the API from System.Transactions namespace; implement distributed transactions; specify transaction isolation level [link]
-
-
Implement data storage in Windows Azure [link link link link link link]
-
This objective may include but is not limited to: access data storage in Windows Azure; Choose data storage mechanism in Windows Azure (blobs [link], tables [link], queues [link], SQL Database [link link]); Distribute data by using the Content delivery network (CDN) [link]; Handle exceptions by using retries (SQL Database) [link]; manage Windows Azure Caching [link link]
-
-
Create and implement a WCF Data Services service [link]
-
Manipulate XML data structures [link link link link link link link]
Querying and Manipulating Data by Using the Entity Framework (20%)
-
Query and manipulate data by using the Entity Framework.
-
This objective may include but is not limited to: Query [link], update, and delete data by using DbContext [link]; build a query that uses deferred execution [link]; implement lazy loading and eager loading [link link link]; create and run compiled queries [link link]; query data by using Entity SQL [link]
-
-
Query and manipulate data by using Data Provider for Entity Framework [link]
-
Query data by using LINQ to Entities. [link]
-
Query and manipulate data by using ADO.NET [link]
-
Create an Entity Framework data model. [link link]
-
This objective may include but is not limited to: Structure the data model using Table per type [link link], table per class, table per hierarchy [link link]; Choose and implement an approach to manage a data model (code first [link link] vs. model first [link] vs. database first [link]); implement POCO objects [link link link]; Describe a data model by using conceptual schema definitions, storage schema definition, and mapping language (CSDL, SSDL, MSL) [link link]
-
Designing and Implementing WCF Services (19%)
-
Create a WCF service
-
Configure WCF services by using configuration settings [link link link]
-
This objective may include but is not limited to: Configure service behaviors; Configure service endpoints; configure binding; specify a service contract; expose service metadata (XSDs, WSDL, and metadata exchange endpoint)
-
-
Secure a WCF service
-
Consume WCF services
-
Version a WCF service [link link link link]
-
This objective may include but is not limited to: Version different types of contracts (message, service, data); configure address, binding, and routing [link] service versioning
-
-
Create and configure a WCF service on Windows Azure [link link link link link link]
-
Host and manage services
-
This objective may include but is not limited to: Manage services concurrency (single, multiple, reentrant) [link link link]; Create service hosts; Choose a hosting mechanism [link link]; choose an instancing mode (per call, per session, singleton) [link link]; activate and manage a service by using AppFabric [link link link]; implement transactional services [link link]; host services in an Windows Azure worker role [link]
-
Creating and Consuming Web API-based services (18%) [link]
-
Design a Web API [link link link link link]
-
This objective may include but is not limited to: define HTTP resources with HTTP actions; plan appropriate URI space, and map URI space using routing; choose appropriate HTTP method (get, put, post, delete) to meet requirements; choose appropriate format (Web API formats) for responses to meet requirements; plan when to make HTTP actions asynchronous
-
-
Implement a Web API [link link]
-
This objective may include but is not limited to: accept data in JSON format (in JavaScript, in an AJAX callback) [link]; use content negotiation to deliver different data formats to clients [link]; define actions and parameters to handle data binding [link]; use HttpMessageHandler to process client requests and server responses [link]; implement dependency injection, along with the dependency resolver, to create more flexible applications [link]; implement action filters and exception filters to manage controller execution [link]; implement asynchronous and synchronous actions; implement streaming actions
-
-
Secure a Web API [link]
-
Host and manage Web API [link]
-
This objective may include but is not limited to: host Web API in an ASP.NET app [link link]; self-host a Web API in your own process (a Windows service) [link link]; host services in a Windows Azure worker role [link link]; restricting message size [link]; configure the host server for streaming [link]
-
-
Consume Web API web services
Deploying Web Applications and Services (19%)
-
Design a deployment strategy
-
Choose a deployment strategy for a Windows Azure web application
-
Configure a web application for deployment
-
This objective may include but is not limited to: switch from production/release mode to debug mode; use SetParameters to set up an IIS app pool [link link], set permissions and passwords) [link]; configure WCF endpoints, bindings, and behaviors [link link link link link]; transform web.config by using XSLT (for example, across development, test, and production/release environments) [link link]; configure Azure configuration settings [link]
-
-
Create, configure, and publish a web package [link]
-
This objective may include but is not limited to: Create an IIS InstallPackage [link]; configure the build process to output a web package [link]; apply pre- and post- condition actions to ensure that transformations are correctly applied [link]; include appropriate assets (web content, certificates) [link]
-
-
Share assemblies between multiple applications and servers
-
This objective may include but is not limited to: Prepare the environment for use of assemblies across multiple servers (interning) [link]; sign assemblies by using a strong name [link]; deploy assemblies to the global assembly cache [link link]; implement assembly versioning [link]; create an assembly manifest [link]; configure assembly binding redirects (for example, from MVC2 to MVC3 [link]
-