Komponentenprogrammierung und Middleware (2014)

Sommersemester 2014
Mittwoch 11.00 - 12.30 Uhr, A-2.2
Prof. Dr. Andreas Polze

Dipl.-Inf. Christian Neuhaus
Frank Feinbube, M.Sc.
Daniel Richter, M.Sc.

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.

Ablauf:

Zum Anfang des Seminars gibt es für die Teilnehmer eine Vorstellung der folgenden Themenblöcke:
  • Einführung, Überblick, Projektarbeit
  • Was ist Middleware?, Komponentenprogrammierung versus Objektorientierung, Vergleich von Komponentensystemen
  • Java, J2EE, CORBA, IDL, Microsoft .NET, Remoting, Java Beans, COM, DCOM, Transaktionen, Security
  • Webservices – SOAP, WSDL, WS-*, Cloud Computing
Ab Mitte Mai werden dann die Seminarteilnehmer mit der Präsentation des Zwischenstands ihrer Projektarbeit beginnen und ab Mitte Juni mit der Endpräsentation und Diskussion der Projekte abschließen.

Leistungserfassungsprozess:

Die Leistungserfassung erfolgt in den Präsentationen und vorangehenden Konsultationen zur Projektarbeit. Im Einzelnen gelten folgende Regeln:
  • Es ist eine Veranstaltung im Masterstudium als Projektseminar mit 4 SWS (6LP).
  • Im Rahmen der Projektarbeit sollen eine verteilte Anwendung entworfen, implementiert und dokumentiert werden. Das Projekt muss dabei mindestens zwei verschiedenen Middlewareplattformen und Programmiersprachen verwenden.
  • Die Projektarbeit kann in Gruppen von bis zu zwei Studenten stattfinden.
  • Gegen Ende Mai wird eine Präsentation des Vorschlags sowie der Architektur des geplanten Projekts erwartet.
  • Gegen Ende der Vorlesungszeit findet eine Endpräsentation und Vorführung des Projekts statt. Dabei sollen folgende Punkte diskutiert werden:
    • Auswahl der Komponenten-Frameworks
    • Anforderungsspezifikation & Grobentwurf
    • Details zu Implementierung und Test - verwendete Tools & Techniken
    • Ausblick, Erweiterungsmöglichkeiten
  • In die Bewertung der Lehrveranstaltung (6 benotete Leistungspunkte) gehen die Projektarbeit, beide Präsentationen und die Diskussion ein.

Termine

Datum Thema
Mi, 09.04.2014 Einleitung (Organisation, Leistungserfassungspozess, Projektarbeit)
Was ist Middleware?
Mi, 16.04.2014 Microsoft .NET Framework, WCF
Mi, 23.04.2014 Beispiele Komponentenframeworks
Mi, 30.04.2014
Mi, 07.05.2014 CORBA/IDL
Mi, 14.05.2014 CORBA/IDL
Mi, 21.05.2014 Vorstellung studentischer Projekte
RealTime CORBA
Mi, 28.05.2014 COM
Mi, 04.06.2014 COM
Mi, 11.06.2014 J2EE
Mi, 18.06.2014 Zwischenpräsentation studentischer Projekte
Mi, 25.06.2014 Future SOC Symposium
Mi, 02.07.2014 Cloud Computing
Mi, 09.07.2014 Konsultation für Endpräsentation
Mi, 16.07.2014 Seminar "Fehlertolerante Systeme"
Do, 17.07.2014 Endpräsentation studentischer Projekte
10.00 - 10.45 StatisticTool Uwe Hartmann, Manuel Zedel
10.45 - 11.30 Chat Matthias Bastian, Lukas Pirl
11.30 - 12.15 Breakout Angelo Haller, Nicco Kunzmann
13.00 - 13.45 Battle of the Bots Andreas Grapentin, Nils Kenneweg
13.45 - 14.30 ChooChoo Kai Fabian, Daniel Stelter-Gliese
14.30 - 15.15 Verteilter Taschenrechner Daniel Roeder, Johannes Eschrig

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