Client/Server Database Environment - MetaLab

subduedjourneySoftware and s/w Development

Oct 28, 2013 (3 years and 9 months ago)

101 views

Client/Server Database Environment

CI SB344 Database 2


At the end of this chapter, you should be
able to:


Define client/server systems, file server, fat
client, database server, stored procedure,
three
-
tier architecture, thin client,
application partitioning, middleware,
middleware and application program
interface (API)


Explain the three components of client server
systems: presentation, processing, and
storage


Distinguish between file server, database
server and three
-
tier architectures


Client/Server Database Environment

CI SB344 Database 2


A

networked

computing

model

that

distributes

processes

between

clients

and

servers

which

supply

requested

services


Client

Workstation (usually a PC) that
requests and uses a service


Server

Computer (PC/mini/mainframe)
that provides a service


For DBMS, server is a database server


Client/Server Database Environment

CI SB344 Database 2


Client/server architectures that have
evolved can be distinguished by the
distribution of application logic
components across clients and servers.


Three components of application logic:

1.
Presentation logic @ Input/output (I/O)

2.
Processing Logic

3.
Storage Logic

Client/Server Database Environment

CI SB344 Database 2

Formatting & presenting data on
user’ screen or other output devices.


Managing user input from a
keyboard or other input devices

GUI Interface

Client/Server Database Environment

CI SB344 Database 2


I/O @ data processing: Data
validation and identification of
processing errors.


Procedures,
functions,

programs

Client/Server Database Environment

CI SB344 Database 2


BR that have not been coded at
the DBMS level may be coded in
the processing component.


Business rules describe the
operations, definitions and
constraints that apply to
an organization in
achieving its goals.

Procedures,
functions,

programs

Client/Server Database Environment

CI SB344 Database 2


Identifies the data necessary for
processing the transaction or
query.


Procedures,
functions,

programs

Client/Server Database Environment

CI SB344 Database 2


Responsible for data storage &
retrieval from physical storage
devices

Activities of a DBMS


DBMS
activities

Client/Server Database Environment

CI SB344 Database 2


No one optimal client/server
architecture that is the best solution for
all business problems.


Flexibility in client/Server architecture


possibility of tailoring their configurations
to fit their particular processing needs.

Client/Server Database Environment

CI SB344 Database 2


The

process

of

assigning

portions

of

application

code

to

client

or

server

partitions

after

it

is

written

to

achieve

better

performance

and

interoperability
.


Advantages


Improved performance


Improved interoperability


Balanced workloads


Client/Server Database Environment

CI SB344 Database 2


Helps

in

tailoring


Gives

developer

opportunity

to

write

application

code



place

either

on

a

client

workstation

or

on

a

server


Application

code

can

be

developed

and

tested

on

a

client

workstation

Client/Server Database Environment

CI SB344 Database 2


Possible to add Transaction Processing
Monitors (TP)


TP monitors


balance workload,
directing transactions to servers that are
not busy


TP also useful in distributed environments


distributed transaction from a single
unit of work can be managed across a
heterogeneous environment.


Client/Server Database Environment

CI SB344 Database 2


Common Logic Distributions


Two tier client server
environments


Processing logic could be at client, server, or both


Client/Server Database Environment

CI SB344 Database 2


Common Logic Distributions


n
-
tier client server
environments


Processing logic will be at application server or
Web server


Client/Server Database Environment

CI SB344 Database 2



File Server Architecture



Database Server Architecture


(Two Tier Architecture)



Three
-
tier Architecture

Client/Server Database Environment

CI SB344 Database 2


All processing is done at the PC that
requested the data


FAT CLIENT


Each client PC is authorized to use the
DBMS when a database application
program runs on that PC


Entire files are transferred from the server to
the client for processing



Client/Server Database Environment

CI SB344 Database 2

CLIENT

Presentation
Logic

Processing
Logic

Storage
Logic

Client/Server Database Environment

CI SB344 Database 2


Limitations:


Huge amount of data transfer on the network


Each client must contain full DBMS


Heavy resource demand on clients


Client DBMSs must recognize shared locks, integrity
checks.

Client/Server Database Environment

CI SB344 Database 2

A device that
manages file
operations & shared
by each of the client
attached to the LAN

Client/Server Database Environment

CI SB344 Database 2

Most processing
occurs on the
client rather than
on a server

Client/Server Database Environment

CI SB344 Database 2

CLIENT

Presentation
Logic

Data
Processing
Logic

Business
Rules Logic

Client/Server Database Environment

CI SB344 Database 2

Database
Server

Database
storage

Access

Processing

Client/Server Database Environment

CI SB344 Database 2


DBMS

Database
Server

LAN
traffic is
reduced

SO

ON

Client/Server Database Environment

CI SB344 Database 2

Client/Server Database Environment

CI SB344 Database 2


Database


server not clients


Database server can be tuned


optimize database processing
performance


User authorization, integrity checking,
data dictionary maintenance and query

Client/Server Database Environment

CI SB344 Database 2


Departmental in scope (few users)


Not mission
-
critical


Low transaction volumes


Common programming languages:


Java, VB .NET, C#


Interface database via middleware, APIs


Client/Server Database Environment

CI SB344 Database 2


Middleware


software that allows an
application to interoperate with other
software without requiring user to
understand and code low
-
level operations


Application Program Interface (API)


