Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, 11.02.2014 Verteilte Systeme Dozent: Clemens Düpmeier Foliensatz 1: Einführung, Historie,

Ähnliche Präsentationen


Präsentation zum Thema: "Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, 11.02.2014 Verteilte Systeme Dozent: Clemens Düpmeier Foliensatz 1: Einführung, Historie,"—  Präsentation transkript:

1 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Verteilte Systeme Dozent: Clemens Düpmeier Foliensatz 1: Einführung, Historie, Grundlegende Begriffe, Systemmodelle

2 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Unterlagen Online Powerpointfolien und andere Informationen sind Online verfügbar unter vorlesung.html

3 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Warum sind Verteilte Systeme eigenes Thema Viele gleichzeitige (parallele) Aktivitäten Exakte globale Zeit nicht erfahrbar/vorhanden Keine konsistente Sicht des Gesamtzustandes Kooperation durch Kommunikation Ursache und Wirkung zeitlich und räumlich getrennt >Räumliche Separation, autonome Komponenten >Heterogenität >Dynamik, Offenheit >Komplexität >Sicherheit +Probleme sequentieller Systeme +Nebenläufigkeit +Nichtdeterminismus +Zustandsverteilung –Synchronisation schwieriger –Programmierung komplexer –Testen aufwendiger

4 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Historie

5 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Paradigmenwechsel in der Informatik Phase 1: (Anfänge) Sichtweise: Rechenassistent Charakterisierung: In eine leere Maschine wird ausführbarer Code inklusive Eingabedaten geladen, die Maschine berechnet Ergebnisse, gibt sie aus und hält an. Maschine Phase 2: (Hoch-Zeit) Sichtweise: Hierarchie logischer, sprachverarbeitender Maschinen Charakterisierung: Programme in höheren Programmiersprachen dienen als Eingabedaten für Übersetzer oder Interpreterierer, die daraus ausführbaren Code erzeugen. Abarbeitung weitgehend sequentiell. Residentes Betriebssystem ermöglicht Mehrprogrammbetrieb (time- sharing) Programm Übersetzer Maschine

6 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Aufkommen von Client-Server Systemen Phase 3 (ab 1980) Entwicklung von Netzwerk-Technologien –ermöglichen Kommunikation zwischen Rechnern und Softwareprogrammen –Aufkommen von Client-Server Softwareanwendungen Entwicklung von höherwertigen Kommunikationsmechanismen –Remote Procedure Calls –Verteilte Objektkommunikation => Verteilte Softwarekomponenten Entwicklung des Internets und des Webs

7 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Paradigmenwechsel in der Informatik Phase 3: heute Sichtweise: Eine Gruppe autonomer, intelligenter Instanzen, die untereinander und mit der Außenwelt interagieren. Charakterisierung: Komplexe Softwaresysteme erstrecken sich über eine Vielzahl von Rechnern. Sie bestehen aus einer Vielzahl spezialisierter, nebenläufig arbeitender Verteilter Komponenten, die zur Erfüllung ihrer komplexen Aufgaben miteinander kooperieren und gleichzeitig im Wettbewerb um knappe Ressourcen stehen.

8 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Was haben Computernetzwerke mit Verteilten Systemen zu tun?

9 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Computernetzwerke Terminal-Host-Kommunikation über serielle Leitungen Host-zu-Host-Kommunikation –Basierend auf proprietärenNetzwerken wie IBM SNA, DECnet –schon bald basierend auf Paketvermittlung und damit TCP/IP-Netzen (Transmission Control Protocol / Internet Protocol) 1980 Hochleistungs-LANs zu niedrigen Kosten (Local Area Network) –PC-Netze –Verteilte Client-Server-Systeme als neues Paradigma Öffentliche und private WANs (Wide Area Networks) –Ausgereifte Technik der Paketvermittlung –Wichtige neue Anwendungen ( , File Transfer, Telnet, etc.) Offene Standards setzen sich eindeutig durch (OSI, TCP/IP)

