Certification Summary


The physical design phase applies technical constraints to the application logical design. Whereas the conceptual and logical design phases were approached from the point of view of the business, physical design is approached from the developer’s point of view. At the end of the physical design phase, you should have detailed enough technical specifications to begin development.

Many technical constraints need to be added to the application, including auditing and logging, error handling, security and privacy, designing the presentation layer, and managing user session states. The Microsoft .NET Framework provides many components to help application developers handle these tasks programming-wise.

The physical design model also takes into consideration deployment issues such as deployment specifications, licensing, data migration, and upgrading applications. Although application development has not started, you may be able to make a few changes to application design at this stage to help with the potential issues with deployment.

Application maintenance is also an issue that really doesn’t come up until after deployment. But once again, application designers have an opportunity during the design stage to make the application easier to support in the future. This can be anything from having the application log more information to setting up full-blown application monitoring servers.

The physical data model design happens during this stage of development as well. Physical database design involves assigning data types to columns, deciding what type of indexes need to be created, and finding and configuring database servers. Developers can employ a technique called horizontal partitioning to split a database table into sets of rows that are divided between several servers. Applications can search these partitioned tables just as if they were hosted on a single server.

Physical design model validation, like that of conceptual and logical design model, centers on a comparison of the application design to the user and business design documents. Does the application fill the needs of the business? There are also some key technical benchmarks for application technical design, such as performance, maintainability, deployability, security, availability, accessibility, scalability, and extensibility.

Two-Minute Drill

Deriving a Physical Design for the Solution

  • Physical application design is a process that applies technical constraints to the logical design model.

  • Physical design also involves defining data structures, Application Programming Interfaces (APIs), and a data dictionary.

  • An application log records specific events that you want to record, such as application errors. An audit log records system activity for the purpose of after-the-fact application security.

  • During the logical design phase, logging was added to support business purposes. During the physical design phase, the purpose is technical, such as usage monitoring.

  • Windows has a built-in logging facility, and comes with three default logs: System, Security and Application. These logs can be accessed using the Windows Event Viewer.

  • .NET applications access the Windows event logs using the EventLog component that lives in the System.Diagnostics namespace.

  • Error handling is the ability for an application to detect and intelligently respond to errors that occur within the application, instead of just crashing.

  • BizTalk Server is a Microsoft server product that makes application integration easier among different diverse platforms and applications.

  • Microsoft .NET provides a complete set of security classes under the System.Security.Cryptography namespace of the .NET Framework. Many of these classes are managed-code wrappers to the Microsoft CryptoAPI cryptography functions built into Windows.

  • Role-based security is highly recommended, as it restricts application components to running in the security context of users. Thus, even successful attacks such as buffer overflows will not give hackers system-level access to an application.

  • There are two classes in .NET that provide an authentication mechanism within your applications: WindowsPrincipal and GenericPrincipal. The WindowsPrincipal class integrates into the security model built into Windows, while the GenericPrincipal allows application to implement their own security model. Developers can create their own custom principal class if they wish to extend these features at all.

  • A component is a piece of code that provides a service to other components within the environment, but is not an application itself.

  • Session state is the data an application has to remember in order to be able to come back and restart a session from where it left off.

  • The built-in Session and Application objects allow ASP.NET developers to store data for use later in the current session, or for use by other objects within the application. This, however, is an old way of storing user data.

  • The Cache object is the new recommended technique for storing user data on the server. It is highly configurable, and can even be configured to call a function, as user data is about to expire.

Developing an Appropriate Deployment Model

  • There are five main methods for deploying applications in .NET: XCOPY, Windows Installer, MSI database utilities, Microsoft Application Center, and Systems Management Server.

  • A license is a legal right granted to a user by the license owner to use a piece of intellectual property. Licenses often cost money, and some have severe restrictions as to what you can do with the code.

  • Data migration is the process of converting data from one format to another. This generally involves converting data from a legacy file format into Microsoft SQL Server.

  • When designing the second and subsequent releases of an application, special consideration has to be given to retaining the user’s setting and preferences when they upgrade to the new version of the application.

