70-554
UPGRADE: MCSD Microsoft .NET Skills to MCPD Enterprise Application Developer by Using the Microsoft .NET Framework: Part 2
Section 1
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.
Sign a SOAP message digitally.
Verify a signed SOAP message.
Encrypt and decrypt a SOAP message.
Encrypt a SOAP message.
Decrypt an encrypted 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.
Add a filter.
Remove a filter.
Shuffle the order of the filters.
Enable the Trace filter.
Create custom input and output filters.
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.
Add security credentials to a SOAP message.
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.
Create a message.
Post a message.
Receive a message synchronously.
Decide which formatter to use.
Read a message body.
Delete queued messages.
Receive messages.
Peek at messages.
Enumerate messages.
Receive a message asynchronously.
Use BeginReceive/BeginPeek methods.
Respond to a ReceiveCompleted or PeekCompleted event.
Section 2
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.
Recommend a database schema.
Identify the stored procedures that are required for an application.
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.
Analyze data relationships.
Analyze the data handling requirements 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.
Determine if the component works as intended in the target environment.
Identify component interactions and dependencies.
Verify results.
Resolve a bug.
Investigate a reported bug.
Reproduce a bug.
Evaluate the impact of the bug and the associated cost and timeline for fixing the bug.
Fix a bug.
Deploying and Supporting an Application
Evaluate the performance of an application based on the performance analysis strategy.
Identify performance spikes.
Analyze performance trends.
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.
Identify component-level deployment dependencies.
Identify scripting requirements for deployment. Considerations include database scripting.
Create an application flow-logic diagram.
Evaluate the complexity of components.
Evaluate the complexity of interactions with other components. |