Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

38
Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen

Transcript of Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Page 1: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Strukturen

Verteilte Anwendungen

Wintersemester 06/07

© Wolfgang Schönfeld

von Netzen

Page 2: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Informationen werden durch (viele) Aktionen verarbeitet,

die in Hard- und Software festgelegt und nach bestimmten Prinzipien

strukturiert sind (wie auch die Informationen selbst)• Benennungen• Unterprogramme• Parametrisierung• …

Insgesamt gibt es wenige solcher Prinzipien.

Beispiele:• Software auf einem Rechner• interagierende Rechner

Page 3: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Schichten

erhält man, wenn Programme auf unterschiedlichen Rechnern mit ähnlicher Aufgabenstellung kommunizieren (auch: Ebenen, Tiers, Layers).

Bei Organisationen (Unternehmen, Behörden, …) spricht man von Hierarchie-Ebenen.

Meist gehören zu Schichten unterschiedliche Grade der Abstraktion, mit der Informationen verarbeitet werden:

Je höher die Schicht, desto weiter greifend, aber gröber werden die Zusammenhänge dargestellt. Weil gleichzeitig weniger Details angesprochen werden, bleibt der Umfang der Beschreibung (im wesentlichen) gleich.

Dieses Strukturierungsprinzip wurde bei Rechnern und verteilten Systemen schon in den ersten Anfängen angewandt.

ist für verteilte Systeme wichtig

Page 4: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Schichten (2)

Grundlage der Schichtung ist die schrittweise Zerlegung von Informationsmengen (mathematisch: Partitionierung). Deren Verarbeitung wird dadurch zumeist einfacher.

Beispiele: Klassifizierung von Informationen. Verteilung von Informationen. Suche nach Informationen.

Hierarchien in großen Organisationen: Berichtswege sind gerade Umkehrungen der Verteilungswege.

Dem (organisatorischen) Gewinn durch überschaubarere Strukturen steht eine gewisse Unflexibiliät entgegen - man kommt gar nicht auf die Idee, dass es auch anders gehen kann. (Selbst das kann von Vorteil, aber auch von Nachteil sein.)

Durchbricht man in großen Organisationen die strengen Hierarchien, spricht man von "dotted lines".

Page 5: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 6: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Die Struktur innerhalb einer Schicht ist standardisiert:Instanzen sind die Verarbeitungseinheiten innerhalb einer Schicht.Sie kommunizieren • horizontal (innerhalb der Schicht) anhand des zugehörigen

Protokolls (vgl. Zeichnung), weitgehend standardisiert• vertikal (zwischen den Schichten) durch Unterprogrammaufrufe

u.ä., weniger standardisiert. Ausnahme: Sockets.

In vertikaler Richtung ist eine Standardisierung weniger erforderlich (weil die Programme meistens auf demselben Rechner laufen).

Die "vertikale" Zuordnung muss nicht 1-1 sein Zu einer n-Instanz können mehrere (n+1)-Instanzen und mehrere (n-1)-

Instanzen gehören.

Page 7: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Im Internet reicht die Schichtung nur von Physical bis Transport.

Schichten 1 und 3 besorgen die "normale" Kommunikation:• Physical legt fest, wie zwei direkt kommunizieren, • Network, wie das über Vermitter geschieht.

Schichten 2 und 4 besorgen die Absicherung (was tun, wenn die normale Kommunikation nicht klappt?)

• DataLink für Physical• Transport für Network

Page 8: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Beispiel: Auf einer Transport-Instanz (TCP) sitzen mehrere Anwendungen. Unter ihr verschiedene "Netztreiber" (DataLink-Instanzen)

TCP

Anwendungen

Netztreiber

7 13 20 21 22

Sockets

ISDN Ethernet WiMAX UMTS

Page 9: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Unterschiedliche Anwendungen interagieren meist nach dem Schema "Aufgabe - Rückmeldung".

• Aufgage ("request") von A an B• Rückmeldung ("reply") von B an A

Dies entspricht dem Schema "Aufruf - Rückkehr" bei sequenzieller Programmierung.

Bei verteilten Systemen ist dies so zu sehen:• A erzeugt mit dem Request eine Ursache.• Der Reply von B ist die Wirkung.

A kann sich auf zwei verschiedene Weisen verhalten:• A wartet auf die Rückmeldung ("synchron" Interaktion).• A wartet nicht auf die Rückmeldung ("asynchron" Interaktion).

Page 10: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Standardisierung• Remote Procedure Call (RPC)• Common Object Request Broker Architecture (CORBA)• Distributed Computing Environment Remote Procedure Call (DCE

RPC)• Remote Method Invocation (RMI)• SOAP

Page 11: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

ursprünglich für Simple Object Access Protocol

ähnlich Remote Procedure Call

SOAP benützt • XML zur Repräsentation der Daten und • Internet-Protokolle der Transport- und Anwendungsschicht (vgl.

TCP/IP-Referenzmodell)

zur Übertragung der Nachrichten.

Die gängigste Kombination ist SOAP über HTTP und TCP.