Creating the Physical Design for Maintenance

  • It is important to include a plan for maintenance in system design since you may be able to include features in the application that will make it easier to support once it has been deployed.

  • It is generally easier to support a server-based application, since a faulty server-
    based component can usually be fixed and implemented without difficulty. Implementing changes to client-side applications and components is often more difficult.

  • Depending on the nature of your application, you may want to include some support for application monitoring. Monitoring an application will help you to respond to problems faster, and address issues before they become problems.

Creating the Physical Design for the Data Model

  • The first goal of physical database design is finishing off the data model, by adding data types and indexes to the model.

  • The next goal is to prepare the database management system for application development. This involves choosing development, testing, and production servers to host the application and designing the physical file structure of the database.

  • Indexes can improve database performance significantly by pre-sorting frequently searched columns.

  • There is a certain amount of additional overhead maintaining an index, so you probably do not want to index every column.

  • The database server will intelligently make use of appropriate indexes when executing search operations by creating an execution plan.

  • Data tables can be horizontally partitioned, so that sets of data rows in the table can be stored on separate SQL Server machines.

Validating the Physical Design

  • Physical designs are validated against the business and user requirements to ensure the design meets the needs of the end user.

  • Designs need to be analyzed from a technical point of view to ensure that they meet the organizational standards in terms of performance, maintainability, extensibility, scalability, availability, deployability, security, and accessibility.

  • Analyze the potential performance bottlenecks of the application and see if any changes need to be made to the design.

Self Test

The following questions will help you measure your understanding of the material presented in this chapter. Read all the choices carefully because there might be more than one correct answer. Choose all correct answers for each question.

Deriving a Physical Design for the Solution

1.

Which of the following statements best describes the purpose of the physical design model?

  1. To choose the architecture model of the application.

  2. To determine the schedule of application design, and provide cost estimates for the solution.

  3. To apply technical constraints to the logical design.

  4. To turn Visio class diagrams into actual .NET skeleton code.

 c . the purpose of physical design is to apply technical constraints to the logical design. x a is incorrect because the architecture model of the application was determined during the solutions concept stage of envisioning. b is incorrect because estimates and costing are part of envisioning, and do not enter into application design. d is incorrect because actual .net code does not get created until the developing phase.

2.

Which of the following considerations will be taken into account during the physical design process? (Choose all that apply.)

  1. Security

  2. Error handling

  3. Identify business objects

  4. User interface design

 a , b , and d . security, error handling, and user interface design are all issues that get addressed during the physical design process. x c is incorrect because business objects should have been identified during the conceptual and logical design stages.

3.

Which Windows application would you use to access the log records generated by the Windows security system?

  1. Event Viewer

  2. Event Logger

  3. Log Viewer

  4. Internet Explorer

 a . the event viewer application lets users examine the records in the windows event logs. x b is incorrect because there is no windows application called event logger. c is incorrect because there is no windows application called log viewer. d is incorrect because internet explorer cannot be used to view the event logs.

4.

Which .NET Framework component must you include in your application in order to write to the application log?

  1. System.Log.EventViewer

  2. System.Diagnostics.Log

  3. System.Log.Events

  4. System.Diagnostics.EventLog

 d . the system.diagnostics namespace contains a component called eventlog that allows applications to write to the event log. x a is incorrect because there is no system.log namespace. b is incorrect because there is no class called log in the system.diagnostics. c is incorrect because there is no system.log namespace.

5.

Which of the following are event severities that can be found in an event log? (Choose all that apply.)

  1. Error

  2. Success Audit

  3. Security

  4. Serious

 a and b . error and success audit are two of the five event severities that can be found in windows event logs. x c is incorrect because security is one of the default logs, not a severity. d is incorrect because serious is not a severity in the event logs.