routines that an application uses to direct
the performance of procedures by the
computer’s operating system


Common database APIs


ODBC, ADO
.NET, JDBC


Client/Server Database Environment

CI SB344 Database 2

1.
Identify and register a database driver.

2.
Open a connection to a database.

3.
Execute a query against the database.

4.
Process the results of the query.

5.
Repeat steps 3

4 as necessary.

6.
Close the connection to the database.

Client/Server Database Environment

CI SB344 Database 2

Client/Server Database Environment

CI SB344 Database 2


A client/server configuration that includes
three layers:


A client layer


2 server layers


Additional server if compared to dbase
server (2 tier)


Additional server may be used for different
purposes:


Application programs: Application Server


Local database



Client/Server Database Environment

CI SB344 Database 2








Thin Client



PC just for user interface and a little application
processing. Limited or no data storage (sometimes no
hard drive)


Client/Server Database Environment

CI SB344 Database 2

First Tier

Client

Second Tier

Database
Server

TASK



User Interface


First Tier

Client

Second Tier

Application
Server

Third Tier

Database
Server

TASK



Server
-
side
validation



Database Access

TASK



User Interface



Main Business

TASK



Business Logic



Data Processing
Logic


TASK



Data Validation



Database Access


Client/Server Database Environment

CI SB344 Database 2

CLIENT

SERVER

Manages the User Interface

Accepts

and processes database
requests from clients

Accepts and checks syntax of user
input

Checks authorization

Processes application logic

Ensures integrity

constraints not
violated

Generates database requests and
transmits to server

Performs query/update processing
and transmits response to client

Passes

response back to user

Maintains system catalog

Provides concurrent

database
access

Provides recovery control

Client/Server Database Environment

CI SB344 Database 2


An application where the client (PC)
accessing the application primarily
provides the user interfaces and some
application processing, usually with no or
limited local data storage.


Most commonly, the thin client
application is a Web browser and the 3
-
tier architecture involves a Web
application.


Client/Server Database Environment

CI SB344 Database 2


Client/Server Database Environment

CI SB344 Database 2


Database server


hosts storage logic for the
application and hosts the DBMS


e.g. Oracle, SQL Server, Informix, MS Access,
MySql


Web server


receive and respond to browser
requests using HTTP/HTTPS protocol


e.g. Apache, Internet Information Services (IIS)


Application server


software building blocks
for creating dynamic web sites and web based
application


e.g. MS ASP .NET framework, Java EE, ColdFusion,
PHP, Python and PERL


Web browser


client program that sends web
requests and receives web pages


e.g. Internet Explorer, Firefox, Safari, Google Chrome






Client/Server Database Environment

CI SB344 Database 2


Hypertext Markup Language (HTML)


Markup language specifically for Web pages


Standard Generalized Markup Language (SGML)


Markup language standard


Extensible Markup Language (XML)


Markup language allowing customized tags


XHTML


XML
-
compliant extension of HTML


JavaScript/VBScript




Scripting languages that enable interactivity in HTML
documents


Cascading Style Sheets (CSS)


Control appearance of Web elements in an HML
document


XSL and XSLT


XMS style sheet and transformation to HTML

Standards and Web
conventions established by

World Wide Web
Consortium (W3C)

Client/Server Database Environment

CI SB344 Database 2


Static page requests


.
htm

or .html requests are handled by the
Web server only


Dynamic page requests


.
jsp
, .
aspx
, and .
php

requests are routed to
the application server


Server
-
side processing by JSP
servlet
, ASP
.NET application, ColdFusion, or PHP


Database access via JDBC, ADO .NET, or
other database middleware

Client/Server Database Environment

CI SB344 Database 2

Client/Server Database Environment

CI SB344 Database 2






Client/Server Database Environment

CI SB344 Database 2


Form for the ASP .NET application





Client/Server Database Environment

CI SB344 Database 2






Stored procedures


Code logic embedded in DBMS


Improve performance, but proprietary


Transactions


Involve many database updates


Either all must succeed, or none should
occur


Database connections


Maintaining an open connection is resource
-
intensive


Use of connection pooling

Client/Server Database Environment

CI SB344 Database 2


Performance improves for compiled
SQL statements


Reduced network traffic


Improved security


Improved data integrity


Thinner clients

Client/Server Database Environment

CI SB344 Database 2


Advantages


Scalability


Technological Flexibility


Long
-
term cost reduction


Better match of systems to business needs


Improved customer service


Competitive advantage


Reduced risk

Information

in

this

slides

were

taken

from

Modern

Database

Management

System,

Ninth

edition

by

Jeffrey

A
.
Hoffer
,

Mary

B
.
Prescott

&

Heikki

Topi
.

Client/Server Database Environment

CI SB344 Database 2


SQL:


SELECT Product, Quantity

FROM Inventory

WHERE Warehouse = ‘
Kajang



CREATE PROCEDURE
sp_GetInventory

@location
varchar
(10)

AS

SELECT Product, Quantity

FROM Inventory

WHERE Warehouse = @location


EXECUTE
sp_GetInventory


Kajang
'


Client/Server Database Environment

CI SB344 Database 2


CREATE

PROCEDURE

Delete_Employee





(@
EmployeeId

INT)



AS





BEGIN





DELETE

FROM

Employees





WHERE

EmployeeId

=

@
EmployeeId
;



END




EXECUTE

Delete_Employee
(8)