Module 8: Designing Data Services
THIS PAGE LEFT INTENTIONALLY BLANK
Module 1: Course
Overview
Module 4: Deriving a
Logical Data Design
Module 5: Normalizing the
Logical Data Design
Module 6: Deriving a
Physical Data Design
Module 7:
Implementing Data
Integrity
Module 2: Solution
Design Processes
Module 3: Using a
Conceptual Design for Data
Requirements
Module 8: Designing
Data Services
Module 9: Data Storage
Considerations
Designing Data
Services and
Data Models
Overview of Data
Services
Accessing Host-Based
Systems
Accessing Relational
Data
Activity 8.1: Selecting Data Access
Technologies
Module 8: Designing Data
Services
Module 8: Designing Data Services 171
!
!!
! Overview
"
Overview of Data Services
"
Accessing Relational Data
"
Accessing Host-Based Systems
"
Activity 8.1: Selecting Data Access Technologies
"
Review
In this module...
In this module...
At the end of this module, you will be able to:
"
Determine the role of data services for a business solution.
"
Describe the issues involved in distributing data access technologies.
"
List the primary considerations for choosing a data access technology.
"
List and describe primary data access technologies from Microsoft
®
.
"
Determine the appropriate data access technology for a business solution.
Slide Objective
To provide an overview of
this module’s topics and
objectives.
Lead-in
In this module, you will learn
how to design data services.
172 Module 8: Designing Data Services
!
!!
! Overview of Data Services
"
Data Services Design
"
Deploying Data Services
In this section...
In this section...
In this section, you will learn the basic concepts of data services. You will also
learn the benefits of using different types of data services and services-based
design in building a data-centric solution.
Slide Objective
To introduce data service
fundamentals.
Lead-in
Before deciding on a data
access technology, you
need to understand the
fundamentals of data
services.
Module 8: Designing Data Services 173
Data Services Design
"
Separates business services
from the application’s data store
"
Provides basic create, retrieve,
update, and delete capabilities
"
Performs data aggregation
"
Provides data integrity
User
Interface
User
Interface
User Services
User Services
Business
Services
Business
Services
Data Services
Data Services
Data Store
Data Store
As discussed in Module 2, “Solution Design Processes,” an application’s design
can be represented as multiple tiered services. Within these tiered services, data
services act as an intermediary between the application’s business services and
its data store. Thus, as an application’s data store changes, as a data store’s
structure changes, or as multiple data stores are consolidated, the higher levels
of the application, from the business services up, do not need to be changed.
Data services can be grouped into three categories: basic data services, data
aggregation, and data integrity. (Data integrity was already discussed in
Module 7, “Implementing Data Integrity.”) This module focuses on basic data
services and data aggregation.
Basic data services
Basic data services are often referred to as CRUD: create, retrieve, update, and
delete. These data services encapsulate and thus simplify the many steps
required to perform these operations. The development team can create COM
components to provide CRUD for a particular data store or multiple data stores.
In the latter case, the components simplify access by presenting a single
interface between the data stores and the other application services.
Data aggregation
Data aggregation services manipulate and derive information required by the
application. A typical data aggregation service might summarize the records
within the data store and present only summarized information, not individual
data records. Other aggregation services might derive information based on
columns within a data store, such as multiplying two columns to present a third
data column to the application.
Slide Objective
To introduce data service
design.
Lead-in
When designing an
application, it is important to
consider the different layers
that can influence the data
access technology.
174 Module 8: Designing Data Services
Identifying data services
To determine what data services a solution needs, you should perform the
following:
"
Examine the number of data stores that the application accesses.
"
Identify the basic data services required by the application.
"
Look for information derived from data records that is required by the
application.
Module 8: Designing Data Services 175
Deploying Data Services
"
Deployment of logical design
"
Client (Web browsers and
Windows)
"
Application servers
"
Database servers
Database
Database
Server
Server
Application
Servers
Application
Servers
Client
Client
Deciding where data services reside and how they will be accessed can be
complicated. All data services must reside somewhere in a physical design, so
you will need to weigh the advantages and disadvantages of each possible
configuration. Depending on the architecture used in building the solution, data
services can reside in any one of three locations:
"
Client
Data services reside in the client application typically as information stored
in a recordset object. Often, this recordset object does not maintain a
continuous connection to the data source, in which case it is called a
disconnected recordset.
"
Application server
Data services are abstracted into a set of objects that reside on a server. This
application server acts as a proxy on the client’s behalf and accesses and
manipulates data according to a set of rules by using COM components.
"
Database server
Data services are in the database engine. Stored procedures or triggers are
used to help automate data manipulation and process basic rules.
Slide Objective
To explain both the
locations to which data
services can be deployed
and several factors that
influence their deployment.
Lead-in
Data service deployment is
more complex than it initially
appears to be. Here are a
few considerations that
should be investigated.
176 Module 8: Designing Data Services
The following table identifies some advantages and disadvantages of using one
location over another.
Location Advantages Disadvantages
Client Fewer client requests to the data store. The
client will not be required to query the data store
as often. This decrease in data queries can result
in improved client performance after the initial
data recordset is created at the client.
More maintenance. For example, if the access
method is changed or a bug in the code is corrected,
a new version needs to be recompiled and
distributed. Depending on the type of user interface
(Web based or Microsoft
®
Windows based) this
process could be time consuming and costly.
Typically, Windows-based applications are more
difficult to redeploy to clients than Web-based
applications.
Increased network traffic. Multiple clients
simultaneously requesting a recordset could put a
large load on the network, depending on the size of
the recordset.
Increased client resources. Increasing the amount of
processing required by the client means increasing
the client’s capacity to handle the excess load.
Application
server
Easier maintenance. The increased cost of an
application server might be offset by the
maintainability of the system. Any necessary
changes can be made on one or a few computers,
as opposed to possible thousands of clients.
Scaleable. As the load on the system increases,
additional application servers can be added to
distribute the increase.
Increased cost. Introducing a middle tier into a
solution will probably increase the solution’s overall
cost. The added cost is associated not only with the
hardware and software of the computer(s) serving as
the application server, but also in the development
costs of creating and maintaining the code that will
serve the data access requests.
Database
server
Less network traffic. If recordsets from multiple
sources were needed, they could be retrieved and
processed in one central location, as opposed to
each client receiving a copy of the data.
Easier maintenance. The code that establishes
the connections would be in fewer locations and
provide faster and easier access for maintenance.
Improved security. Security is handled at the data
source, rather than remotely.
Possible bottleneck. As the load on the system
grows, having one point of connectivity could
present a bottleneck.
Module 8: Designing Data Services 177
!
!!
! Accessing Relational Data
"
OLE DB and ODBC
"
ADO, RDO, and DAO
"
Selecting a Data Access Technology
In this section...
In this section...
In this section, you will learn about various data access technologies and some
of the factors that you should take into account when deciding which
technology is most suitable for your application.
Slide Objective
To introduce data access
technologies.
Lead-in
This section examines
various data access
technologies and factors
that can influence your
decision about which to use.