Client/Server

Werbung
Teil II: Architektur und Entwicklung
(verteilter) Informationssysteme,
Information Retrieval
Architektur - 1
IS-K2003
Übersicht und Zielsetzung von Teil II
z
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.
z
Grundlagen für verteilte und mehrstufige Transaktionsverwaltung sowie
Einordnung von Transaktionsmodellen und Verfahren für verteilte und
föderierte Transaktionsverwaltung
z
Einblick in „Enterprise Resource Planning“ Systeme (ERPs) am
Beispiel von SAP /R3
z
Von Datenbanken zu Information Retrieval, Auffinden relevanter
Information
IS-K2003
Architektur - 2
Kap. 8 IS Architektur Client/Server/Middleware*
8.1 Einstufige Architektur
z
Mehrere Anwendungsprozesse APi mit Datenbankzugriff, Kommunikation
über gemeinsamen Adressraum, daher sehr effizienter Datenaustausch über
Shared Memory, aber keine Sicherheit gegenüber Fehlern im
Anwenderprogramm
z
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 und
GST …globale System Tabellen für
den Zugriff auf SP
z
z
AP 1
AP n
DA 1
DBMS
SP
DA n
GST DBMS
Betriebssystem
Beispiele: IBM System/R –
Forschungsprototypsystem 1975
Microdatenbanken 2003
* Achter Vorlesungstermin
Architektur - 3
IS-K2003
8.2 Zwei-Stufen Architektur: “Client/Server”
z
z
z
Client und Server sind durch verschiedene Adressräume oder
Rechnergrenzen 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-K2003
Betriebsystem
Server
Architektur - 4
Vor- und Nachteile der Zweistufen-Arch.
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 aufwändig
oft unbefriedigende
Verfügbarkeit von Entwurfs- und
Administrationswerkzeugen
erhöhter Aufwand für
Administration und Wartung
Architektur - 5
IS-K2003
Klassifikationsübersicht bei Client/Server
DB-Server
IS-K2003
Monolithisch
Multiple Server
ein DBS-Prozess
mehrere DBS-Prozesse
Symmetrisch
Asymmetrisch
pro AP ein
DBS-Prozess
dynamische
Zuordnung der
APs zu den DBSProzessen
Architektur - 6
Client/Server Architekturvarianten
z
z
(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 - 7
IS-K2003
Monolitischer Server
z
z
z
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-K2003
Architektur - 8
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
z
z
z
z
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 - 9
IS-K2003
Demo: Sybase und Oracle
z
SQL Server (Sybase): Monolithischer Server
‹ ein Serverprozess
‹ eigenes “Process”-Scheduling
‹ weniger Shared Memory
z
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-K2003
Architektur - 10
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 - 11
IS-K2003
Oracle Prozessübersicht (2)
z
z
z
z
z
z
z
z
z
z
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-K2003
Architektur - 12
Oracle Verbindungsaufbau
Service Name
Client
AP
nameserver
Host, Port, SID
SID
listener
dispatcher
Names
Dedicated
Server
Shared
Server
Shared
Server
Architektur - 13
IS-K2003
8.3 Drei-/Mehr-Stufen Architektur
z
Bindeglied zwischen vielen verschiedenen Clients und vielen
unterschiedlichen Servern.
Query
Client
Web
Application Application
Browser
Client1
Clientn
Mobile
Client
Middleware
DBMS
Server
IS-K2003
Object
Server
Multimedia Document
Server
Server
Web
Server
Architektur - 14
“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 - 15
IS-K2003
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-K2003
Architektur - 16
Beispiele
z
WWW mit Datenbankanbindung
‹ DEMO: CD-Datenbank
‹ http://www.allmusicguide.com
CD
Player
Client
Server
O
M
DE
WWW Server
Client
Server
CD Datenbank(en)
Allgemein:
z SAP
z TP Monitore
Architektur - 17
IS-K2003
Beispiel Middleware Architektur
z
CD Datenbank Architektur
CD Player
HTTP Client
Library
Betriebsystem
Client
Server
Middleware
Betriebsystem
HTTP Server
Library
DB
Server
WEB Server
DB Client
Library
DB Server
Library
Betriebsystem
Betriebsystem
Client
IS-K2003
Server
Architektur - 18
Literaturverzeichnis
z
R. Orfali, D. Harkey, J. Edwards: Client / Server Survival Guide. John
Wiley, 1999, 3. Auflage.
z
W.-R. Hansen: Client/Server Architektur, Addison-Wesley, 1993
z J. Gray, A. Reuter: Transaction Processing: Concepts and
Techniques, Academic Press, 1992
z J.L. Hennessy, D.A. Patterson: Computer Architecture. A
Quantitative Approach, Morgan Kaufmann Pub., 1995
z P.A. Bernstein: Middleware: A Model for Distributed System
z
z
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-K2003
Architektur - 19
Herunterladen