CREATING THE LOGICAL DESIGN

  1. Always choose n-tier design, unless there are strongly compelling reasons to do otherwise. This type of design makes team development and scalability (physical architecture) decisions easier.

  2. Choose a Web application if you have a broadly dispersed user base and/or a rich-client GUI is not required.

  3. Choose a Windows Forms application architecture if your requirements call for a very rich or very responsive GUI and/or your entire user base is located inside your organization's network.

  4. Choose XML Web Services when you are communicating across the Internet between two applications with no human user interaction.

  5. Consider a hybrid architecture that uses more than one of the standard architectural choices (Windows client, Web client, Web Service) for complex or larger solutions. This enables internal users to access a rich interface yet restricts external users to a more limited interface.

  6. BizTalk, COMTI, and SNA Server (now called Host Integration Server) can be used to interface with legacy software or applications outside your corporate boundaries.

  7. XML can serve as a "lingua franca," allowing unrelated and disparate software to exchange data.

  8. All solutions should consider a comprehensive tracing, logging, and exception-handling strategy that communicates to the user, communicates to the development staff, and leaves a useful trail of information for troubleshooting unexpected events.

  9. WMI is a technology for monitoring server health or notifying a central group that some noteworthy event has occurred.

  10. If called for in the requirements, you should design in support for global users without requiring your code to be recompiled for each language. Specifically, items such as dates, currency, numbers, string compares and string sorts, fonts, and text should all be dynamically adjusted according to the user's current locale.

  11. Consider the possibility (especially with Web applications) that some percentage of your users require assistance to use your application. Support for users with hearing, visual, and physical impairments should be part of your requirements and design effort.

  12. Security is one of the most significant design goals in all applications. It usually takes the form of authentication (are users who they say they are?), authorization (making sure they have rights only to do what they should) and encryption (protecting sensitive data from unauthorized viewing or tampering).

  13. Authentication models include Windows authentication (trusting the NT domain server to do the work for you at login), Forms authentication (doing the work yourself) or Passport authentication (using Microsoft Passport).

  14. When designing, think in roughly three layers: User Services, Business Services, and Data Services.

  15. Managing state can both speed up and slow down performance. In a Web application, consider the best uses of each main state management choice: Session object, Application object, Cache object, and ViewState property.

  16. Choose remoting over Web Services if performance is key and both components are .NET-based. Choose Web Services for simple communication between disparate software.

  17. COM Interop allows .NET code to talk to COM objects (RCW) or COM code to call .NET objects (CCW).

  18. Remember to evaluate all designs against the eight nonfunctional requirements: performance, availability, security, scalability, maintainability, accessibility, deployability, and extensibility.



Analyzing Requirements and Defining. Net Solution Architectures (Exam 70-300)
MCSD Self-Paced Training Kit: Analyzing Requirements and Defining Microsoft .NET Solution Architectures, Exam 70-300: Analyzing Requirements and ... Exam 70-300 (Pro-Certification)
ISBN: 0735618941
EAN: 2147483647
Year: 2006
Pages: 175

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