Client/Server Systeme - Universität Tübingen

Transcrição

Client/Server Systeme - Universität Tübingen
Client/Server Systeme
Prof. Dr.-Ing. Wilhelm G. Spruth
Raum 207, Sand 13
Tel.:07071.297-5482, mobil 0172-8051-485
[email protected]
http://www-ti.informatik.uni-tuebingen.de/~spruth/index_de.html
Client/Server-Systeme
Prof. Dr.-Ing. Wilhelm G. Spruth
WS 2008/2009
Raum 207, Sand 13
Tel.:07071.297-5482, mobil 0172-8051-485
[email protected]
http://www-ti.informatik.uni-tuebingen.de/~spruth/index_de.html
Teil 1
Einführung, OSI Schichtenmodell, Ports
Vorlesungsinhalt
1. Schnittstellen zum Transportnetz:,
Ports und Sockets
2. Remote Procedure Call
3. Datensyntaxdienste: XDR und ASN.1
4. Sicherheit und Verschlüsselung, DES, AES und RSA,
5. Elektronische Unterschriften, Authentifizierung
6. Sicherheitsprotokolle, Kerberos, SSL, IPSec, Access Control Lists, Firewall
7. Directorydienste, Zeitdienste
8. Stored Procedures
9. CICS Transaktionsmonitor
10. Präsentationslogik, Intersystem Communication
11. Virtuelle Maschinen, Partitionierung
12. Web Application Server
13. CORBA, RMI, DCOM, Webservices
14. Internet Integration,
15. Service Oriented Architecture
Client/Server-Systeme
Die Vorlesung findet wöchentlich im WS 2008/09 statt. Zeit: Montag von 11:15 - 12:45. Die
Vorlesung ist als Wahlfach innerhalb der Technischen Informatik zugelassen, und kann mit
2 SWS in den Prüfungsplan Technische Informatik aufgenommen werden.
Für das Wintersemester 2009/10 ist ein Praktikum Client/Server Systeme vorgesehen. Das
Praktikum kann ebenfalls im Rahmen der Fachprüfung Technische Informatik in den
Prüfungsplan mit 4 WS aufgenommen werden. Im WS 2008/2009 Betreuung durch Stefan
Steinhilber und Kolja Treutlein.
Rückfragen bei Frau Reimold, Lehrstuhl Prof. Rosenstiel, oder:
[email protected]
Tel.: 07031-672470 oder 0172-8051-485
cs 0002 ww6
sch 03-98
Sprechstunde
Jeweils nach der Vorlesung ab 14:00, oder in Sonderfällen nach Absprache.
Bitte die Uhrzeit mit Frau Reimold, Lehrstuhl Prof. Rosenstiel absprechen. Frau Reimold
kann Dienstag, Mittwoch und Donnerstag zwischen 13:30 und 15:30 erreicht werden.
Das Script der Vorlesung ist zu finden unter
http://www-ti.informatik.uni-tuebingen.de/~spruth/vorlesung_cs/index.html
oder über www.cedix.de
Literatur
J. Bloomer: „Power Programming with RPC“. O`Reilly, 1992.
R. Orfali, D. Harkey: „Client/Server Programming with OS/2“,
Van Nostrand Reinhold, 1993.
J. Gray, A. Reuter: „Transaction Processing“. Morgan Kaufmann,
1993.
R. K. Lamb: „Cooperative Processing using CICS“. McGrawHill 1993.
J. Horswill: „Designing & Programming CICS Applications“.
O´Reilly, 2000, ISBN 1-56592-676-5
R. Buck-Emden, J. Galimow: „Die Client/Server Technologie des
SAP-Systems R/3“. Addison-Wesley, 1996.
R. Orfali, D. Harkey: „Client/Server Programming with Java
and Corba“. 2nd ed., Wiley 1998
R. Ben-Natan: „IBM WebSphere Starter Kit“.McGrawHill, 2000,
ISBN 0-07-212407-5
P. Herrmann, U. Kebschull, W.G. Spruth: „Einführung in z/OS und OS/390“. Oldenbourgh 2002, ISBN 3486-27214-4.
Praktikum Client/Server Systeme
WS 2008/2009
Für das Wintersemester 2009/10 ist ein Praktikum Client/Server Systeme vorgesehen. Das
Praktikum kann ebenfalls im Rahmen der Fachprüfung Technische Informatik in den
Prüfungsplan mit 4 WS aufgenommen werden. Im WS 2008/2009 Betreuung durch Stefan
Steinhilber und Kolja Treutlein.
Die Übungen bestehen aus 7 Aufgaben:
1. Corba und Corba Namensdienst
2. RMI und RMI/IIOP
3. Anwendungsentwicklung unter z/OS und TSO
4. Erstellen einer CICS Anwendung
5. MQSeries
6. Java Servlet Zugriff auf DB2
7. CICS Transaction Gateway
Eine detaillierte Beschreibung der Übungen und der Aufgabenstellungen ist zu finden
unter:
http://www-ti.informatik.uni-tuebingen.de/~csp/
Die ersten zwei Aufgaben werden mit Linux Servern Rechnern des Lehrstuhls technische
Informatik ausgeführt. Für die fünf letzten Aufgaben wird der brandneue z/OS Server an der
Uni Tuebingen benutzt (hobbit.informatik.uni-tuebingen.de oder 134.2.205.54). Hierzu sind
außerdem detaillierte Anweisungen unter http://hobbit.informatik.uni-tuebingen.de
verfügbar.
Teilnehmer loggen sich über einen beliebigen Klienten-Rechner in einen Server ein. Hierfür
stehen die Rechner im Raum 023 zur Verfügung. Alternativ besteht die Möglichkeit, sich
über das Internet mit einem privaten Rechner als Klient einzuloggen.
Hobbit.cs…
frodo
legolas
gandalf
bilbo
134.2.205.54 134.2.14.211 134.2.14.213 134.2.14.212 134.2.14.215
LPAR #1
LPAR #2
LPAR #3
LPAR # 4
LPAR # 5
z
/
0
S
z/OS V 1.8
z/OS V 1.8
z
/
0
S
z
L
i
n
z/VM
z
L
i
n
z/VM
merry/pippin
134.2.14.216/217
BladeCenter H
Cell Blade
zLinux
PR/SM
Infiniband
z9 BC + DS 6800 Hardware
gimli, 134.2.14.214
Rechner – Konfiguration
Hobbit.cs.uni-tuebingen.de
EthernetSwitch (BladeCenterH) sam-eth.informatik.uni-tuebingen.de
InfinibandSwitch (BladeCenterH) sam-ib.informatik.uni-tuebingen.de
Manag. Modul (BladeCenterH)
sam.informatik.uni-tuebingen.de
1. Service element
z9–se1.informatik.uni-tuebingen.de
2. Service element
z9–se2.informatik.uni-tuebingen.de
z9 HMC
sauron.informatik.uni-tuebingen.de
6800 HMC
gollum.informatik.uni-tuebingen.de
z/OS extern
hobbit.cs.uni-tuebingen.de
z/OS intern
frodo.informatik.uni-tuebingen.de
z/VM zLinux
gandalf.informatik.uni-tuebingen.de
zlinux
gimli.informatik.uni-tuebingen.de
zlinux clone
zlinux-clone0.informatik.uni-tuebingen.de
zlinux clone
zlinux-clone1.informatik.uni-tuebingen.de
z/VM z/OS
legolas.informatik.uni-tuebingen.de
zos clone
zos-clone0.informatik.uni-tuebingen.de
zos clone
zos-clone1.informatik.uni-tuebingen.de
zLinux for cell
bilbo.informatik.uni-tuebingen.de
1. Cell blade (BladeCenterH)
merry.informatik.uni-tuebingen.de
2. Cell blade (BladeCenterH)
pippin.informatik.uni-tuebingen.de
zLinux
Home page
located under
http:// hobbbit.cs.uni-tuebingen.de
http:// hobbbit.informatik.uni-tuebingen.de
/web/uni-tuebingen/index.html
134.2.14.204
134.2.14.205
134.2.14.206
134.2.14.207
134.2.14.208
134.2.14.210
134.2.14.209
134.2.205.54
134.2.14.211
134.2.14.212
134.2.14.214
134.2.14.220
134.2.14.221
134.2.14.213
134.2.14.230
134.2.14.231
134.2.14.215
134.2.14.216
134.2.14.217
Unter Leitung von Prof. Rosenstiel und
Dipl.-Inf. Grosser läuft derzeitig ein
Gemeinschaftsprojekt zum Thema
Gameframe. Partner sind die IBM
Entwicklungslaboratorien Böblingen und
das Wilhelm Schickard Institut für
Informatik der Universität Tübingen.
Die Experimente werden auf der z9 –Cell
Blade Plattform des Instituts
durchgeführt.
Universität Tübingen Test Konfiguration
Ausgangsdaten für die Bilderstellung sind Sattelitenaufnahmen und Radar-Höhenmessungen,
ebenfalls durch Satteliten.
Beispiel World of Warcraft
Client/Server-Modell
[Svobodova 1984]
Client
Prozess
Anfrage
Reaktion
Server
Prozess
Anfrage
Client
Prozess
Reaktion
Server bietet seine Dienste (Service) einer Menge a priori unbekannter Klienten (Clients) an.
Dienst:
Server:
Klient:
Interaktionsform:
Software-Instanz, die auf einem oder mehreren Rechnern ausgeführt wird.
Rechner, der Dienst-Software ausführt
Nutzer eines Serverdienstes
Anfrage/Reaktion (Request/Reply)
Ein Rechner kann gleichzeitig mehrere Serverdienste anbieten.
Der größere Teil aller Anwendungen in Wirtschaft und
Verwaltung läuft auf Client/Server Systemen
Zur Germanistik
Das Vorlesungsskript benutzt beide Schreibweisen:
Client und Klient
Wir richten uns nach der Umgangssprache und schreiben
Client/Server oder Client Stub
aber
unintelligente Klienten
wie findet der Klient seinen Server.
Mainframe
Server
z.B. OS/370
C
C
C
C
C
C
C
C
C
unintelligente Klienten
Infrastruktur eines Unternehmens
Anfang der 80er Jahre
Solide, teuer,leistungsfähig, inflexibel
intelligente
Klienten
C
C
C
S
C
C
C
C
S
dezentrale
Server
S
C
C
C
S
C
S
S
C
Mainframe
Server
C
C
C
C
C
C
Infrastruktur eines Unternehmens
Ende der 80er Jahre
Wesentliche Verbesserung der Flexibilität
C
C
C
S
C
C
C
C
S
C
C
C
C
C
C
S
S
C
C
S
S
C
C
Mainframe
Server
C
Infrastruktur eines Unternehmens
Anfang der 90er Jahre
ausufernde Administrationskosten
Mainframe
Server
z.B. z/OS
S
C
C
C
C
C
S
C
C
C
C
intelligente Klienten
Infrastruktur eines Unternehmens
Jahr 2000
Rezentralisierung spart Kosten
Mainframe
Server
z.B. z/OS
S
Internet
C
C
C
C
C
C
Klienten mit reduzierter Intelligenz
C
C
C
Mainframe eines
Fremdunternehmens
Infrastruktur eines Unternehmens 2008
Nutzung des Internets, e-Business, Service Oriented Architcture (SOA) als Ziel
Integration von Existierenden Server Systemen für das Online Transaktion
Processing (OLTP) mit Hilfe der Java Enterprise Edition (J2EE) in eine Service
Oriented Architecture (SOA)
Mainframe Rechner
IBM, Fujitsu/Siemens
System z, z/OS Betriebssystem
von den 100 größten deutschen Unternehmen setzen über 90 % Mainframe Rechner mit
dem z/OS Betriebssystem als ihren zentralen Server ein.
Weltweit werden mehr als 2/3 aller wirtschaftlich relevanten Daten auf Mainframe Rechnern
gespeichert.
Zukunftsweisende Technologien werden erfahrungsgemäß zunächst auf Mainframe
Rechnern eingeführt, ehe sie auf anderen Plattformen verfügbar werden. Derzeitige
Beispiele:
•
•
•
•
Virtualisierung
Clustering (Coupling Facility)
Work Load Management
Transaktionsverarbeitung mit Java
64 CPUs
CPU
Hauptspeicher
Comm.
Subsystem
Channel
Subsystem
1500 Gbyte
> 256 Kanäle (Channel Path) / System
FICON
Switch
Bänder,
Drucker
System z
Großsystemkonfiguration
≤ 256 000 Plattenspeicher
(Devices)
Logische Plattenspeicher
(logical Volumes)
10 - 1000 TeraByte
Plattenspeicherplatz
ExaByte Archivspeicher
Enterprise Storage Server
Client
Betriebssysteme
•
•
•
•
Windows Home, Professional
Linux
Apple Mac OS X Leopard
Handhelds, Palmtops, Mobiltelefon, Geldausgabeautomat, Registrierkasse
Server
Betriebssysteme
•
•
•
•
Windows Server
Linux
Unix (HP/UX, Solaris, AIX)
z/OS
Zuverlässigkeit von Servern
Die Marktforscher der Yankee Group haben die Ergebnisse einer Studie zur Zuverlässigkeit von ServerBetriebssystemen im Jahr 2007 vorgelegt. Im Vergleich zum Vorjahr ist die jährliche Downtime bei allen Systemen
deutlich gesunken – mit Ausnahme von Windows Server 2000 und 2003.
Am zuverlässigsten erwiesen sich nach den Angaben der gut 700 befragten Systemadministratoren aus 27 Ländern
kommerzielle Unix-Versionen mit einer Downtime zwischen 36 (IBM AIX) und knapp 90 Minuten pro Jahr (Sun
Solaris).
Die Enterprise-Versionen von Linux liegen mit Werten zwischen ein und zwei Stunden Downtime pro Jahr in einer
ähnlichen Größenordnung.
Für Windows Server 2000 und 2003 wurden Downtimes von zehn und neun Stunden pro Jahr gefunden
Der Wert für z/OS beträgt 10 Minuten pro Jahr, davon 1 Minute ungeplant.
http://www.heise.de/security/Zuverlaessigkeit-Linux-und-Unix-schlagen-Windows--/news/meldung/106572
7
Application layer
Anwendungsschicht
6
Presentation layer
Darstellungsschicht
5
Session layer
Sitzungsschicht
4
Transport layer
Transportschicht
3
Network layer
Netzwerkschicht
2
Data link layer
Sicherungsschicht
1
Physical layer
Bitübertragungsschicht
OSI - Protokollhierarchie
Virtuelle und tatsächliche Datenübertragung
CPU
Hauptspeicher
Schicht
3 -7
E/A Bus, z.B. PCI
µ
Platten
Adapter
Netz
Adapter
Schicht
1-3
Speicher
Netzverbindung
Aufteilung der
Schichten
Schicht
Schicht
Hauptspeicher
5-7
Anwendungsschicht
Darstellungsschicht
Sitzungsschicht
SVC
2-4
Mikroprogramm
Speicher des
E/A Controllers
Überwacher
Transportschicht
Netzwerkschicht
1-3
Netzwerkschicht
Sicherungsschicht
Bitübertragungsschicht
CPU
E/A Controller
E/A Bus, z.B. PCI
Plazierung der
Schichten
IDU
ICI
SDU
Schicht n+1
Beziehungen der Schichten
an einer OSI Schnittstelle
SAP
Schnittstelle
ICI
SDU
Schicht n
SDU
Nachrichtenkopf
N-PDU
IDU
ICI
SDU
SAP
PDU
Interface Data Unit
Interface Control Information
Service Data Unit
Service Access Point
Protocol Data Unit
5
4
3
2
Schicht
Multiplexing zwischen den Schichten
IP
IPX
NetBios
SNA
Schicht 3
Ethernet
Driver
Ethernet Rahmen
trifft ein
Schicht 2
Demultiplexing auf der Sicherungsschicht
ICMP
UDP
TCP
EGP
Schicht 4
IP
Module
Datagramm
trifft ein
Schicht 3
Demultiplexing auf der Netzwerkschicht
Port 1
Port 2
Port 3
Port 4
Schicht 5
UDP
Module
UDP Datagramm
trifft ein
Schicht 4
Demultiplexing auf der Transportschicht
Die Dienste der Schicht 5 – 7, z.B. DNS, FTP, SMTP oder Telnet werden über Ports adressiert und
aufgerufen.
DNS
ICMP
FTP
UDP
SMTP
TCP
Telnet
EGP
Schicht 5-7
Schicht 4
IP
Module
Datagramm
trifft ein
Schicht 3
Ursprüngliche Internet Protokolle
Ports
Ein Port definiert den Zugang zwischen TCP oder UDP und der nächst höheren Sicht.
Jeder Anwendung ist eindeutig ein Port (oder mehr) zugeordnet. Ein Port identifiziert
eindeutig die gewünschte Anwendung.
Nachrichten beliebiger Länge werden zu Ports gesendet und von Ports empfangen.
Ports werden dynamisch eingerichtet und zerstört.
Portzugriff über „Capabilities“ gesteuert:
Sende-, Empfangs-, Besitz-Capabilities.
Anwendung generiert Port, besitzt alle 3 Capabilities.
Capabilities können in Nachrichten an andere Prozesse weitergereicht werden.
Sender von Empfangs- und Besitz-Capabilities verliert Empfangs- und Besitzrecht.
Auswahl von Portnummern
1 - 255
reserviert für Internet Dienste
256 - 1023
ursprünglich reserviert für privilegierte Benutzer, z.B. Superuser in UNIX,
heute ebenfalls generell reserviert
1024 - 5000
transienter Bereich. Portnummern werden
dynamisch generiert
5001 - 65535
Portnummern frei für Anwendungen
„Well known“ Ports sind reservierte Ports für offizielle Dienste, z.B.:
ftp
telnet
smtp
http
pop3
RPC Port Mapper
snmp
21
23
25
80
110
111
161
zu finden z.B. in der Datei etc/services
Unser z/OS Rechner in Tübingen wird über Port 423 angesprochen !!!
Ein Web Browser fordert alle HTTP Verbindungen von Port 80 des über die URL adressierten Web Servers an; es ist
möglich einen anderen Port explizit zu spezifizieren, z.B. Port 81 mit :
http//:www.xxx.com:81

Documentos relacionados