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