Helping You Master Microsoft Technologies

Now available! 70-521: Upgrade: Transition your MCPD .NET Framework 3.5 Windows Developer Skills to MCPD .NET 4 Windows Applications Developer

Born To Learn

Born To Learn Blogs

Now available! 70-521: Upgrade: Transition your MCPD .NET Framework 3.5 Windows Developer Skills to MCPD .NET 4 Windows Applications Developer

Exam 70-521 is now finally available in Prometric testing centers. This exam is designed for candidates who current hold an MCPD certification as a Windows Developer on .NET 3.5 to upgrade to the MCPD Windows Applications Developer 4.

Candidates for this exam should have experience with developing applications for the Windows desktop using Visual Studio 2010 or earlier.  Candidates should also have experience with Windows Presentation Foundation (WPF), Windows Forms, ADO.NET, and Windows Communication Foundation (WCF).

When you pass Exam 70-521: Upgrade: Transition your MCPD .NET Framework 3.5 Windows Developer Skills to MCPD .NET 4 Windows Applications Developer, you complete the requirements for the following certification(s):

  • MCTS: .NET Framework 4, Windows Applications
  • MCTS: .NET Framework 4, Service Communication Applications
  • MCTS: .NET Framework 4, Data Access
  • MCPD: Windows Developer 4To schedule your exam, visit Prometric’s Web site.

 

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • * Please enter your name
  • * Please enter a comment
  • Post
  • Where can we find the exam preparation guide? Will 70-523 be out soon? Thanks.

  • any news on the 70-523 exam?

  • @Mary, Nicos.  Exam 70-523 is now available!!

  • Sure would be nice to have the list of skills measured somewhere online so I know exactly what to study....

  • Duncan.  Hang tight.  The prep guide will be published shortly.  In the mean time, here are the skills measured for this exam:

    Skills Being Measured

    This exam measures your ability to accomplish the technical tasks listed below.

    The percentages indicate the relative weight of each major topic area on the exam.

    Building a User Interface by Using BasicTechniques

    •Choose the most appropriate control class.

    This objective may include but is not limited to: evaluating design requirements and then selecting the most appropriate control based on those requirements; recognizing when none of the standard controls meet requirements; item controls, menu controls, content controls

    This objective does not include: designing a custom control

    •Implement screen layout by using nested control hierarchies.

    This objective may include but is not limited to: using panel-derived controls, attaching properties

    This objective does not include: items controls, control customization

    Enhancing a User Interface by Using Advanced Techniques

    •Manage routed events in WPF.

    This objective may include but is not limited to: tunneling vs. bubbling events, handling and cancelling events

    This objective does not include: simple event handling; creating custom events

    •Configure WPF commanding.

    This objective may include but is not limited to: defining WPF commands based on RoutedCommand; associating commands to controls; handling commands; command bindings; input gestures  

    This objective does not include: creating custom commands by implementing ICommand

    •Implement user-defined controls.

    This objective may include but is not limited to: deciding whether to use a user/composite, extended, or custom control ; creating a user/composite control; extending from an existing control

    This objective does not include: creating a custom control by inheriting directly from the Control class and writing code

    Managing Data at the User Interface Layer

    •Implement data binding.

    This objective may include but is not limited to: binding options, static and dynamic resources, element bindings, setting the correct binding mode and update mode; binding to nullable values

    This objective does not include: binding to a specific data source

    •Implement data validation.

    This objective may include but is not limited to: handling validation and providing user feedback via the error provider (WinForms) or data templates (WPF), IDataErrorInfo, validation control, form validation and control validation

    •Prepare collections of data for display.

    This objective may include but is not limited to: filtering, sorting, and grouping data; LINQ; CollectionView (WPF), BindingSource object (WinForms)

    •Implement data-bound controls.

    This objective may include but is not limited to: using the DataGridView (WinForms) or DataGrid (WPF) control to display and update the data contained in a data source, implementing complex data binding to integrate data from multiple sources; ItemsControl-derived controls (WPF)

    Enhancing the Functionality and Usability of a Solution

    •Implement asynchronous processes and threading.

    This objective may include but is not limited to: implementing asynchronous programming patterns; marshalling between threads; freezing UI elements; using timers; Task Parallel Library; parallel LINQ; using the dispatcher; BackgroundWorker component

    •Implement security features of an application.

    This objective may include but is not limited to: configuring Software Restriction Policy (SRP); full trust and partially trusted security; interoperability with legacy CAS policy; User Account Control (UAC)

    •Manage user and application settings.

    This objective may include but is not limited to: creating application settings; creating user settings; loading and saving settings

    This objective does not include: persisting to database

    •Implement dependency properties.

    This objective may include but is not limited to: enabling data binding and animation, property metadata, property change callbacks

    Stabilizing and Releasing a Solution

    •Implement a WPF test strategy.

    This objective may include but is not limited to: automation peer, UI automation, IntelliTrace

    •Debug XAML by using the WPF Visualizer.

    This objective may include but is not limited to: accessing the Visualizer, drilling down into the visual tree, viewing and changing properties

    This objective does not include: setting a breakpoint and stepping through code

    •Create and configure a Windows Installer project.

    This objective may include but is not limited to: configuring a setup project to add icons during setup, setting deployment project properties, configuring conditional installation based on operating system versions, setting appropriate Launch Conditions based on the .NET Framework version, adding custom actions to a setup project, adding error-handling code to a setup project

    •Configure deployment security settings.

    This objective may include but is not limited to: configuring and integrating UAC by using ClickOnce deployments; setting appropriate security permissions to deploy the application

    Creating Services

    •Create service and operation contracts.

    This objective may include but is not limited to: one-way, duplex, and request reply; creating and specifying  fault contracts; configuration-based contracts; exposing service metadata; selecting serialization (e.g., data contract serializer vs. XML serializer)

    This objective does not include: designing service and operation contracts; transactions, instantiation, security-related attributes

    •Create data contracts.

    This objective may include but is not limited to: managing Known Types; controlling data serialization; using required and order attributes on data members; implementing versioning using IExtensibleDataObject; POCOs

    This objective does not include: using custom serializer (ISerializationSurrogate)

    •Implement RESTful services.

    This objective may include but is not limited to: accessing HTTP context; WebGet/WebInvoke, UriTemplates; JSON/POX

    Hosting and Configuring Services

    •Create and configure endpoints.

    This objective may include but is not limited to: default and standard bindings; custom bindings created from standard binding elements; standard endpoints; transports including HTTP, TCP, named pipes, UDP, MSMQ code-based service configuration; message encoding

    This objective does not include: creating a custom binding element; creating new standard endpoints, loading configuration from a location other than the default application configuration file, security, transaction, reliable sessions

    •Configure Behaviors.

    This objective may include but is not limited to: applying service, endpoint, and operation behaviors in configuration and code

    This objective does not include: creating a custom behavior; creating and using dispatch behaviors, loading configuration from a location other than the default application configuration file

    Consuming Services

    •Create a service proxy.

    This objective may include but is not limited to: using a proxy class or channel factory to create a proxy; creating a proxy for an asynchronous communication; creating a proxy for a duplex communication

    This objective does not include: SvcUtil command-line switches

    •Consume RESTful services

    This objective may include but is not limited to: access HTTP context; JSON/POX

    Securing Services

    •Configure secure Bindings.

    This objective may include but is not limited to: transport, message, mixed mode

    •Configure message security.

    This objective may include but is not limited to: specifying protection levels on different message parts

    Managing the Service Instance Life Cycle

    •Manage sessions.

    This objective may include but is not limited to: code and configuration; session management attributes; throttling; eliable sessions; transport-level and application-level sessions; invoking a callback contract

    •Manage concurrency.

    This objective may include but is not limited to: single, multiple, and reentrant concurrency modes; SynchronizationContext and CallbackBehavior

    This objective does not include: deadlocks and other multithreading issues

    Monitoring and Troubleshooting Distributed Systems

    •Configure message logging.

    This objective may include but is not limited to: configuring message listeners; logging level; message filters; configuring logging known PII

    This objective does not include: secure message logs

    •Configure diagnostics.

    This objective may include but is not limited to: WMI; performance counters; event logging

    Modeling Data

    •Map entities and relationships by using the Entity Data Model.

    This objective may include but is not limited to: using the Visual Designer, building an entity data model from an existing database, managing complex entity mappings in EDMX, editing EDM XML, mapping to stored procedures, creating user-defined associations between entities, generating classes with inheritance and mapping them to tables

    This objective does not include: using MetadataWorkspace

    •Create and customize entity objects.

    This objective may include but is not limited to: configuring changes to an Entity Framework entity, using the ADO.NET EntityObject Generator (T4), extending, self-tracking entities, snapshot change tracking, ObjectStateManager, partial classes, partial methods in the Entity Framework  

    Managing Connections and Context

    •Create and manage a data connection.

    This objective may include but is not limited to: connecting to a data source, closing connections, maintaining the life cycle of a connection

    •Configure ADO.NET Data Services.

    This objective may include but is not limited to: creating access rules for entities, configuring authorization and authentication, configuring HTTP verbs

    Querying Data

    •Execute a SQL query.

    This objective may include but is not limited to: DBCommand, DataReader, DataAdapters, DataSets, managing data retrieval by using stored procedures, using parameters, System.Data.Common namespace classes

    •Create a LINQ query.

    This objective may include but is not limited to: syntax-based and method-based queries, joining, filtering, sorting, grouping, aggregation, lambda expressions, paging, projection

    This objective does not include: compiling queries

    •Query data by using ADO.NET Data Services.

    This objective may include but is not limited to: implementing filtering and entitlement in ADO.NET Data Services, addressing resources, creating a query expression, accessing payload formats, Data Services interceptors

    Manipulating Data

    •Create, update, or delete data by using SQL statements.

    This objective may include but is not limited to: Create/Update/Delete (CUD), using DataSets, calling stored procedures, using parameters

    •Create, update, or delete data by using DataContext.

    This objective may include but is not limited to: CUD, calling stored procedures, using parameters

    This objective does not include: ObjectTrackingEnabled

    •Create, update, or delete data by using ObjectContext.

    This objective may include but is not limited to: CUD, calling stored procedures, using parameters, setting SaveOptions

    Developing and Deploying Reliable Applications

    •Monitor and collect performance data.

    This objective may include but is not limited to: logging generated SQL (ToTraceString), collecting response times, implementing performance counters, implementing logging, implementing instrumentation

    •Handle exceptions.

    This objective may include but is not limited to: resolving data concurrency issues (handling OptimisticConcurrency exception, Refresh method), handling errors, transaction exceptions, connection exceptions, timeout exceptions, handling an exception from the Entity Framework disconnected object, security exceptions

    •Protect data.

    This objective may include but is not limited to: encryption, digital signature, hashing, salting, least privilege

    •Synchronize data.

    This objective may include but is not limited to: online/offline Entity Framework, synchronization services, saving locally

    Designing the Layers of a Solution

    •Design a loosely coupled layered architecture.

    This objective may include but is not limited to: separation of concerns including presentation, business logic, and data; minimizing logical dependencies; deciding how layers connect (e.g., content-based vs. context-based filtered routing)

    •Design service interaction.

    This objective may include but is not limited to: service granularity (cohesiveness); interface granularity (responsibilities of an operation), versioning, data and service contracts (using a message contract rather than a data contract); hosting and protocol; managing data integrity (re-validating data across trust boundaries); evaluating use of RESTful interface (URI/resource structure); choosing a message exchange pattern; choosing synchronous vs. asynchronous operation invocation; deciding whether to use custom SOAP headers

    This objective does not include: interacting with existing/external systems

    •Design the security implementation.

    This objective may include but is not limited to: protecting data during transmission (encryption/hashing algorithm), authentication (client/proxy credential) and authorization (groups, built-in or custom role provider, claims, federated security), designing for least privilege (impersonation and/or delegation), planning for User Access Control (UAC) environments; auditing

    •Design for globalization and localization.

    This objective may include but is not limited to: multi-locale services; designing for time zone, sorting, UI considerations; database design considerations

    Designing the Presentation Layer

    •Choose the appropriate Windows Client technology.

    This objective may include but is not limited to: choosing between Windows Forms, WPF, or a combination; choosing an appropriate presentation pattern (Model View Presenter [MVP], Model View/View Model [MV-VM]); identifying areas for possible migration/interoperability from Windows Forms to WPF

    •Design application workflow.

    This objective may include but is not limited to: user navigation, designing wizards, modal vs. non-modal; dependencies among UI elements; designing for input types based on environment and audience (kiosk, very large display, small display, indoors and outdoors)

    •Design data presentation and input.

    This objective may include but is not limited to: designing data validation; designing a data-binding strategy; designing a reporting strategy; choosing media services (audio, video, images, animation); managing data shared between forms

    Designing the Data Access Layer

    •Choose the appropriate data access strategy.

    This objective may include but is not limited to:  choosing the appropriate data access technology (Entity Framework, LINQ to SQL, Microsoft ADO.NET); supporting data sources such as XML data, flat files, and relational databases

    •Design data caching.

    This objective may include but is not limited to: managing data cache (lifetime, targets, size, scope), managing data state (change notification, cache invalidation/synchronization)

    •Design for a concurrent multi-user environment.

    This objective may include but is not limited to: planning for concurrency and collision avoidance, optimistic vs. pessimistic locking, cross-tier distributed transactions

    Planning a Solution Deployment

    •Define a client deployment strategy.

    This objective may include but is not limited to: recommending an installation method (Xcopy, ClickOnce, MSI, third party); identifying prerequisites (target framework and bootstrap requirements), deploying COM components

    •Plan a database deployment.

    This objective may include but is not limited to: existing or shared instance; remote server; embedded database; deploying new objects (such as tables, stored procedures, and views) to a new or existing database; recognizing database security concerns (such as shared instances and access); remote vs. local database

    This objective does not include: DLL deployment; shared GAC deployment

    •Design a solution update strategy.

    This objective may include but is not limited to: preserving shared components, data integrity, and user customizations; designing an update delivery method (e.g., automated update detection from the client), version mismatch (both local binaries and service interfaces)

    •Plan for n-tier deployment.

    This objective may include but is not limited to: mapping the solution to the topology (required hardware such as servers, routers, and RAM and required software such as OS); determining component installation order; reviewing security requirements

    Designing for Stability and Maintenance

    •Design for error handling.

    This objective may include but is not limited to: collecting user feedback when errors occur, handling exceptions across tiers

    This objective does not include: try/catch blocks

    •Evaluate and recommend a test strategy.

    This objective may include but is not limited to: recommending functional testing, recommending reliability testing (performance testing, stress testing, scalability testing, duration testing)

    This objective does not include: unit testing

    •Design a diagnostics and monitoring strategy.

    This objective may include but is not limited to: profiling, tracing, performance counters, audit trails (events and information); usage reporting; deciding where to log events (local vs.centralized reporting)

Page 1 of 1 (5 items)
Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • * Please enter your name
  • * Please enter a comment
  • Post