Web Development

Vertiefungsmodul im Medieninformatik Bachelor

Frameworks, Dienste und Daten im Web

Prof. Dr. Kristian Fischer

Mit dem Kurs werden folgende Ziele verfolgt:

  • Den Grundgedanken der asynchronen, serverseitigen Kommunikation und die zugehörigen Standards, Frameworks und Protokolle erklären und im Fachdiskurs vertreten können
  • Den Grundgedanken und die Standards, Frameworks und Protokolle für offene Daten erklären und im Fachdiskurs vertreten können
  • Zugang zum gezielten, selbstständigen Wissenserwerb durch Literatur, Webinars und Recherchen im Web gewonnen haben
  • Für die Implementierung von serverseitige Anwendungen Frameworks auswählen, installieren, programmieren können; dabei Schwierigkeiten überwinden können
  • Projektbezogen die Nutzung von offenen Daten und Services im Web recherchieren, bewerten und den Zugang programmieren können
  • Projektbezogen den Einsatz von Frameworks für die asynchrone, serverseitige Kommunikation recherchieren, bewerten und programmieren können

Inhalte

Grundlagenteil

Im Grundlagenteil werden Themen auf der Basis von Vorlesungsinput und Literaturaufgaben folgende Themen behandelt:

  • Even Driven Architecture, Queuing, Pub/Sub Prinzipien
  • Motivationen asynchroner Architekturen: u.A. Reactive Design Patterns, Unified Log, Event-basierte Kommunikation
  • Open Data Gedanken Prinzipien
  • Open Data Technik: RDF, RDFS SPARQL, Schema.org, … Dazu wird an jedem Veranstaltungstag ein Block von 1,5 Stunden vorgesehen.

Workshop Teil

Im Workshop sollen die Studentinnen und Studenten als architekturelles Proof of Concept eine serverseitige Anwendung auf Basis eines asynchronen Frameworks wie RabbitMQ oder alternativer Broker wie Kafka oder XMPP entwickeln, die Daten aus dem offenen Web nutzt. Basis dafür soll ein gemeinsames Problemszenario sein. Ein besonderer Schwerpunkt soll auf das Begleiten der Studentinnen und Studenten beim selbstständigen Wissenserwerb gelegt werden. Dazu sollen individuell bereits in der ersten Veranstaltung Themen identifiziert werden, in denen Wissen aufgebaut werden muss und vereinbart werden wie das bis zur nächsten Veranstaltung passieren soll. Themen können sein Lücken in JS, wie funktioniert RabbitMQ, erste technische Proof of Concepts.

Die Projektarbeit gliedert sich in zwei Phasen:

  • In der ersten Phasen ist ein technischer PoC individuell von jedem Studenten bzw. jeder Studentin zu realisieren. Dadurch soll gezeigt werden dass ein sinnvoller Datenabruf von einer Open Data Quelle realisiert werden kann und eine Kommunikation zwischen verschieden Anwendungskomponenten (mit nur minimale Anwendungslogik) auf Basis eines asynchronen Frameworks realisiert werden kann.
  • In der zweiten Phase ist ein architekturelles PoC im Team zu realisieren. Auf Basis der Erkenntnisse und Erfahrungen der ersten Phase soll eine Anwendngsarchitektur auf Basis asynchroner Frameworks und der Einbindung geeigneter Open Data Quellen für ein Problemszenario konzipiert werden und die Eignung durch die Realisierung und das Zsammenspiel kritischer Teile geprüft und demonstriert werden.

Prüfung

Im Rahmen einer Projektpräsentation und eines Fachgesprächs wird bewertet:

  • das Projektergebnis und die Projektarbeit auf Basis der Präsentation und der Folien mit Notizen, die vor allem die Abwägungen und Begründungen darsatellen (50 %)
  • die Diskussion der fachlichen Konzepte auf Basis des im Grundlagenteil erworbenen Wissens (50 %)

Termine

Workshop 1

Termin
02. April 2020, 13:00 Uhr
Dauer
240 min
Verantwortlich
Kristian Fischer

Workshop 2

Termin
16. April 2020, 14:00 Uhr
Dauer
240 min
Verantwortlich
Kristian Fischer

Meilenstein 1

Termin
23. April 2020, 09:00 Uhr
Dauer
480 min
Verantwortlich
Kristian Fischer

Workshop 3

Termin
30. April 2020, 14:00 Uhr
Dauer
240 min
Verantwortlich
Kristian Fischer

Meilenstein 2

Termin
07. Mai 2020, 09:00 Uhr
Dauer
480 min
Verantwortlich
Kristian Fischer