6.

Jand’l is an intermediate developer at one of the country’s largest banks. He has developed a small financial calculator component in VB .NET that will calculate the monthly principal and interest payments required for mortgages and loans. This component is used by several applications within the organization, mostly without problems. Whenever the component encounters a situation it can’t handle, it raises an exception to pass a message back to the calling application. Which of the following statements best describes how the .NET runtime handles exceptions generated by components of an application, if the calling application itself does not catch them?

  1. If the calling application does not handle the exception, the .NET runtime will ignore it.

  2. This cannot occur, since .NET compilers make sure that all components within an application have their exceptions handled.

  3. The exception will be passed back to other applications and components, until one of them handles the exception. If the exception remains unhandled when it reaches the .NET runtime level, an error message will be displayed to the user.

  4. The exception will be passed back to other applications and components, until one of them handles the exception. An error message will be displayed to the user regardless if the exception is handled or not.

 c . other code along the chain of function calls will be first given a chance to handle the exception, and only if the exception remains unhandled will the runtime handle it by displaying an error message. x a is incorrect because unhandled exceptions are not ignored. b is incorrect because applications can use components without handling all (or any) of their exceptions. d is incorrect because, once an exception is handled, it will stop being passed.

7.

Which Microsoft server product supports hundreds of adapters to make enterprise application integration (EAI) easier?

  1. Content Management Server (CMS)

  2. Systems Management Server (SMS)

  3. Exchange Server

  4. BizTalk Server

 d . biztalk server is the microsoft server whose job it is to coordinate communications between disparate servers. x a is incorrect because content management server deals primarily with web site management. b is incorrect because systems management server deals primarily with application deployment. c is incorrect because exchange server deals mainly with e-mail and office communications.

8.

Trevor is a junior programmer at a large, multi-national human resources consulting firm. Trevor has been asked to recommend a security model for the .NET-based application his project team is working on. The application’s user IDs and passwords will be stored inside a SQL Server database. Which .NET Framework component can be used to enable an application to use its own user ID and password authentication system?

  1. ApplicationPrincipal

  2. WindowsPrincipal

  3. GenericPrincipal

  4. WindowsSecurity

 c . the genericprincipal component allows .net applications to handle their own security. x a is incorrect because there is no such component as an applicationprincipal. b is incorrect because the windowsprincipal helps applications with windows-managed security. d is incorrect because there is no component called windowssecurity.

9.

Which of the following statements best describes the primary benefit of object pooling?

  1. Allows business objects to be installed on multiple servers, thereby improving overall application performance.

  2. Instantiates multiple identical objects to serve application requests, thereby ensuring a single, long-running transaction does not affect application performance for other users.

  3. Establishes a set of open database connections available for use within the application, which removes the need for objects to initialize those connections, thereby improving application performance.

  4. Allows data objects to share their resources with one another, thereby improving overall resource usage.

 b . object pooling allows several identical objects to serve multiple clients at once, thus ensuring one long-running request does not hold up other clients. this is just like having multiple checkout lines open at the grocery. the person who needs a price check does not have to hold up everyone behind, because there are other cashiers available. x a is incorrect because object pooling is not related to distributed application setup. c is incorrect because this answer describes database pooling. d is incorrect because data objects use other techniques for data sharing, such as the application object.

Answers

1.

C. The purpose of physical design is to apply technical constraints to the logical design.
x A is incorrect because the architecture model of the application was determined during the solutions concept stage of envisioning. B is incorrect because estimates and costing are part of envisioning, and do not enter into application design. D is incorrect because actual .NET code does not get created until the developing phase.

2.

A, B, and D. Security, error handling, and user interface design are all issues that get addressed during the physical design process.
x C is incorrect because business objects should have been identified during the conceptual and logical design stages.

3.