Die Abkürzung SOAP wird jedoch offiziell seit Version 1.2 nicht mehr als Akronym gebraucht, da es erstens (subjektiv) keineswegs einfach (Simple) ist und da es zweitens nicht (nur) dem Zugriff auf Objekte (Object Access) dient.

SOAP

Page 12: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

TCP-Anwendungen werden (von außen) durch Port-Nummern adressiert.

7 Echo Zurücksenden empfangener Daten

13 Daytime Übertragung von Datum und Uhrzeit

20 FTP-Data Dateitransfer (Datentransfer vom Server zum Client)

21 FTP Dateitransfer (Initiierung)

22 SSH Secure Shell

23 Telnet Terminalemulation

25 SMTP E-Mail-Versand (siehe auch Port 465)

43 Whois Whois-Anfragen

53 DNS Auflösung von Domainnamen in IP-Adressen

Page 13: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

In der Praxis

sind viel mehr Instanzen auf einem Rechner beteiligt• mit Wissen des Rechner-Betreibers• ohne dessen Wissen, aber zu seinem Nutzen• zu seinem Schaden

Page 14: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Netz

ist die Gesamtheit aller Instanzen einer Schicht.

Die Topologie eines Netzes ist durch die Nachbarschaft der Instanzen bestimmt.

Die Topologie ist beliebig, manchmal wird Zusammenhang gefordert.

In gewissen Topologien sind bestimmte Aufgaben leichter zu erfüllen, andere weniger.

Beispiel: • Viele Aufgaben (z.B. Verteilen) sind leichter in Hierarchien zu

erfüllen. • Andere Aufgaben (z.B. Abstimmen) sind leichter in "demokratischen"

Strukturen (Peer-to-Peer) zu erfüllen.

wie man aus dem täglichen Leben weiß.

Page 15: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Client-Server

Hardware

Software

Client

Client

Client

Server

Braunschweig, VS-0203-Kap02-SystemModelle-4S.pdf

Draufsicht

Seitenansicht

Page 16: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Applets

Client

Client Webserver

Webserver

Applet

vorher

nachher

Page 17: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Proxy

Client

Client

Server

Proxy-Server

Client

Page 18: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Peer-to-Peer

Peer

Peer

Peer

Peer

Peer

Jeder kann dasselbe.

Page 19: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Beweglichkeit (Mobilität) von Hardware

Ort

perspektivische Ansicht

Page 20: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 21: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 22: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 23: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 24: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 25: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Beweglichkeit (Mobilität) von Software

Page 26: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Beweglichkeit (Mobilität) von Software

Page 27: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Beweglichkeit (Mobilität) von Software

Page 28: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Beweglichkeit (Mobilität) von Software

Page 29: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Beweglichkeit (Mobilität) von Software

Page 30: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Die Verarbeitung von Informationen hängt auch vom Ort ab.

Der Zugriff zu Daten erfordert (unterschiedliche) Ressourcen,

je weiter entfernt, desto mehr (zumindest Zeit!).

Beispiel: Es soll nach einer bestimmten Information gesucht werden (hier: 5-strahliger unter 4-strahligen Objekten). Man hat die Wahl, die Information näher an die Verarbeitung oder die Verarbeitung näher an die Information zu bringenen (mobile Agenten).

(Diese Frage ist unabhängig von der Aufgabenteilung, vgl. einführendes Beispiel!)

Page 31: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 32: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Die Einsparung durch nähere Verarbeitung ist abzuwiegen gegen den zusätzlichen Auswand, die Software zu verlagern.

Page 33: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 34: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 35: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.
Page 36: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Wie findet man / der Rechner sich zurecht?

Page 37: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

Verzeichnis von Informationen

als Helfer in komplexer Landschaft

Suchmaschine - wird nach dem Vorkommen eines Wortes in einem (Hyper-) Text gefragt und gibt einen Verweis zurück

• einfach zu automatisieren• spielt die Anordnung der Verweise eine Rolle?• Beispiel: http://www.google.de/

Encyklopädie - wird nach einem (durch ein Wort gegebenen) Begriff gefragt und gibt eine (vorgegebene) Erläuterung zurück

• nicht automatisierbar, lediglich maschinelle Unterstützung• offene Autorenschaft• Beispiel: http://de.wikipedia.org/

Page 38: Strukturen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld von Netzen.

"Problem

Viele Daten im Wiki sind für den Menschen offensichtlich, für Maschinen jedoch nicht auswertbar. Beispiel: Auf der Seite Karlsruhe stehen Gemeinden, an welche Karlsruhe angrenzt. Eine Maschine kann nun aber nicht herausfinden, ob z. B. Stutensee an Karlsruhe grenzt. Auch ein Mensch muss also zur Seite Stutensee oder Karlsruhe navigieren um dort die Information zu suchen - obwohl es eigentlich genügen würde, das einmal zu sagen. "

aus http://semantic.stadtwiki.net/wiki/index.php/Stadtwiki:Projekt_Semantic_Wiki