13 sept 2008

MS patterns & practices: App Arch Guide - Updates (Dic.2002 to Date.Now !)


Architecture and Design

The following diagram represents a common application architecture with components grouped by different areas of concern

 Arch.JPG

Architecture and Design Guidelines
 

Pattern Map


Area Relevant Patterns
Authentication and Authorization Direct Authentication
Brokered Authentication
Federated Authentication (SSO)
Trusted Sub-System
Caching Cache Dependency
Page Cache
Communication Pipes and Filters
Intercepting Filter
Composition Composite View
Template View
Transform View
Two-step View
Concurrency and Transactions Coarse Grained Lock
Implicit Lock
Optimistic Offline Lock
Pessimistic Offline Lock
Transaction Script
Capture Transaction Details
Configuration Management Provider
Coupling and Cohesion Adapter
Dependency Injection
Data Access Active Record
Data Mapper
Query Object
Repository
Row Data Gateway
Table Data Gateway
Exception Management Exception Shielding
Layering Entity Translator
Façade
Layered Architecture
Service Interface
Service Layer
Logging and Instrumentation Provider
State Management Context Object
Structure Client/Server
N-Tier
Software + Services (S+S)
Software as a Service (SaaS)
Platform as a Service (PaaS)
User Experience Asynchronous Callback
Chain of Responsibility
Validation Publish/Subscribe
_Workflow_ Data-driven workflow
Human workflow
Sequential workflow
State-driven workflow

 
 Business Layer Guidelines
 
Business Layer – When designing the business layer following are the key activities that you need to perform.
  • Identify the consumers of your business layer
  • Determine how you expose your business layer
  • Determine security requirements of your business layer
  • Determine your validation requirements and strategy for business layer
  • Determine caching strategy for your business layer
  • Determine exception management strategy for your business layer

Business Components – When designing the business components following are the key activities that you need to perform.
  • Identify different types of business components
  • Determine application design considerations
  • Identify transactional requirements
  • Identify how business rules are handled
  • Identify patterns that fit the requirements

Business entities – When designing the business entities following are the key activities that you need to perform.
  • Identify common data formats for business entities
  • Determine how data will be used in the application
  • Choose your approach for managing rules
  • Optionally choose your design for custom objects
  • Optionally determine serialization support
Presentation Layer Guidelines
 

Approach

Use the following steps to help organize your thinking when designing the presentation layer:
  1. Identify your client type. Choose a client type that satisfies your requirements and adheres to the infrastructure and deployment constraints of your organization.
  2. Determine how you present data. Choose the data format for your presentation layer and decide how you will present the data in your User Interface (UI).
  3. Determine your data validation strategy. Use data validation techniques to protect your system from un-trusted input.
  4. Determine your business logic strategy. Factor your business logic to decouple business logic from presentation layer code.
  5. Determine your strategy for communication with other layers. If your application has multiple layers, such as a data access layer and a business layer, determine a strategy for communicating from your presentation layer to these other layers.

Design Considerations

Use the following design principles when designing the presentation layer:
  • Choose the appropriate UI technology. Determine if you will implement a rich client, a web client, or a rich internet application.
  • Choose relevant patterns. Review the presentation layer patterns for proven solutions to common presentation problems.
  • Design for separation of concerns. Use dedicated UI components to focus on rendering and display. Use dedicated presentation entities to manage the data required to present your views. Use dedicated UI process components to manage user interaction processing.
  • Consider human interface guidelines. Review guidelines that have been established for your organization. Review common user interface guidelines based upon the client type and technologies that you have chosen.
  • Adhere to user-driven design. Before designing your presentation layer, understand your customer. Use surveys, usability studies and interviews to determine the best presentation design for your customer's needs.
 

Guidelines Index

J.D. Meier , Alex Homer, Jason Taylor , Prashant Bansode , Lonnie Wall, Rob Boucher, Akshay Bogawat.

Guidelines present the "what to do", "why", and "how." They're organized using frames. A frame is simply a collection of hot spot areas to organize the guidance into meaningful buckets.

Architecture and Design

Layers

 
 
 
 

No hay comentarios:

FeedCount

analytics

 
sfrede