Qualifikationsziele:
Die Studentinnen und Studenten beherrschen die Techniken der nachrichtenbasierten Interprozess-Kommunikation und der darauf aufbauenden, durch Middleware vermittelten
Abstraktionen für die Entwicklung verteilter Anwendungssoftware. Sie sind in der Lage,
• relevante Interaktionsparadigmen wie Client/Server oder Peer-to-Peer zu unterscheiden,
• verteilte Software auf der Basis von lokaler Interprozesskommunikation sowie von so-cketbasierter Netzkommunikation zu entwickeln,
• verteilte Software auf der Basis von Fernaufrufen zu realisieren,
• Web-basierte verteilte Software auf Basis der relevanten Standards zu entwickeln.
Die Studentinnen und Studenten kennen Methoden und Verfahren der fachdidaktischen Re-duktion (Umsetzen in Unterrichtselemente wie Aufgabenstellungen, Beispiele, Veranschauli-chung und Vereinfachung).
Inhalt:
Das Modul stellt Prinzipien, Sprachen und Middleware für die Entwicklung verteilter, insbe-sondere Web-basierter Anwendungssysteme vor. Betrachtet werden nichtsequentielle Pro-gramme, deren Prozesse über Nachrichten interagieren. Typische Ausprägungen mit Schwerpunkt Client/Server-Architekturen werden behandelt. Am Beispiel von Middleware wie Java RMI und CORBA werden konkrete Ausprägungen der Fernaufruf-Technik betrachtet. Zur direkten Nachrichtenkommunikation über Internet wird die Funktionsweise von Sockets dargestellt und darauf aufbauend Internet-Dienste und deren programmatische Nutzung er-arbeitet. Für Web-basierte Verteilung werden die relevanten Techniken zur Darstellung und Datenrepräsentation wie HTML und XML behandelt. Zur Kommunikation in Web-basierten Systemen wird auf HTTP-Kommunikation eingegangen. Schließlich wird auf Techniken der klienten- und serverseitigen Verarbeitung wie Javascript, Applets, CGI, Servlets, SSI und JSP abgestellt. Auf weitere Modelle der Netzprogrammierung wie Peer-to-Peer-Systeme, Parallelrechnen im Netz, Agentensysteme und erweiterte Interaktionsparadigmen wie zum Beispiel Tuplespaces wird ein Ausblick gegeben.