B-IT Vorlesung (Hauptstudium)
"Grid Computing und Verteilte Informationssysteme" (2V/2Ü)

by Armin B. Cremers und Serge Shumilov
Universität Bonn, Institut für Informatik III


1. Rahmenbedienungen der Veranstaltung

Titel: „Grid Computing und Verteilte Informationssysteme“
Verantwortung: Prof. Dr. Armin B. Cremers und Dr. Serge Shumilov
Zeitspanne: 29. August 2005 - 16. September 2005
Ort: B-IT Gebäude, Görresstr.13

Art der Veranstaltung:

3-wöchige Intensivveranstaltung im Rahmen der Exzellenzkomponente des B-IT, die eine 2+2-stündige einsemestrige Spezialvorlesung abdeckt. Pro Woche werden fünf 2-stündige Vorlesungen und fünf 2-stündige Übungen angeboten.

10:00 – 12:00 – Vorlesung
12:00 – 13:00 – Pause
13:00 – 15:00 – Übungen
15:00 – 17:00 – Freie Computerzeit / Vorbereitung zur Übung

Zielgruppe:

Sehr gute bis gute Studierende der Universitäten Aachen und Bonn, die mindestens ihr Grundstudium abgeschlossen haben.

Skript:

Für die registrierten Teilnehmer wird begleitend zur Vorlesung ein Folien-Skript zur Verfügung gestellt.

Prüfungsmöglichkeiten:

Nach alter DPO ist diese Vorlesung, z. B. im Bereich Softwaretechnologie oder Informationssysteme geeignet für eine C-Prüfung (z.B. bei Prof. Dr. A.B. Cremers).

Neue DPO: Leistungspunkte im Bereich B - Prüfung durch den Dozenten. Die Prüfungsform (mündlich/schriftlich) wird noch bekannt gegeben. Teilnahme und Anmeldung:

Die Anmeldung erfolgt per E-mail an Herrn Dr. S. Shumilov (shumilov@cs.uni-bonn.de) bis zum 1.08.2005. Anzugeben sind die folgenden Daten (bitte verwenden sie die untenstehende Reihenfolge):

Name:
Vorname:
Universität (Bonn/Aachen):
Matrikelnummer:
Email:
Studiensemester:

Weiterhin besteht auch die Möglichkeit, sich persönlich nach der Absprache per e-mail anzumelden. Die Zielgröße der Teilnehmerzahl sind ca. 30 Studierende. Melden sich weit mehr als 30 Studierende an, werden Kriterien von Eignung und Bedarf herangezogen. Die Entscheidung und Bestätigung der Teilnahme erfolgt per E-mail bis zum 8.08.2005.

2. Inhalt und Material zur Vorlesung (Erster Entwurf)

Diese Vorlesung befasst sich mit verschiedenen Client-, Server- und Middleware-Technologien für die Verarbeitung verteilter Objekte in Informationssystemen. Während Clients vor allem die Schnittstelle zum Benutzer realisieren und Server die Daten bereitstellen, erfüllt Middleware neben der elementaren Kommunikation unterschiedlichste Dienste, vom Zugriff auf verteilte Daten, über Kontrolle verteilter Abläufe, bis hin zu verteilter Applikationslogik.

Das Themenspektrum beinhaltet sowohl verschiedene grundlegende technologische Aspekte verteilter Informationssysteme, als auch aktueller Forschungsthemen, wie Peer-to-Peer- Netzwerke und Grid-Computing. Zunächst werden die grundlegenden Konzepte verteilter Informationssysteme vorgestellt: Kommunikation, Prozesse, Namensgebung, Synchronisation, Konsistenz, Replikation und Fehlertoleranz. Darauf aufbauend stellen wir die Open Grid Service Architecture (OGSA) sowie den neuen WSRF-Standard vor und diskutieren existierende Grid Systeme und deren Programmiermodelle.

Die Vorlesung betrachtet verschiedene Architekturen für die Implementierung von Diensten im Internet. Zunächst werden Enterprise Java Beans (EJB, J2EE), Web Services (SOAP, WSDL, UDDI) und andere webbasierte Plattformen vertieft. Weitere betrachtete Architekturen sind GRID- und Peer-to-Peer-Systeme.

