IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

31
IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    233
  • download

    2

Transcript of IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

Page 1: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

IS 4420Database Fundamentals

Chapter 9: The Client/Server

Database Environment

Leon Chen

Page 2: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

2

Overview Explain three application components:

presentation, processing, and storage Distinguish between file server, database

server, 3-tier, and n-tier approaches Middleware and ODBC Microsoft Access

Query-by-example (QBE) VBA

Page 3: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

3Client / Server Architecture

clientsclients

ServerServer

Page 4: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

4

Client/Server Systems

Networked computing model Processes distributed between clients

and servers 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

Page 5: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

5

Application Logic in Client/Sever Systems

Procedures, functions,programs

Processing Logic I/O processing Business rules Data management

DBMS activitiesStorage Logic

Data storage/retrieval

GUI Interface

Presentation Logic Input – keyboard/mouse Output – monitor/printer

Page 6: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

6

Client/Server Architectures

File Server Architecture

Database Server Architecture

Three-tier Architecture

Client does extensive processing

Client does little processing

Page 7: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

7

File Server Architecture

FAT FAT CLIENTCLIENT

Page 8: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

8

File Server Architecture

All processing is done at the PC that requested the data

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

Problems: 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, etc.

FAT FAT CLIENTCLIENT

Page 9: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

9Two-tier database server architecture

Thinner Thinner clientsclients

DBMS only DBMS only on serveron server

Page 10: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

10

Two-Tier Database Server Architectures

Client is responsible for I/O processing logic Some business rules logic

Server performs all data storage and access processing DBMS is only on server

Page 11: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

11

Advantages of Two-Tier Approach

Clients do not have to be as powerful

Greatly reduces data traffic on the network

Improved data integrity since it is all processed centrally

Stored procedures some business rules done on server

Page 12: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

12

Advantages of Stored Procedures

Compiled SQL statements Reduced network traffic Improved security Improved data integrity Thinner clients

Page 13: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

13

Three-tier Architecture

Thinnest clientsThinnest clients

Business rules on Business rules on application serverapplication server

DBMS only on DBMS only on Database Database serverserver

Page 14: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

14

Three-Tier Architectures

Thin Client PC just for user interface and a little application

processing. Limited or no data storage (sometimes no hard drive)

GUI interface (I/O processing)

Browser

Business rules Web Server

Data storage DBMS

ClientClient

Application serverApplication server

Database serverDatabase server

Page 15: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

15

Advantages of Three-Tier Architectures

Scalability Technological flexibility Long-term cost reduction Better match of systems to business

needs Improved customer service Competitive advantage Reduced risk

Page 16: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

16

Challenges of Three-tier Architectures

High short-term costs Tools and training Experience Incompatible standards Lack of compatible end-user

tools

Page 17: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

17

Application Partitioning

Placing portions of the application code in different locations (client vs. server)

Advantages Improved performance Improved interoperability Balanced workloads

Page 18: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

18

Parallel Computer Architectures

Tightly Coupled Symmetric Multiprocessing (SMP) Multiple CPUs Shared RAM

Loosely Coupled Massively Parallel Processing (MPP) Multiple CPUs Each CPU has its own RAM space

Page 19: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

19

Middleware

Software which allows an application to interoperate with other software

No need for programmer/user to understand internal processing

Accomplished via Application Program Interface (API)

Page 20: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

20

Types of Middleware Remote Procedure Calls (RPC)

client makes calls to procedures running on remote computers synchronous and asynchronous

Message-Oriented Middleware (MOM) asynchronous calls between the client via message queues

Publish/Subscribe push technology server sends information to client when available

Object Request Broker (ORB) object-oriented management of communications between clients

and servers SQL-oriented Data Access

middleware between applications and database servers

Page 21: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

21

Database Middleware ODBC – Open Database Connectivity

Most DB vendors support this

OLE-DB OLE –Object Linking and Embedding Microsoft enhancement of ODBC

JDBC – Java Database Connectivity Special Java classes that allow Java

applications/applets to connect to databases

Page 22: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

22

Using ODBC to Link External Databases Stored on a Database

Server Open Database Connectivity (ODBC) API that provides a common language for application programs

to access and process SQL databases independent of the particular RDBMS that is accessed

Required parameters: ODBC driver Back-end server name Database name User id and password

Additional information: Data source name (DSN) Windows client computer name Client application program’s executable name

Java Database Connectivity (JDBC) is similar to ODBC,uut built specifically for Java applications

Page 23: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

23

ODBC Architecture

Oracle9iOracle ODBC driver

Microsoft Access

Page 24: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

24

Unix server with Oracle9i

Client with Microsoft Access

ODBC

Page 25: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

25

Microsoft Access Introduction – Excerpted from Wikipedia

Microsoft Access is a relational database management system from Microsoft, packaged with Microsoft Office Professional which combines the relational Microsoft Jet Database Engine with a graphical user interface.

It can use data stored in Access/Jet, SQL Server, Oracle, or any ODBC-compliant data container.

Some professional application developers use Access for rapid application development (RAD), especially for the creation of prototypes and standalone applications

Skilled software developers and data architects use it to develop powerful, complex applications.

Relatively unskilled programmers and non-programmer "power users" can use it to build simple applications without having to deal with features they don't understand.

Page 26: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

26

Microsoft Access Introduction – Excerpted from Wikipedia

(cont.) Access does not scale well if data access is via a

network, so applications that are used by more than a handful of people tend to rely on a Client-Server based solution such as Oracle, DB2, Microsoft SQL Server, PostgreSQL, MySQL, or MaxDB.

However, an Access "front end" (the forms, reports, queries and VB code) can be used against a host of database backends, including Access itself, SQL Server, Oracle, and any other ODBC-compliant product.

Page 27: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

27

Microsoft Access usability hierarchy

Page 28: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

28

Query-by-Example (QBE)

Direct-manipulation database language Graphical approach Available in MS Access MS Access translates QBE to SQL and vice

versa Useful for end-user database programming Good for ad hoc processing and prototyping

Page 29: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

29

QBE view of a multiple-table join query

Page 30: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

30

View SQL Code of QBE

Page 31: IS 4420 Database Fundamentals Chapter 9: The Client/Server Database Environment Leon Chen.

31

Visual Basic for Applications VBA is the programming language

that accompanies Access VBA provides these features (that

Access Macro might not have): Ability to perform complex functionality Error handling Faster execution than macros Easier maintenance OLE automation Programmatic control Ease of reading for programmers

Event-driven – nonprocedural programming that detects events and generates appropriate responses