Application Architecture Guide - Chapter 12 - Data Access Layer Guidelines

From Guidance Share

(Difference between revisions)
Jump to: navigation, search

Revision as of 19:15, 29 December 2009

Contents

Chapter 12: Data Access Layer Guidelines

Objectives

  • Understand how the data layer fits into the application architecture.
  • Understand the components of the data layer.
  • Learn the steps for designing these components.
  • Learn the common issues faced when designing the data layer.
  • Learn the key guidelines for designing the data layer.
  • Learn the key patterns and technology considerations for designing the data access layer.

Overview

This chapter describes the key guidelines for designing the data layer of an application. The guidelines are organized by category and cover the common issues encountered, and mistakes commonly made, when designing the data layer. Figure 1. shows how the data layer fits into typical application architecture.



Figure 1 A typical application showing the data layer and the components it may contain

Data Layer Components

  • Data access logic components. Data access components abstract the logic necessary to access your underlying data stores. Doing so centralizes the data access functionality, which makes the application easier to configure and maintain.
  • Data helpers / utilities. Helper functions and utilities assist in data manipulation, data transformation, and data access within the layer. They consist of specialized libraries and/or custom routines especially designed to maximize data access performance and reduce the development requirements of the logic components and the service agent parts of the layer.
  • Service agents. When a business component must use functionality exposed by an external service, you might need to create code that manages the semantics of communicating with that service. Service agents isolate your application from the idiosyncrasies of calling diverse services, and can provide additional services such as basic mapping between the format of the data exposed by the service and the format your application requires.
Personal tools