UPGRADE: MCSD Microsoft .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft .NET Framework: Part 2Exam News Exam 70-554: UPGRADE: MCSD Microsoft .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft .NET Framework: Part 2 is in development. It is expected to be released in its final version toward the end of May 2006. This is one of two Professional Developer Upgrade Exams for those who have obtained the MCSD on Microsoft .NET certification. Audience Profile Candidates for this exam work on a team in a medium or large development environment that uses Microsoft Visual Studio .NET 2003 Enterprise Developer or Visual Studio 2005. Candidates should have at least two years of experience developing distributed applications by using the Microsoft .NET Framework. Candidates should have a working knowledge of Visual Studio 2005. An enterprise application developer can operate as a Microsoft Windows-based or Web-based client application developer and can develop middle-tier data and business logic components. Candidates should have at least three to five years of on-the-job experience dedicated to enterprise application development. Candidates have worked in the following phases in the application life cycle: Credit Toward Certification When you pass Exam 70-554: UPGRADE: MCSD Microsoft .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft .NET Framework: Part 2, you earn credit toward the following certifications: Code Languages When the exam begins, you can choose the programming language in which the code segments will appear. The available code languages for this exam are: Instructor-led Courses for This Exam Skills Being Measured This certification exam measures your ability to develop and implement n-tier solutions, targeting both Web and rich-client user experiences. Before taking the exam, you should be proficient in the job skills listed below. Skills measured by exam 70-554 Configuring and Customizing a Web Service Application Configure SOAP messages. Configure the formatting of SOAP messages for a Web service method. Specify the basic information for a Web service application. Specify the bindings of a Web service application by using the WebServiceBindingAttribute attribute. Configure a Web service application by using a Machine.config file. Configure a Web service application by using a Web.config file.
Creating, Configuring, and Deploying Remoting Applications Create and configure a server application. Create a server application domain. Configure a server application programmatically. Configure a server application by using configuration files. Compile and build a server application.
Create a client application to access a remote object. Create a remote object. Configure a client application programmatically. Configure a client application manually by using configuration files. Access the remoting service by calling a remote method. Call a remote method synchronously in a client application.
Create and serialize remotable types. Create a remotable type. Create generic types. Configure a serialization formatter programmatically. Configure a binary formatter. Configure a SOAP formatter. Implement Version Tolerant Serialization (VTS).
Implementing Web Services Enhancements (WSE) 3.0 Enable WSE in client and server applications. Add references to WSE assemblies in client applications. Edit the Web service proxy class to derive from the WebServicesClientProtocol class. Add a <soapExtensionTypes> element under the <webServices> element in a configuration file. Add a <configSections> element to add the <microsoft.web.services3> section to a configuration file.
Add a digital signature to a SOAP message and verify an existing SOAP message signature. Encrypt and decrypt a SOAP message. Implement a policy for a Web service application. Create a policy file manually. Declare the set of policies in a policy file. Map policies to SOAP endpoints. Configure a policy file in a configuration file. Create and enforce a custom policy. Create a policy file by using the WseConfigEditor3 tool. Set a policy in a client application and in a client computer.
Implement filters in a Web service application. Implement WSE SOAP messaging. Select a protocol. Implement one-way SOAP messaging. Implement bidirectional SOAP messaging. Send the attachments from a Web service application. Receive attachments in a client application.
Route SOAP messages by using a WSE router. Create a WSE router application. Configure a WSE router application. Configure a referral cache for routing.
Add and verify security credentials. Creating and Accessing a Serviced Component and Using Message Queuing Create, configure, and access a serviced component. Create a serviced component. Add attributes to a serviced component. Register a serviced component. Implement security. Add a reference to a serviced component in an application. Create an instance of a serviced component. Call the methods of a serviced component.
Create, delete, and set permissions on a message queue. Create a message queue manually. Create a message queue programmatically. Delete a message queue. Set permissions for a message queue programmatically.
Send messages to a message queue and delete messages from a message queue. Receive messages. Peek at messages. Enumerate messages. Receive a message asynchronously. Use BeginReceive/BeginPeek methods. Respond to a ReceiveCompleted or PeekCompleted event.
Envisioning and Designing an Application Evaluate the technical feasibility of an application design concept. Evaluate the proof of concept. Recommend the best technologies for the features and goals of the application. Considerations include Message Queuing, Web services, .NET Framework remoting, and so on. Weigh implementation considerations. Investigate existing solutions for similar business problems.
Evaluate the technical specifications for an application to ensure that the business requirements are met. Translate the functional specification into developer terminology, such as pseudo code and UML diagrams. Suggest component type and layer.
Evaluate the design of a database. Evaluate the logical design of an application. Evaluate the logical design for performance. Evaluate the logical design for maintainability. Evaluate the logical design for extensibility. Evaluate the logical design for scalability. Evaluate the logical design for availability. Evaluate the logical design for security. Evaluate the logical design against use cases. Evaluate the logical design for recoverability. Evaluate the logical design for data integrity.
Evaluate the physical design of an application. Considerations include the design of the project structure, the number of files, the number of assemblies, and the location of these resources on the server. Evaluate the physical design for performance. Evaluate the physical design for maintainability. Evaluate how the physical location of files affects the extensibility of the application. Evaluate the physical design for scalability. Evaluate the physical design for availability. Evaluate the physical design for security. Evaluate the physical design for recoverability. Evaluate the physical design for data integrity.
Designing and Developing a Component Establish the required characteristics of a component. Decide when to create a single component or multiple components. Decide in which tier of the application a component should be located. Decide which type of object to build.
Create the high-level design of a component. Establish the life cycle of a component. Decide whether to use established design patterns for the component. Decide whether to create a prototype for the component. Document the design of a component by using pseudo code, class diagrams, sequence diagrams, activity diagrams, and state diagrams. Evaluate tradeoff decisions. Considerations include security vs. performance, performance vs. maintainability, and so on.
Develop the public API of the component. Decide the types of clients that can consume a component. Establish the required component interfaces. Decide whether to require constructor input.
Develop the features of a component. Decide whether existing functionality can be implemented or inherited. Decide how to handle unmanaged and managed resources. Decide which extensibility features are required. Decide whether a component must be stateful or stateless. Decide whether a component must be multithreaded. Decide which functions to implement in the base class, abstract class, or sealed class.
Develop the data access and data handling features of a component. Develop a component to include profiling requirements Identify potential issues, such as resource leaks and performance gaps, by profiling a component. Decide when to stop profiling on a component. Decide whether to redesign a component after analyzing the profiling results.
Choose an appropriate mechanism to deliver multimedia data across distributed applications by using Web services and Message Queuing. Evaluate available multimedia delivery mechanisms. Considerations include bandwidth problems, file formats, and sending large attachments. Design a multimedia delivery mechanism.
Designing and Developing an Application Framework Consume a reusable software component. Identify a reusable software component from available components to meet the requirements. Identify whether the reusable software component needs to be extended. Identify whether the reusable software component needs to be wrapped. Identify whether any existing functionality needs to be hidden. Test the identified component based on the requirements.
Choose an appropriate implementation approach for the application design logic. Choose an appropriate data storage mechanism. Choose an appropriate data flow structure. Choose an appropriate decision flow structure. Choose an appropriate state management technique. Choose an appropriate security implementation.
Choose an appropriate event logging method for the application. Decide whether to log data. Considerations include policies, security, requirements, and debugging. Choose a storage mechanism for logged events. For example, database, flat file, event log, or XML file. Choose a systemwide event logging method. For example, centralized logging, distributed logging, and so on. Decide logging levels based upon severity and priority.
Monitor specific characteristics or aspects of an application. Decide whether to monitor data. Considerations include administration, auditing, and application support. Decide which characteristics to monitor. For example, application performance, memory consumption, security auditing, usability metrics, and possible bugs. Choose event monitoring mechanisms, such as System Monitor and logs. Decide monitoring levels based on requirements. Choose a systemwide monitoring method from the available monitoring mechanisms.
Testing and Stabilizing an Application Perform a code review. Evaluate the testing strategy. Create the unit testing strategy. Evaluate the integration testing strategy. Evaluate the stress testing strategy. Evaluate the performance testing strategy. Evaluate the test environment specification.
Design a unit test. Describe the testing scenarios. Decide coverage requirements. Evaluate when to use boundary condition testing. Decide the type of assertion tests to conduct.
Perform integration testing. Resolve a bug. Deploying and Supporting an Application Evaluate the performance of an application based on the performance analysis strategy. Analyze the data received when monitoring an application. Monitor and analyze resource usage. Monitor and analyze security aspects. Track bugs that result from customer activity.
Evaluate the deployment plan. Create an application flow-logic diagram.
|