Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chapter 1.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
241 Кб
Скачать
☆

Key Design Considerations

This guide describes the major decisions that you must make, and which help to ensure that you consider all of the important factors as you begin and then iteratively develop your architecture design. The major decisions, briefly described in the following sections, are:

  • Determine the Application Type

  • Determine the Deployment Strategy

  • Determine the Appropriate Technologies

  • Determine the Quality Attributes

  • Determine the Crosscutting Concerns

For a more detailed description of the design process, see Chapter 4 "A Technique for Architecture and Design."

Determine the Application Type

Choosing the appropriate application type is the key part of the process of designing an application. Your choice is governed by your specific requirements and infrastructure limitations. Many applications must support multiple types of client, and may make use of more than one of the basic archetypes. This guide covers the following basic application types:

  • Applications designed for mobile devices.

  • Rich client applications designed to run primarily on a client PC.

  • Rich Internet applications designed to be deployed from the Internet, which support rich UI and media scenarios.

  • Service applications designed to support communication between loosely coupled components.

  • Web applications designed to run primarily on the server in fully connected scenarios.

In addition, it provides information and guidelines for some more specialist application types. These include the following:

  • Hosted and cloud-based applications and services.

  • Office Business Applications (OBAs) that integrate Microsoft Office and Microsoft server technologies.

  • SharePoint Line of Business (LOB) applications that provide portal style access to business information and functions.

For more information about application archetypes, see Chapter 20 "Choosing an Application Type."

Determine the Deployment Strategy

Your application may be deployed in a variety of environments, each with its own specific set of constraints such as physical separation of components across different servers, a limitation on networking protocols, firewall and router configurations, and more. Several common deployment patterns exist, which describe the benefits and considerations for a range of distributed and non-distributed scenarios. You must balance the requirements of the application with the appropriate patterns that the hardware can support, and the constraints that the environment exerts on your deployment options. These factors will influence your architecture design.

For more information about deployment issues, see Chapter 19 "Physical Tiers and Deployment."

Determine the Appropriate Technologies

When choosing technologies for your application, the key factors to consider are the type of application you are developing and your preferred options for application deployment topology and architectural styles. Your choice of technologies will also be governed by organization policies, infrastructure limitations, resource skills, and so on. You must compare the capabilities of the technologies you choose against your application requirements, taking into account all of these factors before making decisions.

For more information about technologies available on the Microsoft platform, see Appendix A "The Microsoft Application Platform."

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]