Client oder Server

Werbung
Teil III: Architektur und Aufbau (verteilter)
Informationssysteme
Architektur - 1
IS-K2001
Übersicht und Zielsetzung von Teil III
●
Verstehen der Zusammenhänge, wenn man von der traditionellen
zentralen Datenbank als Plattform für die Anwendungsentwicklung in
eine verteilte Umgebung übergeht und Client/Server (Two-Tier) oder
Client/Middleware/Server-Architektur (Three-Tier) betrachtet.
●
Grundlagen für verteilte und mehrstufige Transaktionsverwaltung sowie
Einordnung von Transaktionsmodellen und Verfahren für verteilte und
föderierte Transaktionsverwaltung
●
Einblick in „Enterprise Resource Planning“ Systeme (ERPs) am
Beispiel von SAP /R3
IS-K2001
Architektur - 2
Kap. 8 Architektur von IS
Client/Server/Middleware
8.1 Hintergrundinformation - Hardware (Stand 2000)
K a p a z itä t
G e s c h w in d ig k e it
Z u g r if f s z e it
P r e is
L 1 -C a c h e
16 - 32 KB
1 3 0 0 M B /s
4 ns
c a . 3 0 0 0 F r/M B
L 2 -C a c h e
256 KB - 4 M B
3 0 0 M B /s
10 ns
2 0 F r/M B
16 M B - 4 G B
8 0 M B /s
40 ns
1 F r/M B
1 - 160 G B
5 – 4 0 M B /s
5 m s
0 ,0 2 F r/M B
640 M B
2 G B
3 M B /s
150 m s
0 ,1 0 F r/M B
4 G B
b is > 1 0 0 G B
2 - 1 0 M B /s
100 m s
b is > 1 0
s
0 ,0 0 3 F r/M B
RAM
F e s tp la t te
CD RO M
D LD :
Band
---
N e tz w e rk
10
100
F a s t- E th e r n e t:
G ig a b it- E th e r n e t:
ca. 1 m s
M B /s
---
M B /s
Architektur - 3
IS-K2001
Hintergrundinformation - Beispielplatte (ca. 2000)
Q u a n tu m A tla s 1 0 K II
B a u a rt
S p e ic h e rk a p a z itä t
S c h n itts te lle
U ltra 1 6 0 S C S I
T ra n s fe rra te
lin e a r r/w im M itte l: 3 0 M B /s
c ’t H d b e n c h : 2 6 .5 M B /s
8 1 9 6 K B yte
C ache
R o ta tio n s g e s c h w in d ig k e it
P o s itio n ie rz e it
W a h lfre ie r S e k to rzu g riff
1 0 0 0 0 U /m in
m ittle re : 5 m s
m a xim a l: 1 3 m s
ca . 8 m s
A n za h l P la tte n
10
A n za h l K ö p fe
20
S e k to re n g rö s s e
E n e rg ie ve rb ra u c h (R u h e )
M e a n -T im e -B e tw e e n -F a ilu re
P re is
IS-K2001
3 ,5 Z o ll
(ca . 1 4 x 1 0 x 4 cm / 1 k g )
B is 7 5 G B yte
5 1 2 B yte s
1 4 W a tt
1 000 000 h
ca . 2 5 0 0 ,- F r
Architektur - 4
Umgebung - Software/Kommunikation
ISO-OSI Schichtenmodell:
Anwendung (AP): Präsentation,
Datenverarbeitung
● AP und DBMS häufig auf
verschiedenen Rechnern
● Kommunikation: Verbindung
zwischen der Software. Wird vom
Betriebssystem bereitgestellt.
● Wir betrachten nur die
Kommunikation ausserhalb des
Betriebssystems
●
AP
Betriebssystem
7
Anwendung
6
Präsentation
5
Sitzung
4
Transport
3
Netzwerk
2
Log. Verbindung
1
Phys. Verbindung
Gegenüber Betriebssystem ist
auch das DBMS ein
Anwendungsprogramm!
●
Architektur - 5
IS-K2001
8.2 DBMS-Einbettung
Ein-Stufen Architektur (1)
●
Single User DBMS
◆ ein Prozess und ein Adressraum
◆ keine Concurrency Control
◆ einfachstes Crash Recovery
AP
Prozess
DBMS
AP … Anwendungsprogramm mit DBAufruf
● DBMS … gehört zum Adressraum des
AP
●
Betriebssystem
==> PC-Datenbanksysteme!
IS-K2001
Architektur - 6
Ein-Stufen Architektur (2)
●
●
●
●
●
●
Multi-User DBMS: mehrere Prozesse, Kommunikation über
gemeinsamen Adressraum, daher:
◆ Sehr effizienter Datenaustausch über Shared Memory, aber
◆ keine Sicherheit gegenüber Fehlern im Anwenderprogramm
AP i … Anwendungspgm mit
DB-Aufrufen
DA i … Speicherbereich für
Datenaustausch zwischen
DBMS und AP i
DBMS … gehört zum
Adressraum der AP i, wird nur
einmal geladen („reentrant
code“)
SP … Systempuffer des DBMS,
gemeinsamer Speicherbereich
GST …globale
Synchronisationstabelle für den
Zugriff auf SP
AP 1
AP n
DA 1
DBMS
DA n
SP
GST
DBMS
Betriebssystem
Beispiel: IBM System/R - Forschungsprototypsystem
Architektur - 7
IS-K2001
Zwei-Stufen Architektur: “Client/Server”
Client und Server sind völlig getrennt
● Kommunikation zwischen Client und Server über ein Netzwerk oder
IPC. Dabei wird ein spezielles Protokoll verwendet, z.B. JDBC, Net8
(bei Oracle)
● Klare Aufgabenteilung zwischen Client und Server
●
Client
DB
Server
DB Client
Library
DB Server
Library
Netzwerk, IPC
Betriebsystem
Client
IS-K2001
Betriebsystem
Server
Architektur - 8
Vergleich: Ein- / Zwei-Stufen
Vorteile
◆
◆
◆
◆
◆
◆
◆
Nachteile
hohe Sicherheit durch Trennung der
Adressräume zwischen Client und
Server,
problemgerechte Arbeitsteilung
zwischen Clients und Servern,
physische Verteilung leicht möglich,
da praktisch eingebaut,
hohe Flexibilität und gute
Skalierbarkeit durch leichtes
Hinzufügen von Ressourcen,
wirtschaftliche Nutzung gemeinsamer
Ressourcen (z.B. periphere Geräte),
Vermeiden eines kritischen
Fehlerortes durch Server-Replikation
und Shadowing,
Verwendung bekannter Werkzeuge,
z.B. zur Entwicklung von Client-GUIs
◆
◆
◆
◆
geringere Server-Leistung
Uebertragen grosser
Datenmengen zwischen Client
und Server
oft unbefriedigende
Verfügbarkeit von Entwurfs- und
Administrationswerkzeugen
erhöhter Aufwand für
Administration und Wartung
Architektur - 9
IS-K2001
Klassifikationsübersicht bei Client/Server
DB-Server
IS-K2001
Monolithisch
Multiple Server
ein DBS-Prozess
mehrere DBS-Prozesse
Symmetrisch
Asymmetrisch
pro AP ein
DBS-Prozess
dynamische
Zuordnung der
APs zu den DBSProzessen
Architektur - 10
Client/Server Architekturen
(1) mehrere DB Serverprozesse
◆ Kommunikation zwischen den Servern über “shared memory”
◆ zwischen Clients und Servern bzw. Dispatcher über BS-Mechanismen
(IPC) oder Netzsoftware
◆ Symmetrische Zuordnung - jedem Client ist genau ein Server Prozess
zugeordnet: statische Zuordnung, feste Anzahl n Server vorgeneriert
==> maximaler Parallelitätsgrad ist n
◆ Asymmetrisch - ein Client wird mit Hilfe eines Dispatcher mit einem
Server Prozess verbunden. Feste Anzahl Server vorgeneriert, aber
Parallelitätsgrad kann höher sein
● (2) ein DB Serverprozess
◆ Synchronisierter Zugriff auf Systempuffer und zentrale Systemtabellen
◆ Server verwendet Multi-Threading (Reentrant Code)
◆ genau ein Server-Prozess für viele Clients
◆ DB-Serverprozess ist vom BS bevorzugt!
●
Architektur - 11
IS-K2001
Monolitischer Server
eigene Ressourcenverwaltung, dupliziert BS-Funktionen
● einfache Kommunikation im Server durch Shared Memory
● z.B. Sybase, MS SQL Server
●
AP
AP
Client … Client
1
i
CL
CL
Betriebssystem 1
AP
Client
k
DBMS
Server
1
CL
Betriebssystem n
Netzwerk
IS-K2001
Architektur - 12
Multiple Server
DBMS ist ein Verbund von verschiedenen Prozessen
● Kommunikation über Betriebssystem (z.B. IPC) oder Netzwerk
● Scheduling der Prozesse geschieht über das Betriebssystem, grosser
Vorteil bei Mehrprozessor-Rechnern, da Prozessorzuteilung durch das
BS erfolgt
● z.B. Oracle, Informix, DB2
●
CL
CL
AP
Client
m
Dispatcher
AP
AP
Client … Client
1
i
CL
Betriebssystem 1
DBMS … DBMS
Server
Server
1
k
Betriebssystem n
Netzwerk
Architektur - 13
IS-K2001
Beispiele: Sybase und Oracle
●
Sybase: Monolithischer Server
◆ ein Serverprozess
◆ eigenes “Process”-Scheduling
◆ weniger Shared Memory
●
O
M
E
D
Oracle: Multipler Server
◆ sowohl symmetrisch als auch asymmetrisch konfigurierbar
– dedicated Server
– shared Server mit Dispatcher
◆
DB-Prozesse mit verschiedenen Aufgaben:
– Recoverer, Process Monitor,System Monitor, Database Writer, Log
Writer, Archiver,
Checkpoint, Dispatcher, Lock
IS-K2001
Architektur - 14
Oracle Prozessübersicht (1)
LCKn
RECO
PMON
SMON
System Global Area
Database
Buffer Cache
User
Shared Dedicated
Server Server
Redo Log
Buffer
CKPT
DBWR
Offline
Storage
ARCH
LGWR
D000
Control
User
Data
Redo
Log
Architektur - 15
IS-K2001
Oracle Prozessübersicht (2)
●
●
●
●
●
●
●
●
●
●
User - Embedded C Programme oder Oracle Tools
LCKn - Lock Process (Parallel Server Option)
RECO - Recoverer (verarbeitet hängende verteilte Transaktionen)
PMON - Process Monitor (räumt nach Prozessfehler auf)
SMON - System Monitor (Startup Recovery, Garbadge Collection)
D000 - Dispatcher (verantwortlich für die Kommunikation mit dem
User)
DBWR - Database Writer (schreibt Blöcke aus dem Database Buffer
auf Platte, Cache Manager)
CKPT - Checkpoint
LGWR - Logwriter (schreibt Redo Information auf Platte)
ARCH - Archivierer (Kopiert Redo-Log-Files aufs Backup Medium)
IS-K2001
Architektur - 16
Oracle Verbindungsaufbau
Service Name
Client
AP
nameserver
Host, Port, SID
SID
listener
dispatcher
Names
Dedicated
Server
Shared
Server
Shared
Server
Architektur - 17
IS-K2001
8.3 Aufgabenteilung: Client oder Server
Thin- / Thick Client?
Wieviel soll der Client machen?
◆ Präsentation
◆ Anwendungsfunktionalität
● Was sind die Aufgaben des Servers?
◆ Datenverwaltung
◆ Anwendungsfunktionalität
●
Client
Data
Presentation
IS-K2001
Server
Access
Functionality
Data
Management
Architektur - 18
Relation Server
Client sendet
◆ SQL Queries oder
Updates
◆ Stored-ProceduresAufrufe
● Server sendet
◆ Tabellen als Menge von
Ergebnis-Tupeln
◆ Einfache Werte
●
●
Application
Query Language
Interface
Communications Manager
SQL
Query
Result
Table
◆
◆
◆
◆
Procedure
Call
Result
Return
Communications Manager
Query Optimizer
Beispiele:
◆
Programmatic
Interface
...
Index Manager
Oracle
Sybase
DB2
Informix
...relationale DBMS
Stored Procedure
Transaction Manager
Page Cache Manager
Database
Database
Architektur - 19
IS-K2001
Object Server
Client sendet
◆ Objekt IDs
◆ Methodenaufrufe
● Server liefert
◆ Angefordertes Objekt
◆ Ergebnis des
Methodenaufruf
●
Application
Query Language
Interface
Object
Browser
Programmatic
Interface
(Proxy) Object Manager
Method
Call
Objects
Result
Return
Object Manager
●
Beispiele:
Gemstone
◆ Ontos
◆ Versant
◆
Query Optimizer
Index Manager
Transaction Manager
Page Cache Manager
Database
IS-K2001
Architektur - 20
Page Server
Client sendet
◆ Seitennummer
● Server
◆ gibt Seite zurück
●
Application
Query Interface
& Optimizer
Object
Browser
Object Manager
Index Manager
●
●
Programmatic
Interface
Die eigentliche DBMS-Arbeit
findet daher im Client statt. Im
Server verbleibt “nur” die
Transaktionsverwaltung
(zwangsläufig auf der
Seitenebene) und die
Pufferverwaltung.
Transaction Manager
Page Cache Manager
Pages
Transaction Manager
Page Cache Manager
Database
Database
Beispiel:
◆ O2
◆ Objectstore
Architektur - 21
IS-K2001
Thin-Client
●
Client nur GUI, Anwendungslogik im Server
◆ Stored
Procedures (Sybase, MS SQL)
◆ PL/SQL Packages (Oracle)
◆ C-Funktionen auf dem Server
◆ Java im Server (Sybase Adaptive Server)
●
Besonderheiten:
(+) Anwendungslogik kann zwischen vielen
verschiedenen Clients geteilt werden
(+) Änderung der Anwendungslogik gilt für alle Clients
(-) dauerhafte Serververbindung notwendig
(-) viele Resourcen im Server notwendig
IS-K2001
Architektur - 22
Thick-Client
●
Anwendungslogik im Client
◆ Embedded
◆ Java
●
SQL
Client
Besonderheiten:
(-) Alle Clients müssen ausgetauscht werden, wenn
sich die Anwendungslogik ändert
(+) Client kann unter Umständen „offline“ benutzt
werden (grosser lokaler Cache)
(-) viele Resourcen im Client sind nötig
(-) Netzauslastung unter Umständen viel grösser
Architektur - 23
IS-K2001
8.4 Drei-/Mehr-Stufen Architektur
●
Bindeglied zwischen vielen verschiedenen Clients und vielen
unterschiedlichen Servern.
Query
Client
Web
Application Application
Browser
Client1
Clientn
Mobile
Client
Middleware
DBMS
Server
IS-K2001
Object
Server
Multimedia Document
Server
Server
Web
Server
Architektur - 24
“Three-Tier Architecture”:
Client/Server/Middleware
◆
Middleware: Software-Schicht in der Mitte zwischen
– Betriebssystem /Kommunikation und Anwendungsprogramm
– zwischen Clients und Server
Middleware Frameworks
Client
Program
Server
Program
Middleware Services
Communication Middleware
Operating System and
Network Software
Operating System and
Network Software
Operating System and
Network Software
Computer and
Network Hardware
Computer and
Network Hardware
Computer and
Network Hardware
Architektur - 25
IS-K2001
Middleware Services nach [Bernstein96]
Presentation
mask and forms processing, printer management, hypermedia
connections, multimedia preparation
Computation
sorting, math. computations, internationalization, data format
conversion, time management
Information
Management
directories, log manager, file and record manager, relational / objectoriented database management, repository manager
Communication
remote procedure call, peer-to-peer messaging, message queuing,
electronic mail, electronic data exchange
Process
Management
thread manager, transaction processing, resource broker, request
broker, job scheduler
System
Management
event notification, configuration management, software installation,
failure management, error detection, recovery coordination,
authentication, encryption, access control
IS-K2001
Architektur - 26
Beispiel 3-Tier
●
WWW mit Datenbankanbindung
◆ DEMO: SBB Fahrplan-Datenbank
◆ http://www.sbb.ch
Web
Browser
O
M
E
D
Client
Server
WWW Server
Client
Server
ORACLE Datenbank(en)
Allgemein:
● SAP
● TP Monitore
● Web Server
Architektur - 27
IS-K2001
Beispiel Middleware Architektur
●
SBB Datenbank Architektur
Web Browser
TCP/IP Client
Library
Betriebsystem
Client
Server
Middleware
Betriebsystem
TCP/IP Server
Library
DB
Server
WEB Server
DB Client
Library
DB Server
Library
Betriebsystem
Betriebsystem
Client
IS-K2001
Server
Architektur - 28
Literaturverzeichnis
●
R. Orfali, D. Harkey, J. Edwards: Client / Server Survival Guide. John
Wiley, 1999, 3. Auflage.
W.-R. Hansen: Client/Server Architektur, Addison-Wesley, 1993
● J. Gray, A. Reuter: Transaction Processing: Concepts and
Techniques, Academic Press, 1992
● J.L. Hennessy, D.A. Patterson: Computer Architecture. A
Quantitative Approach, Morgan Kaufmann Pub., 1995
● P.A. Bernstein: Middleware: A Model for Distributed System
●
Services. Communications of the ACM, Vol. 39, No. 2, February 1996
● OMG. CORBA: The Common Object Request Broker Architecture.
Revision 2.0, July 1995
● Oracle, Sybase, MS SQL Server, Informix, DB2 Manuals
IS-K2001
Architektur - 29
Herunterladen