A. The Event Viewer application lets users examine the records in the Windows event logs.
x B is incorrect because there is no Windows application called Event Logger. C is incorrect because there is no Windows application called Log Viewer. D is incorrect because Internet Explorer cannot be used to view the event logs.

4.

D. The System.Diagnostics namespace contains a component called EventLog that allows applications to write to the event log.
x A is incorrect because there is no System.Log namespace. B is incorrect because there is no class called Log in the System.Diagnostics. C is incorrect because there is no System.Log namespace.

5.

A and B. Error and success audit are two of the five event severities that can be found in Windows event logs.
x C is incorrect because Security is one of the default logs, not a severity. D is incorrect because Serious is not a severity in the event logs.

6.

C. Other code along the chain of function calls will be first given a chance to handle the exception, and only if the exception remains unhandled will the runtime handle it by displaying an error message.
x A is incorrect because unhandled exceptions are not ignored. B is incorrect because applications can use components without handling all (or any) of their exceptions. D is incorrect because, once an exception is handled, it will stop being passed.

7.

D. BizTalk Server is the Microsoft server whose job it is to coordinate communications between disparate servers.
x A is incorrect because Content Management Server deals primarily with web site management. B is incorrect because Systems Management Server deals primarily with application deployment. C is incorrect because Exchange Server deals mainly with e-mail and office communications.

8.

C. The GenericPrincipal component allows .NET applications to handle their own security.
x A is incorrect because there is no such component as an ApplicationPrincipal. B is incorrect because the WindowsPrincipal helps applications with Windows-managed security. D is incorrect because there is no component called WindowsSecurity.

9.

B. Object pooling allows several identical objects to serve multiple clients at once, thus ensuring one long-running request does not hold up other clients. This is just like having multiple checkout lines open at the grocery. The person who needs a price check does not have to hold up everyone behind, because there are other cashiers available.
x A is incorrect because object pooling is not related to distributed application setup. C is incorrect because this answer describes database pooling. D is incorrect because data objects use other techniques for data sharing, such as the Application object.

Developing an Appropriate Deployment Model

10.

My nephew Jarryle just received a laptop for his birthday, and the first thing he wanted to do with it was develop a web-based card trading application. This ASP.NET application will allow him to list some of the trading cards he no longer needs, and see if any of his friends in the neighborhood have cards he would like to get. Jarryle is almost finished with the application physical design, when he begins to worry about deployment. Which of the following deployment techniques is best suited for ASP.NET applications to remote clients?

  1. XCOPY deployment

  2. Microsoft Windows Installer

  3. Microsoft Systems Management Server (SMS)

  4. None of the above

 d . asp.net applications can be installed entirely on a web server, thus avoiding the deployment issue altogether. the application is accessed using a web browser. x a is incorrect because asp.net applications are not deployed to client machines. b is incorrect because there are no components that need to be installed using windows installer. c is incorrect because microsoft systems management server is too complex for an eight- year-old to install and configure. and besides, sms is used for desktop applications, not web-based applications.

11.

Besides cost, which of the following is the other major issue that needs to be taken into consideration when it comes to licensing third-party software and components to be used in your application?

  1. Application support

  2. Usage restrictions

  3. Deployment

  4. Copyrights and patents

 b . software licensing often places usage restrictions on the circumstances under which software can be used. it can also obligate the organization to certain responsibilities, such as posting a link to the developer s web site or releasing the modified code out to everyone. x a is incorrect because applications need to be supported in largely the same manner as they would without the licensed component. not having source code might be an issue for some, but not many. c is incorrect because licensed components are deployed in much the same way as regular components. d is incorrect because you do not have to worry about copyrights and patents when using a licensed component.

Answers

10.

D. ASP.NET applications can be installed entirely on a web server, thus avoiding the deployment issue altogether. The application is accessed using a web browser.
x A is incorrect because ASP.NET applications are not deployed to client machines. B is incorrect because there are no components that need to be installed using Windows Installer. C is incorrect because Microsoft Systems Management Server is too complex for an eight- year-old to install and configure. And besides, SMS is used for desktop applications, not web-based applications.

