Kapitel 1 Client/Server

Download Report

Transcript Kapitel 1 Client/Server

Kapitel 1
Client/Server-Modelle
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
1
Literatur, Materialien
Günther Bengel
Verteilte Systeme
Vieweg Verlag, 2002
Hans Robert Hansen, Gustaf Neumann
Wirtschaftsinformatik 2
Lucius&Lucius, 2005
Günter Merbeth
Vorlesung Architektur von Web-Anwendungen
http://www.pst.informatik.uni-muenchen.de/lehre/WS0102/web-arch/
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
2
Historie: Mainframe
Terminal-Anbindung
SNA (IBM), TRANSDATA (Siemens)
Mainframe
„Dumme“
Terminals
Karczewski / Lenz
Bildschirm-Masken
Anwendungslogik
Daten
Kapitel 1: Client/Server-Modelle
3
Mainframe Epoche
•
•
•
•
Hardware, Betriebssysteme
- Mainframes: IBM,
Siemens, ICL, Fujitsu,
...
- Minicomputer: DEC, …
Datenmanagement
- Dateisysteme
- Hierarchische DBMS
- Netzwerk-DBMS
- RDBMS
Middleware
- TP Monitore
Kommunikation
- Proprietär: SNA, ...
Karczewski / Lenz
•
Entwicklung
- Editoren
- Sprachen (Compiler)
COBOL, PL/1,
Assembler,
(FORTRAN)
- Generatoren für
Masken und Code
- Dictionaries
- Projektbibliotheken
Kapitel 1: Client/Server-Modelle
4
Client/Server(C/S-)-Prinzip
Client:
Software-Komponente, die „Service“ (Funktion) vom Server anfordert.
Server:
SW-Komponente, die „Service“ beliebig vielen Clients anbietet.
Der Server ist hier nicht unbedingt als Hardware zu verstehen.
Ziel:
Gemeinsame Nutzung aller im Unternehmen existierenden
Anwendungssysteme, Datenbestände und Rechner bzw.
Geräteleistungen.
Darstellung:
Auftrag
Client
Server
Rückmeldung
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
5
Mainframe versus Client/Server
SNA
DB Server
Mainframe
TCP/IP
Application Server
Mainframe
Dezentralisierung
GUI
Anwendungslogik
Karczewski / Lenz
Anwendungslogik
Daten
Kapitel 1: Client/Server-Modelle
Altsysteme
Daten
6
Client/Server Epoche
•
•
•
Hardware,Betriebssysteme
- Client
 PC mit DOS, Windows, (OS/2)
 Unix
- Server: Unix, NT, Novell (OS/2)
- Mainframes: IBM mit MVS
Bedeutung anderer Hersteller
nimmt ab
Datenmanagement
- Filesysteme
- Relationale DBMS
Middleware
- RPC
- DCE
- TP Monitore
- (CORBA)
Karczewski / Lenz
•
•
Kommunikation
- TCP/IP
Entwicklung
- CASE (Computer Added Software
Engineering)
- Repositories
- Projekt- und Konfigurationsmanagement
- Sprachen (Compiler, Debugger)
 COBOL
 C, C++, (Smalltalk)
 VB
 4GL
Kapitel 1: Client/Server-Modelle
7
Heute: Netzwerk (Internet / Web)
SNA
Mainframe
DB Server
TCP/IP
Application Server
Mainframe
DB Server
HTTP
Internet/
Intranet/
Extranet
TCP/IP
Web Server
Mainframe
Application Server
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
8
Netzwerk Epoche
•
•
Hardware,Betriebssysteme
„The network is the computer“
- PC: Windows
- NC (Thin Client)
- Server: Unix, NT
Datenmanagement
- Filesysteme
- Relationale DBMS
- ODBMS
- Repositories
Karczewski / Lenz
•
•
Middleware
- Distributed TP Monitore
- CORBA
- J2EE, (EJB, Servlets, RMI)
- COM/DCOM
- SOAP (Web Services)
Entwicklung
- Repositories mit Projekt- und
Konfigurationsmanagement
- Sprachen
 IDE: Integrated Development
Environments (Visual Studio)
 C++
 Java
 C#, VB
