70-487 Exam Guide: Status, Skills, and a Practical Legacy Study Plan
Exam 70-487, Developing Microsoft Azure and Web Services, was designed to validate professional developers’ ability to build web solutions with Visual Studio and the Microsoft .NET Framework, particularly where applications use data and services. It serves experienced ASP.NET MVC-era developers reviewing a legacy platform, not candidates seeking a currently schedulable Microsoft credential. This guide helps you decide whether to use the blueprint for skills maintenance, portfolio work, or a move to a current role-based path.
Make the scheduling decision first
70-487 is retired and cannot be scheduled or used to earn its associated credential. Microsoft stated that all remaining exams associated with the MCSA, MCSD, and MCSE programs, including 70-487, retired on January 31, 2021. Microsoft’s retirement policy also states that candidates cannot take a retired exam or earn its associated certification or credential after retirement.
That answer changes the right preparation decision. Do not purchase a voucher, construct a deadline-driven exam plan, or rely on a site that presents 70-487 as an available certification exam. There is no official basis in the supplied sources for current registration, delivery format, price, exam duration, language availability, question count, passing score, or appointment process. Treat claims about those details with caution unless they come from a current Microsoft exam page.
The older material can still have practical value. Microsoft noted that training content for retired exam areas may remain available after exams retire. A developer supporting an established .NET application can use the blueprint as a structured inventory of legacy data-access and service-development skills. That is very different from preparing for a live credential attempt.
If you already earned a related retired certification, Microsoft says existing MCSA, MCSD, and MCSE certifications remain on the Microsoft transcript after the associated exams retire. The current retirement policy similarly says an already-earned certification remains on the transcript. Check your own Microsoft Learn profile rather than assuming that a past result is missing or no longer recordable.
Choose the goal that matches the status
Use a maintenance goal when your job involves an existing ASP.NET MVC, Entity Framework, WCF Data Services, or Azure-era data solution. Build and document a small working service or repair a realistic defect; that creates evidence of capability even though no 70-487 appointment is available.
Choose a current role-based certification goal when you need an active Microsoft credential. Microsoft’s retirement announcements describe the move from legacy MCSA, MCSD, and MCSE programs toward role-based certifications. Review current Microsoft Learn certification options directly and select one by current job role, not by an assumed one-to-one replacement from a legacy exam title.
What 70-487 was intended to validate
The official objective-domain document frames 70-487 around professional developers who use Visual Studio and the Microsoft .NET Framework to design and develop web solutions. Its emphasis was not just writing isolated data code; it covered applications that connect to data sources and services as part of a broader solution lifecycle.
Microsoft identified the exam as “Developing Microsoft Azure and Web Services.” The candidate description expects experience designing and developing web applications that access local and remote data and services, including Windows Azure, and experience across the full software development life cycle for data and service solutions.
Read that scope as a capability profile. A credible learner should be able to explain why a data-access approach fits a particular application, implement it, handle failure and consistency concerns, and verify the result. Listing framework names without being able to make those choices leaves a major gap.
The official document says candidates should have three to five years of experience developing ASP.NET MVC-based solutions. That was an expectation for the original exam audience, not a current enrollment prerequisite or a promise that fewer years of experience makes the material inaccessible. For a skills-refresh project, practical familiarity with an ASP.NET MVC-based codebase matters more than trying to reproduce historical exam preparation habits.
Who should study the legacy blueprint
This outline is most useful to a developer maintaining a mature .NET web application, preparing for a technical conversation about older Microsoft-stack software, or trying to understand architectural decisions in an inherited application. It can also help a team identify where a legacy codebase relies on technologies such as Entity Framework, ADO.NET, WCF Data Services, XML processing, or Azure data storage.
It is a weaker choice for someone whose sole aim is a new, verifiable certification. Because the exam is retired, redirect that effort toward current official role-based learning and certification information. Keep the 70-487 topics as background knowledge where they overlap with systems you actually support.
Focus study on data access and Entity Framework
The published blueprint gives two explicitly documented domains substantial weight: “Accessing Data” is assigned 20–25%, and “Querying and Manipulating Data by Using the Entity Framework” is assigned 20–25%. Together, those domains make data behavior a sensible first priority for a legacy skills plan.
The source lists ADO.NET, Entity Framework, WCF Data Services, and Azure DocumentDB/Cosmos DB among the data-access technologies in scope. It also identifies caching, transactions, Azure data storage, WCF Data Services, XML manipulation, and Entity Framework data operations. These are the supported topic boundaries available in the supplied objective document.
Do not convert the weights into a prediction about a retired exam’s questions, and do not infer percentages for domains not provided in the source. Use the published ranges only for allocating study time: start where the blueprint provides both a named domain and a range, then connect those topics in a working application.
Accessing Data: 20–25%
“Accessing Data” is assigned 20–25% in the published objective domain. For study, turn that title into decisions about how an application reaches local or remote data and services, how it manages data operations, and how it behaves when the surrounding infrastructure is imperfect.
A useful practice task is to take one small web feature and trace its entire path: request, validation, data access, response, and error handling. Build a short design note that identifies the data boundary, the service boundary, and the point at which an unavailable remote dependency should be handled. The point is to connect implementation details to operational behavior.
Include caching and transactions in this review because both are named in the objective domain. Do not treat them as isolated vocabulary. Ask what data can safely be cached, what must remain current, what logical operation needs transactional treatment, and what a failure halfway through the operation would mean for the user and the stored data.
Entity Framework queries and changes: 20–25%
“Querying and Manipulating Data by Using the Entity Framework” is assigned 20–25% in the published objective domain. A strong review therefore needs both retrieval and change operations, plus the ability to inspect the consequences of each approach in a real application.
Create a compact data model with relationships and write queries for a list view, a detail view, and a filtered result. Then implement create, update, and delete behavior. For every operation, record which inputs are accepted, how invalid values are handled, and how you confirm that the intended records changed. This makes the data operations visible rather than assumed.
A common mistake is to practice only the happy path. Add missing records, malformed input, an unavailable service, and an attempted update that no longer matches the user’s expectation. The supplied objectives do not define historical question formats, so scenario-based practice should be used to improve engineering judgment, not to imitate or reconstruct exam items.
Service and data integration topics
The objective document explicitly includes WCF Data Services, XML manipulation, Azure data storage, and Azure DocumentDB/Cosmos DB alongside data-access technologies. Use these items to map the integration points in a legacy application before deciding what to study deeply.
Start by identifying which technology appears in the system you maintain. If the application communicates through a service boundary, document the input, output, error cases, and ownership of that contract. If XML is present, locate where it enters or leaves the solution and test valid, incomplete, and unexpected structures. If cloud data storage is involved, trace how application code reaches it and how failures are surfaced.
Avoid a shallow tour of every named technology. For a maintenance-oriented plan, pick the technologies closest to your role and build a small evidence trail: source code, a setup note, test cases, and a record of design assumptions. Breadth is useful for reading a legacy system; hands-on depth is what makes the knowledge usable.
Build one integrated practice solution
A single small web solution is a better learning vehicle than disconnected notes because the 70-487 objectives join web development, data access, services, and lifecycle work. Keep the project deliberately narrow so that each technical choice can be explained and tested.
For example, build an internal request-tracking feature with an ASP.NET MVC-style web interface, a data layer, and a service-facing component. The particular business scenario is not important. It should contain related data, a read path, a change path, validation, error handling, and at least one reasoned decision about caching or transactional behavior.
The aim is not to recreate a historical Microsoft exam environment. The aim is to demonstrate that you can move from a requirement to a design, code it, test it, and explain the trade-offs. That aligns more closely with the candidate profile in the objective document than memorizing terms or chasing purported past questions.
Define acceptance checks before coding
Write observable acceptance checks before implementation. A request should be accepted only when required values are present; a query should return the intended records; an update should persist only the intended change; and a failed remote call should produce a controlled outcome appropriate to the application.
Add checks for data integrity as well as interface behavior. If an operation logically changes multiple related values, document the expected final state when it succeeds and the expected state when it does not. This is a practical way to study the objective’s transaction topic without assuming unsupported details about how it was assessed.
Keep a decision log with short entries: the data-access approach selected, the reason for it, any cache boundary, the service contract expectation, and the test that proves the feature works. The log becomes a focused revision resource and a useful artifact for a legacy-maintenance portfolio.
Review code as if you inherited it
Reviewing your own practice solution as an unfamiliar codebase reveals gaps that a feature-by-feature build can hide. Begin at a controller or endpoint, follow the calls into the data or service layer, then work backward from stored data to the user-facing response.
Look for unclear ownership, duplicated data logic, unexplained error handling, implicit assumptions about remote services, and untested update behavior. Where XML or a service contract is involved, check whether input expectations are explicit. Where Entity Framework operations are involved, make the intended read or change behavior easy to identify and test.
This review exercise is especially valuable for developers using the blueprint to support old systems. It practices the real task of understanding an application built over time, without making unsupported claims about the delivery or content of the retired exam.
Follow a practical study roadmap
Use a staged roadmap that produces working evidence at each step: first map the old blueprint, then build a narrow feature, then test and explain it. Because 70-487 is retired, set milestones around skill outcomes rather than a booking date.
The sequence below is a practical recommendation, not an official Microsoft course plan. Adjust it to the framework versions, service types, and data stores that exist in the application you need to maintain. If you are not maintaining a legacy system, use the roadmap only as a bridge while you identify a current official certification path.
Stage 1: establish the baseline
Read the objective-domain document and make a two-column inventory. In one column, list the supported topics: ADO.NET, Entity Framework, WCF Data Services, Azure data storage, Azure DocumentDB/Cosmos DB, caching, transactions, and XML manipulation. In the other, mark whether you can explain, implement, test, or maintain each topic.
Do not mark a topic complete because you recognize its name. Pick a small action that demonstrates it. For Entity Framework, write and verify a data operation. For XML manipulation, process a sample input and test an unexpected structure. For transactions or caching, document a scenario in which the choice affects correctness or behavior.
Finish the stage by choosing one gap that is both relevant to your work and feasible to demonstrate in the practice solution. This prevents the common mistake of gathering resources across every legacy technology without turning any of them into capability.
Stage 2: implement the data path
Build the data model and one complete read-and-change workflow before adding optional complexity. Start with the Entity Framework query and manipulation work because the published blueprint assigns 20–25% to “Querying and Manipulating Data by Using the Entity Framework.”
Then review the broader access boundary because “Accessing Data” is also assigned 20–25%. Compare the code that retrieves or changes data with the application requirement. Identify validation points, failure paths, and the point at which a remote dependency becomes visible to the web application.
At the end of this stage, demonstrate the feature from interface to stored result. If you cannot explain where data is read, where it is changed, and how failure is handled, reduce the feature’s scope and make those boundaries clear before adding services or cloud storage.
Stage 3: add an integration boundary
Add one deliberately small integration concern: a service interaction, XML processing task, or cloud-data-storage-related component that is relevant to your environment. The objective document names these areas, but it does not require you to fabricate a large distributed system to learn from them.
Write down the contract before code: what goes in, what comes back, what can fail, and which layer owns the response. Test a normal response and a failure response. Keep the behavior observable through logs, test results, or an explicit user-facing outcome suitable for the practice application.
This stage addresses another frequent pitfall: treating an external service as a reliable black box. A professional maintenance plan should account for the fact that local and remote data and services can behave differently, even when the user action looks simple.
Stage 4: test, explain, and redirect
Complete the project with a review pack: a short architecture description, a list of test cases, the data model, and explanations for any caching or transaction decision. Explain the project aloud without reading source code. If you cannot state why a component exists and what happens when it fails, revisit that area.
Separate useful legacy knowledge from a credential plan. Keep the project and notes for work or interviews involving an older .NET application. For a new certification, use Microsoft Learn to research a currently available role-based credential that reflects the role you want now.
Do not use unauthorized question banks, leaked content, or so-called dumps as a substitute for learning. They cannot make a retired exam available, and they do not show that you can maintain or improve a real data-and-service solution. A working project, targeted documentation, and current official certification research are more durable next steps.
Avoid decisions based on outdated exam listings
The biggest risk with 70-487 is confusing historical information with a live certification opportunity. The title, objectives, and old certification relationships are legitimate historical references, but the exam itself is no longer available.
Historical sources describe 70-487 as an elective connected with the former MCSD: App Builder path. That relationship should not be used to plan a new MCSD award: Microsoft states that retired exams cannot be taken and the associated credentials cannot be earned after retirement. Use it only to understand an older résumé entry, transcript record, or application history.
Likewise, do not assume that an old transition route is still available. Microsoft’s transition-exam announcement was time-limited and related to a previous program change. It is background on the evolution toward role-based certifications, not an actionable route for a new 70-487 candidate.
Questions the supplied evidence cannot answer
The available official research does not establish current delivery details for 70-487 because there are no current delivery details to plan around. It does not provide a current fee, appointment provider, duration, number of questions, score, languages, accommodation process, retake policy, or current training offering for this retired exam.
It also provides only two verified blueprint weight ranges. Do not rely on a third-party article that assigns exact weights to other domains unless it cites a trustworthy historical official objective document. For skill development, the named technologies and working-project approach are more useful than speculative weighting.
Next action: preserve the learning, update the credential plan
If 70-487 appears on your learning list, replace the exam booking task with a decision between legacy maintenance and current certification. That is the practical result of Microsoft’s retirement policy and the original objective-domain scope.
For legacy maintenance, download or retain the official objective-domain document, complete one integrated data-and-service exercise, and keep the resulting code and decision log. For a current credential goal, review current Microsoft Learn role-based certification options and choose based on the work you want to perform, not on an unavailable 70-487 appointment.
If you have already passed 70-487 or earned a related MCSA, MCSD, or MCSE credential, review your Microsoft Learn transcript. Microsoft says already-earned credentials remain on the transcript after the related exams retire. Record the historical credential accurately and pair it with recent projects or current learning so that your profile shows both prior experience and current direction.
Conclusion
70-487 remains a useful historical blueprint for reviewing ASP.NET MVC-era data access, Entity Framework operations, services, XML, caching, transactions, and Azure-related data work. It is not a live exam or a route to a newly earned certification. Use the published domains to build maintainable legacy-system skills, then make any new credential decision from current Microsoft Learn information.