11.

B. Software licensing often places usage restrictions on the circumstances under which software can be used. It can also obligate the organization to certain responsibilities, such as posting a link to the developer’s web site or releasing the modified code out to everyone.
x A is incorrect because applications need to be supported in largely the same manner as they would without the licensed component. Not having source code might be an issue for some, but not many. C is incorrect because licensed components are deployed in much the same way as regular components. D is incorrect because you do not have to worry about copyrights and patents when using a licensed component.

Creating the Physical Design for Maintenance

12.

Aaron has recently given up his career as a musician to become a professional application developer at a major security firm. His first task is to design and develop a software application that will be used to track security card usage in large office towers. Once he has developed his application, it will be rolled out to each of the hundreds of office towers his security firm protects. Although the application is two-tier, each office tower will have its own client and server machines independent of the head office. There is no central network connecting the office towers. Aaron is aware that architecture has certain flaws. Which of the following statements best describes this application’s biggest maintenance problem?

  1. This application will be difficult to maintain and support because there is no central network connecting the machines.

  2. This application will be difficult to support and maintain because it uses a two-tier architecture instead of a one-tier architecture.

  3. Once the application is deployed, it will be impossible to upgrade the application to fix any bugs.

  4. Once the application is developed, it will be impossible to deploy the application for the first time due to the number of office towers.

 a . having to support hundreds of unconnected offices will present the most maintenance challenges to this project. x b is incorrect because having a one-tier or two-tier architecture makes very little difference from a maintenance perspective in this example. c is incorrect because the application s bug fixes and product enhancements can be deployed using cd-rom and by other means, so it is not impossible to maintain. d is incorrect because the application itself can be deployed using cd-rom and by other means, so it is not impossible to deploy.

13.

Michael works for a large, multi-national corporation that has offices in 20 countries across 3 continents. He is part of a team that is developing a distributed, n-tier application for customer and client management. The application servers will be placed in several key offices around the world, to improve application responsiveness in those regions. One of Michael’s concerns is monitoring server performance from his office in Manila, Philippines. The application will probably employ some external monitoring application, but Michael would like to include the ability within his application for servers to report their own performance to a central database for statistical purposes. Which two components in the .NET Framework allow applications access to the process and performance monitoring capabilities built into Windows 2000 servers?

  1. The APP2UI and APP4UI components in System.Performance

  2. The ServerProcess and ServerPerformance components in System.Diagnostics

  3. The CPU and Memory components in System.Process

  4. The Process and Performance components in System.Diagnostics

 d . the process and performance components provide server monitor capabilities to .net applications. x a is incorrect because there is no namespace called system.performance. b is incorrect because there are no components named serverprocess or serverperformance. c is incorrect because there is no namespace named system.process.

Answers

12.

A. Having to support hundreds of unconnected offices will present the most maintenance challenges to this project.
x B is incorrect because having a one-tier or two-tier architecture makes very little difference from a maintenance perspective in this example. C is incorrect because the application’s bug fixes and product enhancements can be deployed using CD-ROM and by other means, so it is not impossible to maintain. D is incorrect because the application itself can be deployed using CD-ROM and by other means, so it is not impossible to deploy.

13.

D. The Process and Performance components provide server monitor capabilities to .NET applications.
x A is incorrect because there is no namespace called System.Performance. B is incorrect because there are no components named ServerProcess or ServerPerformance. C is incorrect because there is no namespace named System.Process.

Creating the Physical Design for the Data Model

14.