10 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Computernetzwerke 1990 Das globale Internet –TCP/IP Netzwerke –Web-Anwendungen 1990 Das globale Internet –TCP/IP Netzwerke –Web-Anwendungen counts the number of IP addresses that have been assigned a name counts the number of IP addresses that have been assigned a name counted hosts by walking the domain name tree and doing zone transfers of domain data counted hosts by walking the domain name tree and doing zone transfers of domain data old host counts raised by the proper percentage of domains we couldn't survey old host counts raised by the proper percentage of domains we couldn't survey

11 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Computernetzwerke 2000 "IP on everything" (Vint Cerf, ein Internet Patriarch) In Richtung eines globalen Netzwerkes mit vielen Diensten und IPv6 (aktuell: IPv4) als dem gemeinsamen Kern. –Enterprise networks Communication infrastructure of the IT system. E-business... –Web news, info, publishing,... –Home networks Info, entertainment. Home office. Internet appliances. –Mobile communications Internet-enabled multi-service mobile devices. –E-commerce, E-banking,... –Tele-education. Tele-medicine... Ziel: Gemeinsame Infrastruktur für Computerkommunikation (Multimedia) und persönliche Kommunikationsdienste (message, voice/video-telephony).

12 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Netzwerke und Verteilte Systeme Wir haben den Paradigmenwechsel in der Informatik und die Entwicklung der Computernetzwerke betrachtet.. Netzwerke sind nicht im Fokus dieser Vorlesung! ABER Man benötigt ein Computernetzwerk, um ein verteiltes System zu realisieren. Was also ist ein verteiltes System?

13 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Grundlegende Definition(en) Fokussierung der Vorlesung

14 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Was ist ein verteiltes System ? Eine praxisorientierte Beschreibung: Ein verteiltes System besteht aus einer Menge autonomer Computer die durch ein Computernetzwerk miteinander verbunden sind und mit einer Software zur Koordination ausgestattet sind. Verteiltes System (Sicht eines Benutzers) Verteiltes System (Sicht eines Benutzers)

15 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Was ist ein verteiltes System ? Definition: Verteiltes System (nach Leslie Lamport) Ein verteiltes System ist ein System, mit dem ich nicht arbeiten kann, weil irgendein Rechner abgestürzt ist, von dem ich nicht einmal weiß, daß es ihn überhaupt gibt. –oft die Realität –wird aber besser (hoffentlich auch durch diese Vorlesung) Definition: Verteiltes System (nach Andrew S. Tanenbaum) Ein verteiltes System ist eine Kollektion unabhängiger Computer, die den Benutzern als ein Einzelcomputer erscheinen. –impliziert, daß die Computer miteinander verbunden sind und –die Ressourcen wie Hardware, Software und Daten gemeinsam benutzt werden. –Es herrscht eine einheitliche Sicht auf das Gesamtsystem vor.

16 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Was ist ein verteiltes System ? Eine allgemeinere Beschreibung: Ein verteiltes System ist ein System, in dem –Hard-und Softwarekomponenten, –die sich auf miteinander vernetzten Computern befinden, –miteinander kommunizieren und ihre Aktionen koordinieren, –indem sie Nachrichten austauschen. Eine verteilte Anwendung ist eine Anwendung, die ein verteiltes System zur Lösung eines Anwendungsproblems nutzt. Sie besteht aus verschiedenen Komponenten, die mit den Komponenten des VS sowie den Anwendern kommuniziert.

17 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Fokus der Vorlesung Der Fokus der Vorlesung liegt auf "Verteilte Anwendungen" nicht auf Hardware Insbesondere für Verteilte Business Anwendungen –Software-Architekturen –Notwendige Eigenschaften solcher Systeme –Kommunikation zwischen Komponenten Verteilter Anwendungen –Hilfsmittel, z.B. Middleware + Application Server

18 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Beispiel für Verteilte Business-Anwendung Quelle: Prof. Thai

19 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Jede Menge Daten + Datenaustausch Quelle: Prof. Thai

20 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Jede Menge Anforderungen an Eigenschaften Quelle: Prof. Thai

21 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Wichtige Eigenschaften

