Chapter 3
Database Architectures and the Web Transparencies
3
Database Environment -‐ Objec<ves
• The meaning of the client–server
architecture and the advantages of this type of architecture for a DBMS.
• The difference between two-‐<er, three-‐
<er and n-‐<er client–server architectures.
• About cloud compu<ng and data as a
service (DaaS) and database as a service (DBaaS).
• SoKware components of a DBMS.
4
Database Environment -‐ Objec<ves
• The purpose of a Web service and the
technological standards used to develop a Web service.
• The meaning of service-‐oriented
architecture (SOA).
• The difference between distributed DBMSs,
and distributed processing.
• The architecture of a data warehouse. • About cloud compu<ng and cloud
databases.
• The soKware components of a DBMS.
5
Mul<-‐user DBMS Architectures
• The common architectures that are used
to implement mul<-‐user database management systems:
– Teleprocessing – File-‐Server
6
File-‐Server
• File-‐server is connected to several worksta<ons across a network.
• Database resides on file-‐server.
• DBMS and applica<ons run on each worksta<on.
• Disadvantages include:
– Significant network traffic.
– Copy of DBMS on each worksta<on.
7
Teleprocessing
• One computer with a single CPU and a number of terminals.
• Processing performed within the same physical computer. User terminals are typically “dumb”, incapable of func<oning on their own, and cabled to the central computer.
8
File-‐Server Architecture
In a file-‐server environment, the processing is distributed
9
Tradi<onal Two-‐Tier Client-‐Server
• Client (<er 1) manages user interface and runs applica<ons.
• Server (<er 2) holds database and DBMS.
• Advantages include:
– wider access to exis<ng databases;
– increased performance;
– possible reduc<on in hardware costs;
– reduc<on in communica<on costs;
10
11
12
13
14
Web 3-‐Tier
15
Mobile 3-‐Tier
16
n-‐Tier Client-‐Server (e.g. 4-‐Tier)
• The three-‐<er
architecture can be
expanded to n <ers, with addi<onal <ers providing more flexibility and
scalability.
Applica<ons servers
host API to expose business logic and
business processes for use by other
17
N-‐Tier
18
19
20
RIA Web Applica<ons
HTML5 + CSS3 + JavaScript + JavaScript frameworks jQuery jQuery Mobile AngularJS Sencha EXT-‐JS SmartClient D3 Dart
GWT (Google Web Toolkit) JavaFX
21
Middleware
• Middleware is a generic term used to
describe soKware that mediates with other soKware and allows for
communica<on between disparate
applica<ons in a heterogeneous system.
• The need for middleware arises when
distributed systems become too complex to manage efficiently without a common interface.
23
Middleware
• Remote Procedure Call (RPCs) — Client makes calls to procedures running on remote systems.
• Message Oriented Middleware (MOM) — Messages sent to the client are collected and
stored un3l they are acted upon, while the client con3nues with other processing.
• Object Request Broker (ORB) — This type of
middleware makes it possible for applica3ons to send objects and request services in an object-‐ oriented system.
• SQL-‐oriented Data Access — middleware between applica3ons and database servers.
24
• The Na<onal Ins<tute of Standards and Technology (NIST) provided a defini<on.
• Defined as “A model for enabling ubiquitous, convenient, on-‐demand network access to a
shared pool of configurable compu<ng resources (e.g. networks, servers, storage, applica<ons,
and services) that can be rapidly provisioned and released with minimal management effort or service provider interac<on.”
25
Transac<on Processing Monitor as
middle <er of 3-‐<er client-‐server
26
Web Services and Service-‐Oriented
Architectures
• Web service is a soKware system designed to support interoperable machine-‐to-‐web
service machine interac<on over a network.
• Web services share business logic, data, and processes through a programma<c interface across a network.
• Developers can add the Web service to a Web page (or an executable program) to offer specific func<onality to users.
27
Web Services and Service-‐Oriented
Architectures
– UDDI (Universal Discovery, Descrip3on, and
Integra3on) protocol is a plaWorm independent, XML-‐based registry for businesses to list
28
29
Data Warehousing
• A data warehouse was deemed the solu<on to
meet the requirements of a system capable of suppor<ng decision making, receiving data
30
Cloud Compu<ng
• The Na<onal Ins<tute of Standards and Technology (NIST) provided a defini<on.
• Defined as “A model for enabling ubiquitous, convenient, on-‐demand network access to a
shared pool of configurable compu<ng resources (e.g. networks, servers, storage, applica<ons,
and services) that can be rapidly provisioned and released with minimal management effort or service provider interac<on.”
31
Cloud Compu<ng – Key
Characteris<cs
• On-‐demand self-‐service
– Consumers can obtain, configure and deploy
cloud services without help from provider. • Broad network access
– Accessible from anywhere, from any
standardized placorm (e.g. desktop computers, laptops, mobile devices).
32
33
34
Cloud Compu<ng – Comparison of
Services Models
35
Cloud-‐based database solu<ons
• Mul<-‐tenant cloud database-‐shared server,
separate database server process architecture.
36
Cloud-‐based database solu<ons
• Mul<-‐tenant cloud database-‐shared DBMS server, separate databases.
37
Cloud-‐based database solu<ons
• Mul<-‐tenant cloud database-‐shared DBMS server, separate databases.
38
Cloud-‐based database solu<ons
• Mul<-‐tenant cloud database–shared
39
Components of a DBMS
• Query processor.
• Database manager (DM) • File manager DML
• Recovery manager • Buffer manager
40
41
Components of Database Manager
(DM)
42
In Class Qs
• 3.1 • 3.5
43
HWK
• 3.7 • 3.14