Which of the following statements best describes how unclustered indexes improve the performance of data-oriented applications?

  1. Unclustered indexes often significantly improve the performance of referential integrity checks by foreign keys. Referential integrity involves a lot of data searching, and since indexes improve the performance of searching in general, they improve referential integrity checks as well.

  2. Unclustered indexes can significantly improve the performance of data inserts into the database. Every time a record is inserted into the database, the server first searches the unclustered indexes to ensure there are no duplicate keys.

  3. Unclustered indexes change the physical sort order of the records on the hard disk, making it much quicker to search for a specific value. Since the database server can stop searching when it finds a value, it often significantly decreases the number of records that the server will have to search through in the data table.

  4. Unclustered indexes do not change the physical sort order of the records on the disk, but keep their own sorted lists, apart from the data. When the database server can search an index first, it often significantly decreases the number of records that the server will have to search through in the data table.

 d . the database server often saves itself a lot of time by looking up certain fields first in the related index, which narrows down the number of data records that need to be searched in the main database table. x a is incorrect because foreign keys rely on the primary keys of other tables, and primary keys are indexes, usually clustered, by default. b is incorrect because indexes make insert operations take longer, since the index needs to be updated as well after every insert operation. c is incorrect because unclustered indexes do not change the sort order on disk.

15.

What is the term used to describe a data table whose rows have been split across multiple and often distributed SQL Server instances?

  1. Table splitting

  2. Horizontal partition

  3. Distributed computing

  4. Normalization

 b . dividing the rows of a data table across multiple servers is called horizontal splitting. x a is incorrect because table splitting is not an official term. c is incorrect because distributed computing refers to distributed applications and components, not databases. d is incorrect because normalization has a different meaning.

Answers

14.

D. The database server often saves itself a lot of time by looking up certain fields first in the related index, which narrows down the number of data records that need to be searched in the main database table.
x A is incorrect because foreign keys rely on the primary keys of other tables, and primary keys are indexes, usually clustered, by default. B is incorrect because indexes make insert operations take longer, since the index needs to be updated as well after every insert operation. C is incorrect because unclustered indexes do not change the sort order on disk.

15.

B. Dividing the rows of a data table across multiple servers is called horizontal splitting.
x A is incorrect because table splitting is not an official term. C is incorrect because distributed computing refers to distributed applications and components, not databases. D is incorrect because normalization has a different meaning.

Validating the Physical Design

16.

Leander has been asked to ensure that his application “scales.” To which feature of sound technical design does the term “scalability” refer?

  1. Scalability refers to the ability of a mission-critical application to stay up and running a long time without service interruption.

  2. Applications that can easily accommodate a new feature or module without application architecture redesign are said to “scale” well.

  3. Applications that can handle increasing user load without application redesign are said to “scale” well.

  4. Scalability refers to the ability of vision-impaired users to be able to hear the web page read out to them.

 c . scalability is the ability of an application to handle an increased load without application redesign. x a is incorrect because this description refers to availability. b is incorrect because extensibility refers to the ability to add new features to an application. d is incorrect because the ability for people of differing abilities to use an application is called accessibility.

Answers

16.

C. Scalability is the ability of an application to handle an increased load without application redesign.
x A is incorrect because this description refers to availability. B is incorrect because extensibility refers to the ability to add new features to an application. D is incorrect because the ability for people of differing abilities to use an application is called accessibility.

Lab Question

1.

Match the following error log severities in the left column with the corresponding descriptions in the right column.

Severity

Description

A. Information

1. An audited event has succeeded.

B. Warning

2. An infrequent but successful operation.

C. Error

3. A problem that is not immediately significant.

D. SuccessAudit

4. An audited event has failed.

E. FailureAudit

5. A significant problem.

the answer is: a. 2 b. 3 c. 5 d. 1 e. 4

Answers

1.

The answer is:

A. 2

B. 3

C. 5

D. 1

E. 4




MCSD Analyzing Requirements and Defining. NET Solutions Architectures Study Guide (Exam 70-300)
MCSD Analyzing Requirements and Defining .NET Solutions Architectures Study Guide (Exam 70-300 (Certification Press)
ISBN: 0072125861
EAN: 2147483647
Year: 2003
Pages: 94

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net