Verteilte Systemarchitekturen Proseminar im WS 09/10 Prof. Sergei Gorlatch, Philipp Kegel, Alexander Ploß Parallele und verteilte Systeme, Westfälische Wilhelms-Universität Münster 17. Juli 2009
Inhalte 1 Einführung 2 Themen 3 Anforderungen 4 Fristen und Termine 2
Verteilte Systemarchitekturen Ursprung: Personal Computer Vorher: Zentralrechner (Mainframe) und Terminals Idee: Nutzung aller verfügbaren Ressourcen 3
Verteilte Systemarchitekturen Trends Pervasive bzw. Ubiquitous Computing Zunehmende Kommunikationsfähigkeit aller Geräte (WLAN, Bluetooth, UMTS,...) Folge: Dezentralisierung Ziel: Softwarearchitektur muss das Zusammenspiel der Komponenten organisieren 4
Themen Dunkel, J., Eberhart, A., Fischer, S., Kleiner, C., Koschel, A. (2008): System-Architekturen für verteilte Anwendungen, Hanser 5
Client-Server-Architekturen Grundlegendstes Konzept der Verteilung von Software auf verschiedene Systeme Zwei Rollen: Dienst-Anbieter (Server) und Kunden (Client) Dienst: genau festgelegte Aufgabe Beispiele: WWW-Clients und -Server Remote Procedure Call (RPC), Remote Method Invocation (RMI) Datenbanksysteme 6
3- und N-Tier-Architekturen Idee: Aufteilung einer Software in Schichten Ziele 1. Verringerung der Komplexität 2. Verteilung der Software auf verschiedene Rechner Klassische Aufteilung: 3-Tier 1. Persistenzschicht 2. Anwendungsschicht 3. Präsentationsschicht Verallgemeinerung: N-Tier Beispiele: klassische Webanwendungen CORBA (Common Object Request Broker Architecture) Java Enterprise Edition (JEE) 7
Service-Orientierte Architekturen (SOA) Prinzipiell: technologieunabhängige Softwarearchitektur Praxis: Softwarearchitektur auf der Basis von Web-Services Ziel: Integration heterogener, verteilter Applikationen 3 wesentliche Komponenten Service-Provider Service-Consumer (Enterprise) Service-Bus, Registry Schwerpunkt: Web-Services und ihre Realisierung 8
Event-Driven-Architecture (EDA) Ergänzung der SOA Entkopplung der Komponenten steht im Vordergrund: Erzeugen, Entdecken und Verarbeiten von Ereignissen (Events), statt Serviceaufruf Complex Event Processing (CEP) Erkennung und Verarbeitung zusammenhängender Ereignisse Beispiel System für Aktienhandel: Kaufs- oder Verkaufsempfehlung soll von eine speziellen Muster von Kursschwankungen abhängen, nicht von einzelnen Wertänderungen 9
Peer-to-Peer (P2P) Keine Unterscheidung zwischen Client und Server (s.o.) Hebt Beschränkungen des Client-Server-Konzepts auf Potentiell bessere Skalierbarkeit Kein Single-Point-Of-Failure Bessere Ausnutzung der Rechenleistung des Gesamtsystems Beispiele Gnutella, edonkey, Napster, BitTorrent,... Skype 10
Grid-Architekturen Grid, von Power Grid (engl., Stromnetz) Rechenleistung aus der Steckdose Middleware, die Anwendungen Zugriff auf Ressourcen in verteilten Systemen ermöglicht Ressource: Daten, Drucker, (Hochleistungs-) Rechner Verteilt: Die Ressourcen liegen in verschiedenen Administrationsdomänen (Unternehmenen, Institutionen) keine zentrale Kontrollinstanz Beispiele Sun Grid Engine GLOBUS Toolkit 11
Web 2.0 und Web-orientierte Architekturen Web 1.0 Dynamische Webseiten, Online-Dienste Web 2.0 Der Nutzer wird vom Konsumenten zum aktiven Internetmitbürger Beispiele Britannica Online vs. Wikipedia Content-Management-Systeme vs. Wikis Architekturprinzip: Keep it Simple! Browser als UI Beschränkung auf Internetstandards (HTTP, SSL), keine neuen Standards (vgl. SOA) Representational State Transfer (REST) Asynchronous JavaScript and XML (AJAX) JavaScript Object Notation (JSON) Mashups statt Service-Komposition 12
Teilnahmebedingungen Studierende der Bachelor-Studiengänge im 5. Fachsemester Vorkenntnisse zum Thema Parallele und verteilte Systeme sind von Vorteil, aber nicht zwingend erforderlich 13
Ziele Das Seminar verfolgt zwei Ziele: 1. Erlernung der Techniken zur selbständigen Verarbeitung und Präsentation von nicht-trivialem Stoff (dient der/dem Vortragenden) 2. Vermittlung des Stoffes für die Seminarteilnehmer 14
Anforderungen Vortragsdauer: ca. 30 Minuten (inklusive Fragen) Mit Zwischenfragen rechnen (wir werden kritische Zuhörer sein) Vortrag üblicherweise mit Notebook und Beamer. Andere Präsentationsform nach Rücksprache möglich. Umfang: ca. 15 18 Folien Faustregel: zwei Minuten je Folie Sprache (Folien und Vortrag) ist Deutsch. Ausnahmen (englisch) nach Rücksprache möglich. Abgabe in elektronischer (PS- oder PDF-Datei) Form 15
Hinweise Möglichst sofort mit der Einarbeitung beginnen 1. Literatur lesen 2. Inhalte der Seminararbeit festlegen (Gliederung) Eigenständig weitere Quellen suchen und auswählen Kontakt mit Autoren Referenzierte Quellen Verwandte Literatur Internet: Websites, Newsgroups,... Wenn möglich, praktische Arbeiten durchführen Programme selbst ausprobieren Kontakt zum Betreuer halten Probleme nicht bis kurz vor der Abgabe bzw. dem Vortrag aufschieben Die Qualität der Betreuung hängt auch vom Studenten ab! Fristen und Termine einhalten 16
Fristen und Termine 19.07.2009: Anmeldeschluss 28.09.2009: Einarbeitung Gliederung und Quellenübersicht 14.12.2009: Vorbereitung des Vortrags: Entwurf der Vortragsfolien 11.01.2010: Fertigstellung des Vortrags: Vortragsfolien 15.01.2010: Abschluss des Seminars: Vortrag 17
Anmeldung E-Mail mit folgenden Angaben an philipp.kegel@uni-muenster.de Name, Matrikelnummer Studiengang, Fachsemester Themenwunsch An-/Abmeldung bis einschließlich 19.07.2009 möglich Anmeldung verpflichtet zur Teilnahme Aufnahme in Warteliste weiterhin möglich Benachrichtigung per E-Mail bis 24.07.2009 18
Weitere Informationen unter http://pvs.uni-muenster.de/pvs/lehre/ws09/proseminar/ Anmeldung nicht vergessen! 19