22 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Wichtige Eigenschaften Nebenläufigkeit Kontrollierte, gemeinsame Ressourcennutzung Skalierbarkeit Sicherheit Fehlertoleranz Transparenz Offenheit

23 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Nebenläufigkeit (Concurrency) Gesamtsystem besteht aus Softwarekomponenten, die auf verschiedenen Rechnersystemen laufen –Dabei können Aktivitäten im Gesamtsystem sowohl auf einem Rechner, –parallel als auch parallel auf verschiedenen Rechnern ablaufen Nebenläufigkeit kann es z.B. bei –Clients (Anwendungsprogramme, z.B. Videokonferenz) und –Servern (Zugriff auf Ressourcen, z.B. Datei) geben. Wichtiges Aspekte: –Synchronisation der Aktivitäten, z.B. um Daten konsistent zu halten. –Verbesserung des Durchsatzes und Performance durch Paralellisierung

24 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Gemeinsame Ressourcennutzung Hardware: Drucker, Festplatten, Scanner, etc. Daten: Datenbankobjekte, Dateien, etc. Client-Server Model: Server verwaltet Ressourcen, die Clients nutzen Verteilte Objekte: Server bietet Dienste über Verteilte Objekte, die Clients gemeinsam nutzen Problematik: –Regelung nebenläufiger Zugriffe –Fragen der Konsistenz und der Fehlertoleranz. Verteilte Services (komplexer Dienstleistungen, die über Netz aufrufbar sind) –z.B. Bezahldienste, Flugbuchung, etc.