Unter anderem werden folgende Themen behandelt:

  • Grundliegende Kommunikationsmodelle (Pipeline, Semaphore, Puffer, Shared Memory, RPC)
  • Die wesentlichen Middleware-Technologien (CORBA, Java RMI, EJB) werden vorgestellt und Zusammenhänge zum Entwurf aufgezeigt.
  • Verteilte Objekt-Objektorientierte Datenbanktechnologien
  • Design Patterns und Best Practices für Verteilte Informationssysteme
  • Grid Computing

Vorlesungsinhalt

1. Motivation
Beispiele von Verteilten Informationssystemen.

2. Einführung in grundlegende Kommunikationsmodelle
In-Process Prozeduren- und Methodenaufrufe, Threads Inter-Process UNIX Process, Synchrone und asynchrone Kommunikation, Inter-process Kommunikation primitives in UNIX: Pipeline, Semaphore, Puffer, Shared Memory, Beispielkommunikation zwischen Tcl/Tk und C++ Inter-Machine Client-Server-Modell, Prozeduraufruf übers Netz: Remote Procedure Call (RPC), TCP/IP Sockets, Beispiel: Client - Server mit Sockets in Java

3. Offene verteilte Systeme
Bausteine verteilter Architekturen Proxy / Stub & Skeleton, und deren Aufgaben: Marshaling und unmarshaling der Argumente und Resultate, Bridge, Broker Middleware Technologien CORBA (Common Object Request Brokers Architecture) von OMG, Java-RMI (Remote Method Invocation) von Sun Web Servises Protocol Stack Messages (SOAP: Service Oriented Access Protocol), Definition (WSDL: Web Services Description Language), Discovery (UDDI: Universal Description, Discovery, and Integration)
4. Persistenz in verteilten Systemen
Grundlagen Serialization von Objekten in Java, XML, Objektorientierte Datenbanken (ODBMS), Relationale Datenbanken (RDBMS), Objekt-Relationales Mapping, Transaktionen 2-tier : JDBC, JDO, Hibernate, iBATIS 3-tier : (verteilte Komponenten) XDA, Enterprise JavaBeans, CORBA 3.0 Components Model Design Patterns und Best Practices Design Patterns, Umsetzungsbeispiele Middleware mit Applikationslogik (Three-Tier-Architektur), Föderierte Datenbanksysteme und Informationsystemen, GIS-Anwendungen (GeoStore/GeoWeb, OPALIS)
5. Grid Computing
Open Grid Service Architecture (OGSA) und Grid Services OGSA Architecture and Goal, Some Sample Use Cases That Drive the OGSA, The OGSA Platform Components, Open Grid Services Infrastructure (OGSI), OGSA Basic Services Web Services Resource Framework (WSRF) Warum WSRF?, Von OGSI zu WSRF, Gliederung des WSRF, WSRF und Globus Toolkit 4, Rapid Grid Application Development mit CogKits
6. Grid Core Technologies
Datenbanken und Grid, Data Grid Anforderungen, Integration von Datenbanken mit Grid, Federating Database Systems und Grid, Data Grid Architekture, Transactionen in Grid, Replication in Grid, Beispiele von Data Grids Peer-to-peer Grids Konzept und besondere Problemstellungen in P2P-Umgebungen, Vorstellung existierender Anwendungen und Protokolle, P-Grid, JXTA, Range Queries, Narada Brokering, Smart Dust, eGrains Ressource Management und Scheduling Scheduler und Scheduling, Schedulingalgorithmen, Ressourcenverwaltung, Beispiele von Schedulern, Nimrod-G Condor-G Workflow Modelle, Informationsdienste und Semantic Grid Zusammengesetzte Web Services, Workflows (Prozesslogik, Zustandsdiagramm, WFMS), Workflow-basierte Anwendungen, Workflow Beschreibungssprachen (GSFL, BPEL4WS usw.), A semantic Grid scenario, Ontologies und Information services, e-Science

Literatur

Wird während der Vorlesung und über die Homepage bekannt gegeben.


Serge Shumilov