Kapitel 1: Client/Server-Modelle
9
Eigenschaft der drei Generationen
Benutzung
Management
• Einfach, dumme
Terminals
• Primitive Oberfläche
• Verbindung zwischen
Terminal und Rechner
blockorientiert
• Zentral
• Einfache Kontrolle
und Verwaltung
• Einfache Installation
und Update
Client /
Server
• Komfortable
graphische Oberfläche
• Bedienung komplexer
Anwendungen
• Direkte C/SVerbindung
• Fette Clients, Sicherh.
• Verteilung der Anw.
auf Client und Server
• Probleme mit großer
Anzahl Clients bei
Install. und Update
Netzwerk
• Browser basiert
• Gute Kombination der
Stärken von C/S und
Mainframe
- GUI
- blockorient. Verbind.
• Thin Clients
• Re-Zentralisierung
• Management auf
weniger Instanzen
beschränkt
Mainframe
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
Entwicklung
• Schwache
Toolunterstützung
• Einfache Architektur
(DB und TP Monitor)
• Verarbeitung auf dem
Host
• Sehr gute Tools
• Architektur schon
komplexer
• Verarbeitung verteilt
• Sehr gute Tools
• Komplexe Architektur
(Viele logische
Komponenten)
• Netzwerk
10
Alternativen der Aufgabenverteilung
Dezentrale
Präsentation
Verteilte
Verarbeitung
Dezentrale
Verarbeitung
Datenhaltung
Datenhaltung
Server
Datenhaltung
Verteilte
Datenhaltung
Datenhaltung
Netz
Verarbeitung
Verarbeitung
Netz
Datenhaltung
Netz
Netz
Client
Präsentation
Karczewski / Lenz
Verarbeitung
Verarbeitung
Verarbeitung
Präsentation
Präsentation
Präsentation
Kapitel 1: Client/Server-Modelle
11
Trennung von Funktionalitäten
Client: Anwendungsprogramm,
Oberfläche,
Eingabe/Ausgabe,
Nettodatenübertragung
Server: Datenbanksystem,
Anwendungsprogramm
Statt dem einfachen 2-stufigen (two-tier) Client/Server-Prinzip gibt es auch
3- (three-tier) oder 4-(four-tier) stufige Architekturen (allgemein multi-tier).
3-stufig
4-stufig
Darstellung
Darstellung
Verarbeitung
Verarbeitung 1
Datenhaltung
Verarbeitung 2
Datenhaltung
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
12
Client/Server-Modelle
HW
HW
Client
HW
Client
Client
Server
Server
Client
Server/
Client
Client
Server/
Client
Z.B. Kommunikationsrechner
Karczewski / Lenz
Client
Client
C/S-Prinzip über
mehrere Ebenen
z.B. DB-Server
Kapitel 1: Client/Server-Modelle
13
Nutzen von Client/Server-Modellen (1)
Nutzen von Client/Server-Modellen im Vergleich zu traditionellen Mainframes:
•
•
•
•
•
Heterogene Hardware kann genutzt werden,
z.B. unterschiedliche Hersteller, unterschiedliche Betriebssysteme,
beim Host dagegen gleicher Hersteller
Dezentralisierungsmöglichkeiten der IT
- Host steht zentral im Rechenzentrum
- Mit C/S können Aufgaben/Hardware in Fachabteilungen
ausgelagert werden
- Fachabteilung hat Kontrolle
- Aber: IT-Know-how wird dezentral benötigt
Effizienz durch problemgerechte Arbeitsteilung
Flexibilität / Skalierbarkeit
Teilung teurer Ressourcen / Spezialisierung
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
14
Nutzen von Client/Server-Modellen (2)
Nutzen von Client/Server-Modellen im Vergleich zu traditionellen Mainframes:
•
•
•
‚no single point of failure‘
Einfache Bedienung / GUI
Gutes Preis-/Leistungsverhältnis
- Hardwarekosten: Host i.d.R. teurer
- Softwarekosten: keine allgemeingültigen Aussagen möglich
- Administration / Operating: Host i.a. im Vorteil
- Notwendige Betrachtungsweise: Total Cost of Ownership
Mögliche Nachteile:
• Komplexität / Entwicklungsaufwand
• U.U. Leistungsengpässe aufgrund geringer produktiver Serverleistung
• Sicherheitsproblematik durch erhöhte Kommunikation
• Administrationsaufwand
Karczewski / Lenz
Kapitel 1: Client/Server-Modelle
15