25 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Skalierbarkeit Ein Softwaresystem ist skalierbar, wenn durch Hinzufügen weiterer Hardware –der Durchsatz des Systems –oder die Anzahl paralleler Nutzeranforderungen erhöht werden kann Setzt voraus, dass das System so entworfen ist, dass Funktionalitäten –parallel auf verschiedenen Rechnern (CPU's) ausgeführt werden können

26 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Verteilung des DNS Namenraums

27 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Sicherheit Vertraulichkeit: Daten können nur von dem gewünschten Empfänger gelesen werden. Integrität: Die Daten wurden während der Übertragung nicht verändert. Authentizität: Die Daten wurden tatsächlich von der Person gesendet, die behauptet, der Sender zu sein. Verfügbarkeit: Ein Dienst darf durch eine (Denial of Service) Attacke nicht ausser Kraft gesetzt werden. Sicherheit für mobilen Code: Mobiler Code darf die lokale Ressource nicht beschädigen und umgekehrt.

28 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Fehlertoleranz Fehler erkennen: z.B. durch Prüfsummen. Nicht erkennbar ist z.B. ein Absturz eines entfernten Servers Fehler maskieren: Erkannte Fehler verbergen oder abschwächen, z.B. Wiederholung von Nachrichten Fehler tolerieren: z.B. durch Redundanz, Timeout Wiederherstellung nach Fehlern: z.B. Rückkehr in einen sicheren Zustand, wenn ein Fehler entdeckt wird (Software Recovery). Redundanz: Fehlertoleranz durch redundante Komponenten, z.B. Standby-Maschinen, doppelte Komponenten, doppelte Dienste.

29 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Transparenz Transparenz wird definiert als das Verbergen der Separation der einzelnen Komponenten in einem verteilten System vor dem Benutzer und dem Applikationsprogrammierer, so dass das System als Ganzes wahrgenommen wird, und nicht als Sammlung voneinander unabhängiger Komponenten. ISO (International Standards Organization) und ANSA (Advanced Network Systems Architecture) identifizieren acht Formen der Transparenz: Zugriffstransparenz ermöglicht den Zugriff auf lokale und entfernte Ressourcen unter Verwendung identischer Operationen. Positionstransparenz (Ortstransparenz) erlaubt den Zugriff auf die Ressourcen, ohne dass man ihre Position/ihren Ort kennen muss. Nebenläufigkeitstransparenz erlaubt, dass mehrere Prozesse gleichzeitig mit denselben gemeinsam genutzten Ressourcen arbeiten, ohne sich gegenseitig zu stören.

30 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Transparenz Replikationstransparenz erlaubt, dass mehrere Instanzen von Ressourcen verwendet werden, um die Zuverlässigkeit und die Leistung zu verbessern, ohne dass die Benutzer oder Applikationsprogrammierer wissen, dass Repliken verwendet werden. Fehlertransparenz erlaubt das Verbergen von Fehlern, so dass Benutzer und Applikationsprogrammierer ihre Aufgaben erledigen können, auch wenn Hardware- oder Softwarekomponenten ausgefallen sind. Mobilitätstransparenz erlaubt das Verschieben von Ressourcen und Clients innerhalb eines Systems, ohne dass die Arbeit von Benutzern oder Programmen dadurch beeinträchtigt wird. Leistungstransparenz erlaubt, dass das System neu konfiguriert wird, um die Leistung zu verbessern, wenn die Last variiert. Skalierungstransparenz erlaubt, dass sich System und Applikationen vergrößern, ohne dass die Systemstruktur oder die Applikationsalgorithmen geändert werden müssen.

31 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Offenheit Offenheit bzgl. Nutzung durch andere Systeme –Verwendung standardisierter Schnittstellen also bei Kommunikation, Datenformattechnologien, etc. Bzgl. Nutzung anderer Systeme, Sprachen, Betriebssystemen,...

32 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Architektur und Systemmodelle

33 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Systemmodelle Beschreibung der allgemeinen Eigenschaften und des Designs eines Systems Das Modell sollte abdecken: –Die wichtigsten Komponenten des Systems –Die Art ihrer Interaktion –Wie deren individuelles und kollektives Verhalten beeinflusst werden kann Ein Architekturmodell –vereinfacht und abstrahiert zunächst die Funktionen der individuellen Komponenten eines verteilten Systems, um dann –die Verteilung der Komponenten auf ein Netzwerk von Computern und –die Beziehung der Komponenten (Rolle in der Kommunikation mit anderen, Kommunikationsmuster) untereinander zu beschreiben. Weitere Modelle: Interaktionsmodell, Fehlermodell, Sicherheitsmodell

34 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Verschiedene Blickwinkel auf verteilter Systeme Rechnernetz mit Rechnerknoten Objekte / Komponenten Algorithmen u. Protokolle P1 P2 P3 Physisch verteilt Logisch verteiltZeit

35 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Softwarearchitektur definiert also Softwarekomponenten des Systems –ihre wesentlichen Eigenschaften –und die Beziehungen untereinander –und damit die "logische" Verteilung des Systems

36 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Komponenten und Abhängigkeiten Jede Komponente definiert funktionalen Teil des Systems; Pfeile definieren Abhängigkeiten Je mehr Komponenten, um so modularer das System –Komponenten-basiertes Design und sauberere Trennung von Funktionalitäten führt zu besserer Wiederverwendbarkeit –und mehr Möglichkeiten für Verteilung und Parallelität aber höherer Kommunikationsaufwand und evtl. sinkende Performance Hauptarchitekturziel: Ausgewogenheit zwischen Flexibiliät und Performance Quelle: Gustavo Alonso

37 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Weitere Anforderungen (siehe Eigenschaften) Leistungsprobleme: durch beschränkte Verarbeitungs- und Kommunikationskapazitäten: –Antwortzeiten: schnelle und konsistente Antwortzeiten werden benötigt –Durchsatz: Verarbeitungs- und Datenübertragungsgeschwindigkeit –Ausgleich von Rechenauslastung: Nebenläufige Ausführung ohne Konkurrenz um die Ressourcen Dienstgüte (Quality of Service): Zuverlässigkeit, Sicherheit, Leistung (inkl. Rechtzeitigkeitsgarantie), Anpassbarkeit Caching und Replikation: Cache-Konsistenz-Protokoll notwendig Zuverlässigkeitsprobleme: –Fehlertoleranz: Korrekt arbeiten trotz Fehler! –Sicherheit: Erzeugen von Vertrauen durch Schutz vor Angriffen! –Korrektheit: aktuelle Forschung

38 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Softwareschichten Die Komponenten einer Softwarearchitektur können in logische Schichten (Layer) angeordnet werden –z.B. in 3-Schichten Schicht mit Komponenten zur Erzeugung der GUI und Kommunikation mit Nutzer Schicht mit Komponenten mit Businesslogik Schicht mit Komponenten zum Daten-/Ressourcemanagement und Zugriff Daten- management Businessebene Präsentation

39 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Auch in vier oder fünf Schichten Terminals, Windows Geräteabhängige Darstellung Geräteunabhängige Steuerung und Koordinierung des Dialogs mit dem Anwender Anwendungsspezifische Steuerungs-und Verwaltungsfunktionen, Teile der Business Logik Datenselektion und -manipulation , Drucken, Mailing Verbindung zum DBMS Präsentation Datenzugriff Dialogsteuerung Anwendungslogik Dienste und Datenlogik

40 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Präsentation Tiers (Verteilung von Schichten auf Rechner) Kontrolle Funktion Modell 1. Qrtl. 2. Qrtl. 3. Qrtl. Ost 20,4 27,4 90 West 30,6 38,6 34,6 Nord 45,9 46,9 45 Wie sollen Funktionalitäten (z.B. als Schichten) auf verschiedene Rechner verteilt werden? Wie sollen Funktionalitäten (z.B. als Schichten) auf verschiedene Rechner verteilt werden?

41 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Schichtverteilung (1-Tier) Alle Softwarelayer befinden sich auf einem Rechner –Management der Ressourcen erfolgt zentral –Software selbst kann hoch-optimiert werden (Trennung zwischen Schichten hier nicht zwingend notwendig) Nutzer arbeiten mit einer monolithischen Anwendung Mehrere Rechner mit einer solchen über (grafische) Terminals Typisch bei Mainframeanwendungen

42 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Schichtenverteilung (2-Tier) Typischer Weise Trennung von Präsentation und dem Rest (Business- und Datenlogik) –Client enthält Präsentation mit GUI und behandelt Interaktion mit Nutzer –Server kapselt Business- und Datenlogik Clients sind (weitgehend) unabhängig voneinander –Es kann auch verschiedene Clients für verschiedene (Teil)funktionalitäten geben Ressourcemanagement sieht nur eine Businesslogik als Client –hier lässt sich der Zugriff daher gut optimieren Erlaubt die Nutzung komplexerer GUI's mit intensiverer CPU- Nutzung, da Clients verteilt sind Definierten Notwendigkeit zur Bereitstellung von universellen Kommunikationsschnittstellen zwischen Client und Server

43 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Thin Client / Thick Client

44 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Client/Server Modelle Prozeß: Legende: Computer: Server Client Auftrag Antwort Initiierender Prozeß stellt Anfragen erteilt Aufträge Reagierender Prozeß bearbeitet Anfragen erfüllt Aufträge Server Auftrag Antwort

45 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Mehrfache Server Server Dienst Client Partitition oder Replikation von Diensten Beispiel Partition: WWW Beispiel Partition und Replikation: DNS

46 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Proxy-Server und Cache Client Proxy Web server Web server Client Proxy-Server: Gemeinsamer Cache Zweck von Proxy-Servern: erhöhte Leistung und Verfügbarkeit

47 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Koordinierungs- Applikation code Koordinierungs- Applikation code Koordinierungs- Applikation code Gleichrangige Prozesse (Peer Processes) Oft bessere Leistung als Client-Server mit vielen ähnlichen Prozessen und vorwiegend lokaler Kommunikation. Beispiel: Whiteboard Oft bessere Leistung als Client-Server mit vielen ähnlichen Prozessen und vorwiegend lokaler Kommunikation. Beispiel: Whiteboard

48 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Nachteile der 2-Schichtenverteilung Ein Server muss in der Regel alle Clients bedienen oder ich hab mehrere Server, die bzgl. dem Ressourcenzugriff nicht synchronisiert sind –denn es gibt ja keine gemeinsam genutzte Business-Logik (wo diese stattfinden kann) –Beim Zugriff auf Server mit verschiedenen Funktionalitäten ist der Client der Integrator => Fat Clients Der Client muss nun wissen, wo was ist, wie er darauf zugreifen kann, wie Konistenz garantiert werden kann, etc. Das ist ineffizient in nahezu allen Aspekten (Software Design, Portabilität, Code Rebenutzung, Performanz) Lässt sich nur bei Erweiterung der Schichtverteilung lösen

49 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Schichtenverteilung (und mehr) Bei der 3-Schichtenverteilung im klassischen Sinne sind Präsentations-, Business- und Datenlayer getrennt –voll modularisiertes System –Verschiedene Layer können über Netzwerktechnologien miteinander kommunizieren Die Layer werden dabei oft auch auf verschiedene Rechnersysteme verteilt Middleware wird als universelle Kommunikations-"Brücke" zwischen den einzelnen Schichten eingesetzt –trennt Anwendungslogik zu einem gewissen Teil von der Kommunikationslogik –erhöht die Interoperabilität von Softwaresystemen über Rechnergrenzen hinweg –Kann verschiedene Hilfsdienste bereitstellen, um wichtige Eigenschaften des Verteilten Systems zu garantieren

50 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Architektur mit 3-Schichtenverteilung Präsentationsschicht Applikationslogik Datenlogik

51 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Applikationen, Dienste Betriebssystem Middleware Computer- und Netzwerkhardware Middleware abstrahiert vom Betriebssystem Middleware (Verteilungsplattform) : Transparenz der Heterogenität existierender Hardware und Betriebssysteme Verteilung Middleware (Verteilungsplattform) : Transparenz der Heterogenität existierender Hardware und Betriebssysteme Verteilung Plattform: unterste Hardware- und Softwareschichten (Low-Level) werden häufig als Plattform bezeichnet. Beispiele: Intel x86/{Windows|Linux}, PowerPC/MacOS, Solaris Plattform: unterste Hardware- und Softwareschichten (Low-Level) werden häufig als Plattform bezeichnet. Beispiele: Intel x86/{Windows|Linux}, PowerPC/MacOS, Solaris Plattformunabhängig Middlewareabhängig Plattformunabhängig Middlewareabhängig

52 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Middleware als Zwischenschicht zur Kommunikation zwischen Layer

53 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Middleware als Integrationshilfsmittel

54 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, N-Schichtenverteilung Entweder durch Hinzufügen weiterer Schichten –z.B. bei Web-Business-Applikationen durch zusätzlichen Web-Tier Durch Verknüpfungen mehrer Mehrschicht- Anwendungen über zusätzliche Integrationslayer

55 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Schichten-Architektur mit Web-Layer Für solche Architekturen setzt man häufig Komponenten-oriente Frameworks ein, die auf Application Server basieren –Komplette Frameworks zum Schreiben von Mehrschicht- Anwendungen.NET Framework Java JEE

56 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, JEE als Komponenten-orientierte Middleware Browser Legacy System Database (Controller) Servlet(s) (Model) Web/HTTP Server 3 (View) JSP GUI Anwend. EJB JMSJMS JDBCJDBC CORBA JNDIJNDI Corba Dienst e Application Server RMI

57 Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, Gliederung der weiteren Vorlesung Kommunikation und Parallelität – Grundlegende Begriffe und Technologien –Client-Server Kommunikation –Nebenläufigkeit (Parallelität), Synchronisationsprobleme, Verteilte Transaktionen Verteilte Objektkommunikation und Namensdienste Middleware, Verteilte Softwarekomponenten und Application Server –Verteilte Komponenten und ihre Kommunikation –Kommunikation über Nachrichten (MOM – Message Oriented Middleware) Die Rolle des Web in Verteilten Business-Applikationen –Web als Präsentationsschicht –Web als Servicekommunikationsschicht –SOA (Service Oriented Architecture)


Herunterladen ppt "Forschungszentrum Karlsruhe Technik und Umwelt Clemens Düpmeier, 11.02.2014 Verteilte Systeme Dozent: Clemens Düpmeier Foliensatz 1: Einführung, Historie,"

Ähnliche Präsentationen


Google-Anzeigen