Hasso-Plattner-Institut Potsdam Operating Systems and Middleware Group at HPI University of Potsdam, Germany
Operating Systems and Middleware Group at HPI

Vorlesung: Komponentenprogrammierung und Middleware

Sommersemester 2007

Di 9:15-10:45 HS 2
Do 11:00-12:30 HS 3

Prof. Dr. Andreas Polze

Konsultation:

Abgabe Projektausarbeitung:

Bitte geben Sie Ihre Projektabarbeitung bis zum 03.09.2007 12:00 Uhr im Sekretariat bei Frau Wagner ab.

Details zur Abgabe: 

  • 1 ausgedruckte Version der Projektausarbeitung
  • 1 digitale Version der Projektausarbeitung auf beigelegter CD oder per E-Mail
  • 1 digitale Version des Vortrags auf beigelegter CD oder per E-Mail
  • Quelltext in digitaler Form auf beigelegter CD oder per E-Mail 

Inhaltsübersicht:

Softwarekomponenten sind Bausteine mit wohldefinierten Schnittstellen, die sich in binärer Form wiederverwenden lassen. Sie sind Software-Module die auf Ereignisse reagieren können und ihre Eigenschaften nach außen hin sichtbar machen.
Die Vorlesung gibt eine Überblick über die bedeutenden Komponentenarchitekturen. Anhand von Beispielen werden Namenskonventionen und Verpackungsregeln für Komponenten sowie die Unterstützung der Komponentenintegration durch Werkzeuge diskutiert.
Im Rahmen des Projektes sollen sich die Hörer mit jeweils einer Komponentenumgebung intensiv auseinandersetzen und ihre Erfahrungen in der Vorlesung vorstellen.

Themenblöcke:

Leistungserfassungsprozeß:

Die Leistungserfassung erfolgt in den Präsentationen und vorangehenden Konsultationen zur Projektarbeit. Im Einzelnen gelten folgende Regeln:
  • Im Rahmen der Projektarbeit sollen Teilnehmer auf einer Auswahl von vier Middleware-Plattformen (CORBA, COM, J2EE/J2ME, .NET/Compact Framework) eine verteilte Anwendung entwerfen, implementieren und dokumentieren. Das Projekt sollte im gewählten Komponentenframework mindestens folgende Funktionalitäten demonstrieren:
    • Verwendung von zwei verschiedenen Middlewareplattformen ODER zwei verschiedenen Programmiersprachen
    • Nachladen von Komponenten ohne Neu-Übersetzung der Anwendung
    • Nutzung von Komponenten über Rechnergrenzen hinweg (Verteilungstransparenz)
  • Von den Teilnehmern wird in der zweiten Semesterhälfte ein 20-25 minütiger Vortrag mit Präsentation der verteilten Anwendung, anschließender Diskussion und Auswertung (5-10 Minuten) erwartet. Zwei Wochen vor dem Vortragstermin sollten in einer Vorbesprechung die Vortragsunterlagen (draft-Ausgabe der Folien) bei einem Betreuer vorgestellt werden.
  • Am Ende des Semesters ist eine Projektdokumentation in schriftlicher Form abzugeben (mindestens 10 Seiten). Die Dokumentation sollte minimal folgende Punkte diskutieren: 
    • Auswahl der Komponenten-Frameworks
    • Anforderungsspezifikation
    • Grobentwurf (UML, Spikes (FMC))
    • Identifizierung und Anwendung von Entwurfsmustern
    • Details zu Implementierung und Test
    • Verwandte Arbeiten:
    •     Wie hätte sich Ihre Lösung in einer anderen Komponentenumgebung realisieren lassen?
    •     Was sind die größten Schwachstellen des verwendeten Frameworks?
    • Ausblick, Erweiterungsmöglichkeiten 
  • In die Bewertung der Lehrveranstaltung (6 benotete Leistungspunkte) gehen Vortrag, Diskussion und schriftliche Ausarbeitung ein.
  • Die Belegungsfrist endet am 01.05.2007

Planung der Projektvorträge

Gruppe Termin Konsultation Kommillitonen Projektthema
1 12.7. 10.7., 11:00 Christoph Fischer, Andreas Motl , Frank Zschockelt Komponenten-basierender, verteilter Editor
2 10.7. 3.7., 11:00 Ziawasch Abedjan, Dominik Zeiger, Mesut Öciftci, Kevin Schlieper Komponenten-basierender, verteilter Editor
3 3.7. 27.6., 13:00 Fabian Garagnon, Benjamin Hosain Wasty, Martin Konarski, Stefan Krumnow Komponenten-basierender, verteilter Editor
4 10.7. 3.7., 11:00 Alexander Koglin, Philipp Dobrigkeit, Florian Reinhart, Daniel Hefenbrock own-a-ship.com
5 3.7. 27.6., 13:00 Peter Faymonville, Timo Tretter, Matthias Pohl Komponenten-basierender, verteilter Editor
6 17.7. Mike Nagora, Sebastian Klose, Ingo Jaeckel, Paul Römer Autovermietung
7 3.7. 27.6., 11:00 Erik Schleiff, Johannes Gosda, Jonas Rogge, Gerald Töpper Komponenten-basierender, verteilter Editor
8 10.7. 28.6., 13:00 Robert Krahn, Sebastian Wätzold, Björn Friedri, Alexander Krasnogolowy Taschenrechner
9 17.7. 10.7., 11:00 Tobias Flach, Oliver Klehm, Dandy Fenz Taschenrechner
10 17.7. 10.7., 11:00 Björn Ruberg, Stefan Reichel, David Förster Komponenten-basierender, verteilter Editor

 

Literatur:

  • Java in a Nutshell by David Flanagan, 3rd Edition, O'Reilly, 1999, ISBN 1-56592-487-8
  • Component Software - Beyond Object-Oriented Programming by Clemens Szyperski, Addison-Wesley, 1999, ISBN 0-201-17888-5
  • Design Patterns - Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides,Addison-Wesley, 1995, ISBN 0-201-63361-2
  • Objektorientierte Softwareentwicklung - Analyse und Design mit der Unified Modeling Language by Bernd Oesterreich, 5-te Auflage, Oldenbourg Verlag, 2001, ISBN 3-486-25573-8
  • CORBA 3 - Fundamentals and Programming by Jon Siegel, Second Edition, Wiley Computer Publishing, 2002, ISBN 0-471-29518-3
  • Java Programming with CORBA by Gerald Brose, Andreas Vogel, Keith Duddy, Third Edition, Wiley Computer Publishing, ISBN 0-471-37681-7

Vorherige Veranstaltungen:

WS 05/06 SS 2004 SS 2003