Description
This is my own preparation guide for MCSD – Exam 70-487 – Developing Windows Azure and Web Services. I have compiled materials and guides from other people such as Chris Myers and Tobias Nilsson (their websites are on bottom of this document)and also googled the content of the exam and organized it by the topics of the exam that are in Microsoft learning website.
I’m sharing this document because it can be useful for someone else.
Any Tips or Feedbacks are welcome.
If you haven’t taken the MCSD – Exam 70-486: Developing ASP.NET MVC 4 Web Applications exam yet, check out My 70-486 Guide .
Summary
Choose data access technologies
Implement data storage in Windows Azure
Create and implement a WCF Data Services service
Manipulate XML data structures
Querying and Manipulating Data by Using the Entity Framework (20%)
Query and manipulate data by using the Entity Framework.
Query and manipulate data by using Data Provider for Entity Framework
Query data by using LINQ to Entities.
Query and manipulate data by using ADO.NET
Create an Entity Framework data model.
Designing and Implementing WCF Services (19%)
Servicecontract and mainly properties
Operation Contract and mainly properties*
Configure WCF services by using configuration settings
Configure WCF services by using the API
Create and configure a WCF service on Windows Azure
Creating and Consuming Web API-based services (18%)
Deploying Web Applications and Services (19%)
Choose a deployment strategy for a Windows Azure web application
Configure a web application for deployment
Manage packages by using NuGet
Create, configure, and publish a web package
Share assemblies between multiple applications and servers
Document Created By Victor Hugo do V C Mello
Skills Being Measured
Accessing Data (24%)
● Choose data access technologies
- This objective may include but is not limited to: Choose a technology (ADO.NET, Entity Framework, WCF Data Services) based on application requirements
- WCF Data Services, WCF Data Services Overview, and WCF Data Services | Getting Started (covers “WCF Data Services” overview)
- Introducing Entity Framework, Entity Framework Overview, & Entity Framework | Get Started (covers “Entity Framework” overview)
- NET Overview (covers “ADO.NET” overview)
● Implement caching
- This objective may include but is not limited to: Cache static data, apply cache policy (including expirations); Use CacheDependency to refresh cache data; query notifications
- SqlCacheDependency Class (covers “Use CacheDependency to refresh cache data”, “Cache static data, apply cache policy (including expirations)” sections)
- SqlCacheDependencyAdmin Class (covers “query notifications” section)
● Implement transactions
- 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
- Transactions (covers “manage transactions by using the API from System.Transactions namespace” section)
- Distributed Transactions and TransactionScope Class (covers “implement distributed transactions” sections)
- IsolationLevel Property and IsolationLevel Enumeration (covers “specify transaction isolation level” section)
- Transactions namespace (http://msdn.microsoft.com/en-us/library/system.transactions.aspx)
● Implement data storage in Windows Azure
○ Study Resource
- When to use blob, tables, queues, sql db (see Data management section on http://pluralsight.com/training/Courses/TableOfContents/azure-bigpicture)
- Azure caching (http://pluralsight.com/training/courses/TableOfContents?courseName=azure-caching)
- XPath and LINQ to XML (LINQ to XML section on http://pluralsight.com/training/courses/TableOfContents?courseName=linq-data-access)
- This objective may include but is not limited to: access data storage in Windows Azure; Choose data storage mechanism in Windows Azure (blobs, tables, queues, SQL Database); Distribute data by using the Content delivery network (CDN); Handle exceptions by using retries (SQL Database); manage Windows Azure Caching
- Data Storage Offerings on the Windows Azure Platform (covers “Choose data storage mechanism in Windows Azure (blobs, tables, queues, SQL Database)” section)
- Blobs, Queues, and Tables (covers “access data storage in Windows Azure” section)
- Using Windows Azure CDN – .NET – Develop (covers “Distribute data by using the Content delivery network (CDN)” section)
- Caching in Windows Azure (covers “manage Windows Azure Caching” section)
- Retry Logic for Transient Failures in Windows Azure SQL Database and SQL Azure Retry Logic sample in C# for Visual Studio 2010 (covers “Handle exceptions by using retries (SQL Database)” section)
- Azure CDN (http://www.windowsazure.com/en-us/develop/net/common-tasks/cdn/?redirectToLocale=false and http://www.windowsazure.com/en-us/develop/net/fundamentals/intro-to-windows-azure/#caching)
- Blob (PT-BR)
- Tables (PT-BR)
● Create and implement a WCF Data Services service
- This objective may include but is not limited to: Address resources; implement filtering; create a query expression; access payload formats (including JSON); use data service interceptors and service operators
- WCF Data Services (overview)
- Building an OData Service (Part I) (covers “Address resources”, “implement filtering” sections)
- Consuming OData using .NET (covers “create a query expression” section)
- Consuming OData using jQuery (covers “access payload formats (including JSON) ” section)
- Filters Examples
Retrieve All Customers
http://localhost:65363/NorthwindService.svc/Customers
Retrieve All Products
http://localhost:65363/NorthwindService.svc/Products
Retrieve the Customer Whose CustomerID (primary key) is WOLZA
http://localhost:65363/NorthwindService.svc/Customers(‘WOLZA’)
Retrieve the Products Whose ProductID (primary key) is 10
http://localhost:65363/NorthwindService.svc/Products(10)
Retrieve the CompanyName from the Customer Whose CustomerID (primary key) is QUICK
http://localhost:57087/NorthwindService.svc/Customers(‘QUICK’)/CompanyName
Retrieve the Orders (navigation property) for the Customer Whose CustomerID (primary key) is QUICK
http://localhost:57087/NorthwindService.svc/Customers(‘QUICK’)/Orders
Retrieve the Supplier’s CompanyName from the Supplier (navigation property) of Product 1 (primary key)
http://localhost:57087/NorthwindService.svc/Products(1)/Supplier/CompanyName
Retrieve the Count of Orders for the Customer Whose CustomerID (primary key) is QUICK
http://localhost:57087/NorthwindService.svc/Customers(‘QUICK’)/Orders/$count
Retrieve the CompanyName Value from the Customer Whose CustomerID (primary key) is QUICK
http://localhost:57087/NorthwindService.svc/Customers(‘QUICK’)/CompanyName/$value
Retrieve the ProductID, ProductName, and UnitPrice for the Product Whose ProductID is 1(primary key)
http://localhost:57087/NorthwindService.svc/Products(1)?$select=ProductID,ProductName,UnitPrice
Retrieve the CustomerID and CompanyName for all Customers
http://localhost:57087/NorthwindService.svc/Customers?$select=CustomerID,CompanyName
Retrieve Customers Ordered By ContactName
http://localhost:57087/NorthwindService.svc/Customers?$orderby=ContactName
Retrieve Employees Ordered By LastName, FirstName
http://localhost:57087/NorthwindService.svc/Employees?$orderby=LastName,FirstName
Retrieve Products Ordered By UnitPrice Descending
http://localhost:57087/NorthwindService.svc/Products?$orderby=UnitPrice desc
Retrieve First 3 Customers
http://localhost:57087/NorthwindService.svc/Customers?$top=3
Retrieve Top 3 of Highest Priced Products
http://localhost:57087/NorthwindService.svc/Products?$orderby=UnitPrice desc&$top=3
Retrieve 3 Customers after Skipping 18 Customers
http://localhost:57087/NorthwindService.svc/Customers?$orderby=CustomerID&$skip=18&$top=3
Retrieve Products Whose Unit Price Is Greater than 10
http://localhost:65363/NorthwindService.svc/Products?$filter=UnitPrice gt 10
Retrieve Orders Where the CustomerID Equals ALFKI
http://localhost:65363/NorthwindService.svc/Orders?$filter=CustomerID eq ‘ALFKI’
Retrieve Products Whose UnitsInStock Is Less than or Equal to 2
http://localhost:65363/NorthwindService.svc/Products?$filter=UnitsInStock le 2
Retrieve Discontinued Product Whose UnitPrice Is Greater than or Equal to 50
http://localhost:65363/NorthwindService.svc/Products?$filter=Discontinued eq true and UnitPrice ge 50
Retrieve Products Whose ProductName Starts with C
http://localhost:65363/NorthwindService.svc/Products?$filter=startswith(ProductName,’C’)
Retrieve Customers Whose CompanyName Contains restaurant
http://localhost:65363/NorthwindService.svc/Customers?$filter=substringof(‘restaurant’,CompanyName)
Retrieve Orders Placed in 1998
http://localhost:65363/NorthwindService.svc/Orders?$filter=year(OrderDate) eq 1998
Retrieve Orders Placed in February of 1998
http://localhost:65363/NorthwindService.svc/Orders?$filter=year(OrderDate) eq 1998 and month(OrderDate) eq 2
Retrieve Products Whose UnitPrice Floor Is 19
http://localhost:65363/NorthwindService.svc/Products?$filter=floor(UnitPrice) eq 19
Retrieve Products Whose UnitPrice Rounds to 29
http://localhost:65363/NorthwindService.svc/Products?$filter=round(UnitPrice) eq 29
Retrieve Products Whose UnitPrice Ends with .5
http://localhost:65363/NorthwindService.svc/Products?$filter=UnitPrice sub floor(UnitPrice) eq 0.5
Retrieve the Customer Whose CustomerID Is QUICK and the Orders for QUICK
http://localhost:57087/NorthwindService.svc/Customers(‘QUICK’)?$expand=Orders
Retrieve the Customer Whose CustomerID Is ALFKI and the Orders and Order_Details for ALFKI
http://localhost:57087/NorthwindService.svc/Customers(‘ALFKI’)?$expand=Orders/Order_Details
● Manipulate XML data structures
- This objective may include but is not limited to: Read, filter, create, modify XML data structures; Manipulate XML data by using XMLReader, XMLWriter, XMLDocument, XPath, LINQ to XML; transform XML by using XSLT transformations
- XmlNode Class (System.Xml) and XmlDocument Class (covers “Read, filter, create, modify XML data structures” section)
- XmlWriter Class (System.Xml), XmlReader Class (System.Xml), XmlDocument Class, XmlNode Class (System.Xml), and XPathNavigator Class (System.Xml.XPath) (covers “Manipulate XML data by using XMLReader, XMLWriter, XMLDocument, XPath” section)
- LINQ to XML (covers “LINQ to XML” section)
- Introduction to XML and XSLT in C#.Net – CodeProject (covers “transform XML by using XSLT transformations” section)
- XMLReader (http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx)
- XMLWriter (http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.aspx
- XMLDocument (http://msdn.microsoft.com/en-us/library/system.xml.xmldocument)
- XSLT (http://msdn.microsoft.com/en-us/library/126k9kx5.aspx and http://msdn.microsoft.com/en-us/library/14689742.aspx)
- http://www.codeproject.com/Articles/9494/Manipulate-XML-data-with-XPath-and-XmlDocument-C
- .NET Language-Integrated Query for XML Data
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, update, and delete data by using DbContext; build a query that uses deferred execution; implement lazy loading and eager loading; create and run compiled queries; query data by using Entity SQL
- LINQ and Deferred Execution (covers “build a query that uses deferred execution” and “query data by using Entity SQL” sections)
- Lazy Loading,Eager Loading,Explicit Loading in Entity Framework (covers “build a query that uses deferred execution” and “implement lazy loading and eager loading” sections)
- Deferred execution (http://msdn.microsoft.com/en-us/library/bb738633.aspx)
- Lazy loading and eager loading, IQueryable vs. IEnumerable (http://channel9.msdn.com/blogs/matthijs/linq-tips-tricks-and-optimizations-by-scott-allen)
- Loading Related Entities
● Query and manipulate data by using Data Provider for Entity Framework
- This objective may include but is not limited to: Query and manipulate data by using Connection, DataReader, Command from the System.Data.EntityClient namespace; perform synchronous and asynchronous operations; manage transactions (API)
- Data.EntityClient Namespace (covers “Query and manipulate data by using Connection, DataReader, Command from the System.Data.EntityClient namespace” section)
- Async in Entity Framework 6.0 (covers “perform synchronous and asynchronous operations” section)
- How to use Transaction in Entity FrameWork?, Entity Framework FAQ: Connections and Transactions, and SaveChanges Method (covers “manage transactions (API)” section)
● Query data by using LINQ to Entities.
- This objective may include but is not limited to: query data by using LINQ operators (for example, project, skip, aggregate, filter, and join); log queries; implement query boundaries (IQueryable vs. IEnumerable)
- 101 LINQ Samples in C# (covers “query data by using LINQ operators (for example, project, skip, aggregate, filter, and join)” section)
- IQUERYABLE<T> VS. IENUMERABLE<T> IN LINQ TO SQL QUERIES (covers “implement query boundaries (IQueryable vs. IEnumerable)” section)
- Query using linq to entities (http://msdn.microsoft.com/en-us/data/jj573936 and http://pluralsight.com/training/Courses/TableOfContents/querying-entity-framework)
● Query and manipulate data by using ADO.NET
- This objective may include but is not limited to: Query and manipulate data by using Connection, DataReader, Command, DataAdapter, DataSet; Perform synchronous and asynchronous operations; Manage transactions (API)
- Data.SqlClient Namespace (covers “Query and manipulate data by using Connection, DataReader, Command, DataAdapter, DataSet” section)
- Async in Entity Framework 6.0 (duplicate reference from above) (covers “perform synchronous and asynchronous operations” section)
- How to use Transaction in Entity FrameWork?, Entity Framework FAQ: Connections and Transactions, and SaveChanges Method (duplicate reference from above) (covers “manage transactions (API)” section)
- Query using ado.net, Connection, DataReader, Command, DataAdapter, DataSet (http://msdn.microsoft.com/en-us/library/8t72t3k4.aspx)
● Create an Entity Framework data model.
- This objective may include but is not limited to: Structure the data model using Table per type, table per class, table per hierarchy; Choose and implement an approach to manage a data model (code first vs. model first vs. database first); implement POCO objects; Describe a data model by using conceptual schema definitions, storage schema definition, and mapping language (CSDL, SSDL, MSL)
- General (http://msdn.microsoft.com/en-us/data/ee712907 )
- Whats new: http://msdn.microsoft.com/en-us/library/ex6y04yf.aspx )
- EF 5
Designing and Implementing WCF Services (19%)
● Study resource
- Introducing-wcf – Pluralsight
- WCF Extensibility – Pluralsight
● WCF Links resource
- http://www.israelaece.com/post/Conteudo-de-WCF-para-estudo.aspx
- http://www.israelaece.com/post/WCF-Videos.aspx
- Introducing Windows Communication Foundation in .NET Framework 4
- Windows Communication Foundation: Application Deployment Scenarios
- Getting Started Tutorial
- http://www.jamesjfoster.com/blog/2010/resource-links-for-70-513-wcf-certification-exam
- http://www.pedrofernandes.net/2012/01/13/material-para-o-exame-wcf-70-513
- Guidelines and Best Practices
- Windows Communication Foundation (WCF) Samples
- Administration and Diagnostics
- http://www.dasblonde.net/2007/06/24/WCFWebcastSeries.aspx
● Create a WCF service
- This objective may include but is not limited to: Create contracts (service, data, message, callback, and fault); implement message inspectors; implement asynchronous operations in the service
- What´s new: http://msdn.microsoft.com/en-us/library/dd456789.aspx
- General (http://msdn.microsoft.com/en-us/library/bb412204.aspx , http://pluralsight.com/training/courses/TableOfContents?courseName=wcf-extensibility )
- Create a service (http://msdn.microsoft.com/en-us/library/bb412178.aspx and http://msdn.microsoft.com/en-us/library/bb924552.aspx and http://msdn.microsoft.com/en-us/library/cc681221.aspx and http://msdn.microsoft.com/en-us/library/cc656724.aspx )
- Understand contracts (http://msdn.microsoft.com/en-us/library/bb412196.aspx)
- Synchronous and asynchronous operations (http://msdn.microsoft.com/en-us/library/ms731177.aspx , http://blog.vuscode.com/malovicn/archive/2012/01/21/what-is-new-in-wcf-in-net-4-5-taskt-and-async.aspx)
- WCF-Introducao(Portuguese)
○ Servicecontract and mainly properties
○ Operation Contract and mainly properties
Examples
- Contract
- Service Implementation
● Configure WCF services by using configuration settings
- 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)
- Configuration (endpoints, bindings) by API and config files
- Expose service metadata (XSD, WSDL, exchange)
● Configure WCF services by using the API
- 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); WCF routing and discovery features
- Configuration (endpoints, bindings) by API and config files
- Expose service metadata (XSD, WSDL, exchange)
- Routing and discovery
- How to: Programmatically Add Discoverability to a WCF Service and Client
- Address resources; implement filtering; create a query expression; access payload formats (including JSON); use data service interceptors and service operators
- Security (http://pluralsight.com/training/Courses/TableOfContents/iac-wcf)
● Secure a WCF service
- This objective may include but is not limited to: Implement message level security, implement transport level security; implement certificates
- Segurança Overview (Portuguese)
● Consume WCF services
- This objective may include but is not limited to: Generate proxies by using SvcUtil; generate proxies by creating a service reference; create and implement channel factories
- Roteamento de Mensagens(portuguese)
● Version a WCF service
- This objective may include but is not limited to: Version different types of contracts (message, service, data); configure address, binding, and routing service versioning
- Versioning (http://msdn.microsoft.com/en-us/library/ms731138.aspx)
● Create and configure a WCF service on Windows Azure
- This objective may include but is not limited to: Create and configure bindings for WCF services (Azure SDK– extensions to WCF); Relay bindings to Azure using service bus endpoints; integrate with the Azure service bus relay
- Create on Azure (.net4: http://www.dotnetcurry.com/ShowArticle.aspx?ID=819)
● Implement messaging patterns
- This objective may include but is not limited to: Implement one way, request/reply, streaming, and duplex communication; implement Windows Azure Service Bus and Windows Azure Queues
- Messaging patterns (one-way, request/reply, streaming, duplex) (http://msdn.microsoft.com/en-us/library/ms733070.aspx )
- Azure messaging patterns (azure service bus, azure queues) (http://pluralsight.com/training/courses/TableOfContents?courseName=azure-sb )
- Tipos de Mensagens (Portuguese)
● Host and manage services
- This objective may include but is not limited to: Manage services concurrency (single, multiple, reentrant); Create service hosts; Choose a hosting mechanism; choose an instancing mode (per call, per session, singleton); activate and manage a service by using AppFabric; implement transactional services; host services in an Windows Azure worker role
- Hosting (http://msdn.microsoft.com/en-us/library/ms730158.aspx )
- Manage services concurrency (single, multiple, reentrant) (http://msdn.microsoft.com/en-us/library/ms752260.aspx )
- Instancing mode (per call, per session, singleton) (http://msdn.microsoft.com/en-us/library/ms752230.aspx )
- Transaction (http://msdn.microsoft.com/en-us/library/ms751413.aspx )
- Using AppFabric (appfabric section on http://pluralsight.com/training/courses/TableOfContents?courseName=beginner-azure )
- Host in Azure worker role (.net 4: http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_windowsazurerolecommunicationvs2010lab.aspx )
- Hosting(Portuguese)
- Gerenciamento de Instâncias(Portuguese)
- Sincronização(Portuguese)
Creating and Consuming Web API-based services (18%)
● Study Resource
- Introduction to ASP.NET Web-API (PluralSight Video)
- http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api
● Design a Web API
- 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
- http://www.developer.com/net/asp/introduction-to-asp.net-web-api.html
● Implement a Web API
- This objective may include but is not limited to: accept data in JSON format (in JavaScript, in an AJAX callback); use content negotiation to deliver different data formats to clients; define actions and parameters to handle data binding; use HttpMessageHandler to process client requests and server responses; implement dependency injection, along with the dependency resolver, to create more flexible applications; implement action filters and exception filters to manage controller execution; implement asynchronous and synchronous actions; implement streaming actions
- Content negotiation and response types
- HttpMessageHandler
- Dependency injection with dependency resolver
- Action and exception filters
● Secure a Web API
- This objective may include but is not limited to: implement HTTPBasic authentication over SSL; implement Windows Auth; enable cross-domain requests; prevent cross-site request forgery (XSRF); implement, and extend, authorization filters to control access to the application
- Basic Authentication with Asp.Net WebAPI and Implementing [RequireHttps] with ASP.NET Web API (covers “implement HTTPBasic authentication over SSL” section)
- AuthorizeAttribute Class (covers “implement Windows Auth” section)
- cs (covers “enable cross-domain requests” section)
- Coding Horror: Cross-Site Request Forgeries and You (covers “prevent cross-site request forgery (XSRF) ” section)
- Custom Action Filter in ASP.Net MVC application (covers “implement, and extend, authorization filters to control access to the application” section)
- Security (XSRF, filters)
● Host and manage Web API
- This objective may include but is not limited to: host Web API in an ASP.NET app; self-host a Web API in your own process (a Windows service); host services in a Windows Azure worker role; restricting message size; configure the host server for streaming
- Host as windows service (http://www.asp.net/web-api/overview/hosting-aspnet-web-api and http://www.piotrwalat.net/hosting-web-api-in-windows-service/ )
- Host in Azure as worker role
- Restrict message size
● Consume Web API web services
- This objective may include but is not limited to: consume Web API services by using HttpClient synchronously and asynchronously; send and receive requests in different formats (JSON/HTML/etc.)
- Asynchronity and streaming
- Consuming an ASP.NET Web API Using HttpClient
- List of ASP.NET Web API and HttpClient Samples
Deploying Web Applications and Services (19%)
● Design a deployment strategy
- This objective may include but is not limited to: Create an IIS install package; deploy to web farms; deploy a web application by using XCopy; automate a deployment from TFS or Build Server
- Strategies (automated build from TFS, XCopy, IIS install package, VIP swap, sets of configs) (Basics and Source control sections in http://pluralsight.com/training/Courses/TableOfContents/azure-websites)
● Choose a deployment strategy for a Windows Azure web application
- This objective may include but is not limited to: Perform an in-place upgrade and VIP swap; configure an upgrade domain; create and configure input and internal endpoints; specify operating system configuration
● 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, set permissions and passwords); configure WCF endpoints, bindings, and behaviors; transform web.config by using XSLT (for example, across development, test, and production/release environments); configure Azure configuration settings
- config transformations
● Manage packages by using NuGet
- This objective may include but is not limited to: Create and configure a NuGet package; install and update an existing NuGet package; connect to a local repository cache for NuGet, set up your own package repository
- NuGet (http://gregorsuttie.com/2011/01/03/using-a-nuget-local-repository/)
● Create, configure, and publish a web package
- This objective may include but is not limited to: Create an IIS InstallPackage; configure the build process to output a web package; apply pre- and post- condition actions to ensure that transformations are correctly applied; include appropriate assets (web content, certificates)
- SetParameters to setup IIS app pool
● 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); sign assemblies by using a strong name; deploy assemblies to the global assembly cache; implement assembly versioning; create an assembly manifest; configure assembly binding redirects (for example, from MVC2 to MVC3)
- Strong naming
- Assembly versioning (http://msdn.microsoft.com/en-us/library/51ket42z.aspx )
- Assembly binding redirects (http://msdn.microsoft.com/en-us/library/433ysdt1.aspx )
- Deploy to GAC (http://msdn.microsoft.com/en-us/library/yf1d93sz.aspx )
Other Sites
- http://www.microsoft.com/learning/en/us/exam.aspx?id=70-487
- http://alertcoding.wordpress.com/2013/01/09/microsoft-exam-70-487-study-guide/
- http://www.bloggedbychris.com/2013/01/09/microsoft-exam-70-487-study-guide/
- http://www.bloggedbychris.com/2013/01/24/microsoft-exam-70-487-study-notes/
- http://www.bloggedbychris.com/2013/01/09/awesome-free-online-learning-microsoft-products/
- code samples available Azure
- Microsoft Virtual Academy – Introduction to Windows Azure
PDFS/Ebooks
- Programming.WCF.Services.3rd.Edition.Aug.2010
- Press.Windows.Communication.Foundation.4.Step.by.Step.Nov.2010.pdf
Document Created By Victor Hugo do V C Mello