14.01.2015 Views

Application Architecture Guide 2.0 BETA 1 - Willy .Net

Application Architecture Guide 2.0 BETA 1 - Willy .Net

Application Architecture Guide 2.0 BETA 1 - Willy .Net

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Coupling and Cohesion<br />

Data Access<br />

Exception Management<br />

Logging and Instrumentation<br />

User Experience<br />

Validation<br />

Workflow<br />

after deployment, where you store configuration data, and how you<br />

protect configuration data.<br />

Coupling and cohesion are strategies concerned with layering,<br />

separating application components and layers, and organizing your<br />

application trust and functionality boundaries.<br />

Data access strategies describe techniques for abstracting and accessing<br />

data in your data store. This includes data entity design, error<br />

management, and managing database connections.<br />

Exception management strategies describe techniques for handling<br />

errors, logging errors for auditing purposes, and notifying users of error<br />

conditions.<br />

Logging and instrumentation represents the strategies for logging key<br />

business events, security actions, and provision of an audit trail in the<br />

case of an attack or failure.<br />

User experience is the interaction between your users and your<br />

application. A good user experience can improve the efficiency and<br />

effectiveness of the application, while a poor user experience may deter<br />

users from using an otherwise well-designed application.<br />

Validation is the means by which your application checks and verifies<br />

input from all sources before trusting and processing it. A good input<br />

and data validation strategy takes into account not only the source of<br />

the data, but also how the data will be used, when determining how to<br />

validate it.<br />

Workflow is a system-assisted process that is divided into a series of<br />

execution steps, events, and conditions. The workflow may be an<br />

orchestration between a set of components and systems, or it may<br />

include human collaboration.<br />

Key Engineering Decisions<br />

Use the architecture frame as a way to organize and think about key engineering decisions. The<br />

following table shows key engineering decisions for each category in the architecture frame.<br />

Category<br />

Key Problems<br />

Authentication and<br />

• How to store user identities.<br />

Authorization<br />

• How to authenticate callers.<br />

• How to authorize callers.<br />

• How to flow identity across layers and tiers<br />

Caching and State • How to choose effective caching strategies.<br />

• How to improve performance by using caching.<br />

• How to improve security by using caching.<br />

• How to improve availability by using caching.<br />

• How to keep cached data up to date.<br />

• How to determine when to use a custom cache.<br />

• How to determine the data to cache.<br />

• How to determine where to cache the data.<br />

32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!