Betriebssysteme, Rechnernetze und verteilte Systeme II
Download
Report
Transcript Betriebssysteme, Rechnernetze und verteilte Systeme II
Rechnernetze und verteilte Systeme (BSRvS II)
Prof. Dr. Heiko Krumm
FB Informatik, LS IV, AG RvS
Universität Dortmund
Station
Server
Komponente
Middleware
Komponente
lokales
TCP
BS
IP ...
•
•
•
•
Trends
Übersicht
Plattformtypen
CORBA
•
•
•
•
•
•
•
•
Computernetze und das Internet
Anwendung
Transport
Vermittlung
Verbindung
Multimedia
Sicherheit
Netzmanagement
• Middleware
• Verteilte Algorithmen
H. Krumm, RvS, Informatik IV, Uni Dortmund
1
Middleware – Zwischen BS und Anwendung
Station
Client
Komponente
Middleware
Komponente
lokales
TCP
BS
IP ...
Station
Anwendung
Server
Komponente
Middleware
Middleware
Komponente
Netzfähige
Stationen,
Netz-BS
lokales TCP
BS
IP ...
Netz
H. Krumm, RvS, Informatik IV, Uni Dortmund
2
Anwendungen Entwicklungsaspekte
Paradigmen
Kosten
Beschaffung
Erhaltung
…
Management
Netz
Rechner
Systemsoftware
Anwendungen
Clients & Server
DB & Transaktionen
Agents & Messages
Formulare & Vorgänge
…
Verteilung
Anwendungsarchitektur
Vernetzung
Plattformen
CORBA
DCOM
MOM
Java/RMI/Beans
CICS/DB2
Workflow-Management
…
H. Krumm, RvS, Informatik IV, Uni Dortmund
Leistungen
Funktionalität
Leistung
Zuverlässigkeit
Verfügbarkeit
Sicherheit
Erweiterbarkeit
Anpaßbarkeit
3
Anwendungen Entwicklungsaspekte
Paradigmen
Kosten
Anwendungstypen
Komponenten
Interaktionen
Funktionen
Aufteilung
Zuordnung
Schichtung
Abstraktionen
Konfiguration
Management
Dynamik
Verteilung
Anwendungsarchitektur
Vernetzung
Plattformen
H. Krumm, RvS, Informatik IV, Uni Dortmund
Leistung
Funktionen
Ressourcen
Partitionierung
Replizierung
Migration
Orte
Stationen
Transport
Leistungen
LAN
WAN
Internet
Intranet
ISDN
ATM
VPN
4
Trends: Veränderte Anwenderanforderungen
Wachsende und vernetzte Problembereiche –––>
Menschen & rechnergestützte Services
Service - Verfügbarkeit: Immer und Überall
Service - Vielfalt:
– Speziell zugeschnittene Services
– Einheitliche Oberflächen
– Bedienung und Ergebnisverknüpfung
Internet - Einbindung
Hypermediale Browser - Oberflächen
H. Krumm, RvS, Informatik IV, Uni Dortmund
5
Trends: Strukturierung der Anwendungen
„1-Tier-Monolith“ –––>
„2-Tier-Systeme“ –––>
„3-Tier-Systeme“ –––>
kommunizierende, kooperierende Komponenten
Presentation and MMI
Application (Client)
Application (Service)
Database and Resources
„Entzauberte Geheimnisse“, offene Schnittstellen, mündige Anwender
Modularität, Abstraktionen, Kapselung, Trennung von Belangen, Anpassbarkeit
Verschiedene Quellen zur freizügigen Integration von Expertise
Verschiedene Quellen zur verbesserten Marktsituation
H. Krumm, RvS, Informatik IV, Uni Dortmund
6
Middleware-Plattformen: Übersicht
MOM (Message oriented Middleware)
RPC (Remote Procedure Call)
ORB (Object Request Broker)
Componentware
SOA – Service Bus – Webservices
DBMS (Data Base Management Systems)
Multi-DBMS
TP (Transaction Processing)
DTP (Distributed Transaction Processing)
Workflow-Systeme
Groupware-Systeme
H. Krumm, RvS, Informatik IV, Uni Dortmund
7
Plattformen: Message oriented Middleware
„Prozesse und Nachrichten“
z.B. netzfähige Unix-Stationen mit Socket-Schnittstelle
zu TCP / UDP-Transportdiensten
Adressierung
Nachrichtenkonstruktion und
Prozess
Analyse
Nachrichtenversand
und Empfang
Prozess
Nachrichteninterpretation
Prozess
Schnittstellendefinition:
Anwendungsprotokoll
H. Krumm, RvS, Informatik IV, Uni Dortmund
8
Plattformen: Remote Procedure Call
„Clients und Server“, z.B. Sun-RPC, Java-RMI
Adressierung
Prozeduraufruf
Client
und
Ausführung
main
generierte Stubs
Aufruf
Server
Rückkehr
IDL-Dokument:
Schnittstellen-Definition
(Prozedurköpfe)
H. Krumm, RvS, Informatik IV, Uni Dortmund
function
9
Sun RPC
Schnittstellenund
KommunikationsImplementierung
per
automatisch mittels
XDL-Compiler rpcgen
aus XDL-Datei
generierten
Stubs
XDL
Interface Definition
Language
H. Krumm, RvS, Informatik IV, Uni Dortmund
Client:
main () {
Server:
int F (A, B, C) {
…
x = F(a,b,c) ;
}
}
Client Stub:
int F (A, B, C) {
send Invoke
receive Reply
return to Client}
Server Stub:
loop {
receive Invoke
F()
send Reply}
10
Plattformen: Object Request Broker
„Clients und gekapselte Objekte“, z.B.
CORBA-ORB
Request
Broking von Diensten
Methode
Client
Operationsaufruf und
Response
Ausführung:
Objektmethoden
generierte Stubs
(statisch / dynamisch)
ClientProzess
ServerProzess
Stub
IDL-Dokument
(Operationsköpfe)
H. Krumm, RvS, Informatik IV, Uni Dortmund
Objekt
Skeleton
ORB
11
Plattformen: Service-Systems, SOA
„Dienstleister und
Dienstleistungsbeziehungen“
, z.B. Web-Services
Broking und Vermittlung
Temporäre
Dienstleistungsbeziehungen
Dienstanforderung und
Ausführung
Maschinen- und
Menschen-Schnittstellen
H. Krumm, RvS, Informatik IV, Uni Dortmund
Applikation
DiensteAnbieter
Nutzer
WWW
auf
Internet
DiensteDiensteAnbieter
DiensteAnbieter
Anbieter
12
Plattformen: Database Management Systems
„Datenbasis und Transaktionen“
Zustandsraum: Datenmodell
Transitionen: Aktionen
Konsistenzbedingungen
Transaktionen: ACID
–
Logik: AC
–
Modularer Entwurf: I
–
Zuverlässigkeit: D
SQL-Schnittstellen
Interface-Builder
H. Krumm, RvS, Informatik IV, Uni Dortmund
Prozess
Prozess
…
Transaktionen
Externes
Modell 1
Externes
Modell 2
…
Konzeptuelles Modell:
1 Zustandsspeicher
13
Plattformen: Common Object Request Broker (CORBA)
„Vermittlung des
Zugangs zu
und Zugriff auf
entfernte Objekte
sowie spezielle
Services und
Hilfsdienste“
Spezialitäten
– Erblast – Integration
– Interoperabilität mit
anderen Plattformen
– problemlose
Netzeinbindung
(IIOP)
– vereinfachtes
Management
H. Krumm, RvS, Informatik IV, Uni Dortmund
Request
Methode
Client
Objekt
Response
ClientProzess
ServerProzess
Stub
Skeleton
ORB
14
CORBA: Dienstevermittlung
Dienst:
ObjektImplementierung
– Anforderungen /
Dienstleistungen:
MethodenAufrufe
Schnittstellen-
4. Aufruf
Importeur
Exporteur
5. Antwort
2. Suche
3. Vermittlung
1. Export
eines
Angebots
Trader
Verzeichnis:
Typen
ImplementierungsVerzeichnis:
Konkrete Dienstleister
H. Krumm, RvS, Informatik IV, Uni Dortmund
15
CORBA: Struktur einer Anwendung
Anwendungen
erscheinen als
Objektmengen
Anwendung
Präsentation
Funktionen
Kundendaten
Produktdaten
Objekt Request Broker ORB
H. Krumm, RvS, Informatik IV, Uni Dortmund
16
CORBA: Elemente
Object Services:
Unterstützung des verteilten
Objektsystems
• Sicherheitsdienste
• Ereignisaustausch
• Messages
• Abrechnung
• Persistenz
• Objekt-Lifecycle
•…
Common Facilities:
Sammlung allgemein nützlicher
Objekte
• Drucken
• Fehlerbehandlung
• Oberfläche
•…
H. Krumm, RvS, Informatik IV, Uni Dortmund
Präsentation
Funktionen
Kundendaten
Produktdaten
Objekt Request Broker ORB
Object
Services
Common
Facilities
Verzeichnisse
17
CORBA: SW-Architektur
SoftwareSystem besteht
aus:
– Client-Prozessen
– ServerProzessen
– ORB
– Verzeichnissen
Adapter
(generiert) zur
Anbindung der
Prozesse und
Objekt-Implementierungen an ORB
H. Krumm, RvS, Informatik IV, Uni Dortmund
Client
Prozess
Server
Prozess
Objekt
Adapter
Client
Stub
Server
Skeleton
Objekt Request Broker ORB
Schnittstellenverzeichnis
Implementierungsverzeichnis
18
CORBA: SW-Architektur
SoftwareSystem besteht
aus:
– Client-Prozessen
– ServerProzessen
– ORB
– Verzeichnissen
Adapter
(generiert) zur
Anbindung der
Prozesse und
Objekt-Implementierungen an ORB
H. Krumm, RvS, Informatik IV, Uni Dortmund
19
CORBA: Schnittstellendefinition-Beispiel Bankkonten
H. Krumm, RvS, Informatik IV, Uni Dortmund
20
CORBA: IDL-Beispiel Bankkonten
H. Krumm, RvS, Informatik IV, Uni Dortmund
21
CORBA: Client - Kontoeröffnung
H. Krumm, RvS, Informatik IV, Uni Dortmund
22
CORBA: Server: Bank-Implementierung
H. Krumm, RvS, Informatik IV, Uni Dortmund
23
CORBA: Server: Account-Implementierung
H. Krumm, RvS, Informatik IV, Uni Dortmund
24
CORBA: Server: Hauptprogramm
H. Krumm, RvS, Informatik IV, Uni Dortmund
25