Seminar Web Engineering (WS 2015/2016)
Im interdisziplinären Forschungsgebiet Web Engineering werden Ansätze für ein methodisches Konstruieren von Web-basierten Anwendungen und verteilten Systemen sowie für deren kontinuierliche Weiterentwicklung (Evolution) entwickelt. So beschäftigt man sich im Web Engineering beispielsweise mit der Entwicklung von interoperablen Web Services, der Implementierung von Web-Portalen mittels Service-orientierter Architekturen (SOA), barrierefreier Benutzerschnittstellen bis hin zu exotischen Web-basierten Anwendungen, die über das Telefon sprachgesteuert werden oder sich über Fernseher und Autoradio darstellen.
Folgende Leistungen sind von jedem Seminarteilnehmer zu erbringen:
- Es ist ein Vortrag zu dem erhaltenen Thema auszuarbeiten. Die Vorträge werden im Block an einem "Seminar-Tag" gehalten; der Termin hierzu wird beim ersten Treffen vereinbart.
- Zusätzlich zum Vortrag wird eine schriftliche Zusammenfassung des Themas erwartet (Ausarbeitung).
- Jede Ausarbeitung wird von zwei bis drei Seminarteilnehmern begutachtet (Review). Die Zuweisung der Reviews erfolgt durch die Betreuer des Seminars.
Seminarleitung
Dr.-Ing. Sebastian Heil
senior researcher
Zielgruppe
- Diplom Informatik (Proseminar/Hauptseminar)
- Diplom Angewandte Informatik (Proseminar/Hauptseminar)
- Bachelor Informatik (Proseminar 500110 /Hauptseminar 500070)
- Bachelor Angewandte Informatik (Proseminar 500110 / Hauptseminar 500270)
- Informatik für Sozial- und Geisteswissenschaftler (Proseminar 500110 /Forschungsseminar 500090)
- Master Data & Web Engineering (Seminar 553170 / Forschnungsseminar 500090 / DWE-Seminar 553170)
- High Performance & Cloud Computing (Forschungsseminar 500090)
- Master Informatik (Forschungsseminar M_01)
- Master Web Engineering (Seminar Web Engineering 500410)
Einschreibung
Teilnahme nur nach Einschreibung! Die Einschreibefrist ist abgelaufen!
Themen (und VSR-Ansprechpartner)
Fragen:
- Was bedeutet Softwaremigration und wie grenzt es sich von Begriffen wie Redevelopment, Reengineering, (Perfective) Maintenance, Refactoring etc. ab?
- Welche Aspekte eines Softwaresystems können migriert werden und welche generellen Vorgehensweisen existieren?
- Erarbeiten Sie einen Entwurf für einen Fragenkatalog, der es ermöglicht zu einem vorliegenden Migrationsszenario eine Menge von geeigneten Verfahren zu identifizieren.
Literatur:
- Sneed et al.: Software-migration in der Praxis
Fragen:
- Was wird unter dem Hypermedia-Constraint verstanden?
- Welche Implikationen hat dieses Constraint auf den Client und den Server?
- Wie wird Hypermedia in praktischen REST-APIs umgesetzt?
Fragen:
- Was sind Decision Support Systems / Expert Systems?
- Welche Ansätze, Methoden und Modelle verwenden diese um Wissen zu repräsentieren und Entscheidungsfindung zu unterstützen?
- Welche frameworks existieren, um eine Menge von Entitäten basierend auf einer Folge von Fragen (d.h. einem Dialog) bzgl. ihrer Eigenschaften zu filtern?
Literatur:
- decision trees
- decision tables
- Dialogsysteme wie http://de.akinator.com/
Fragen:
- Sind NoSQL-Injektionen möglich?
- Wenn ja, wie funktionieren diese?
- Wenn nein, worin begründet sich die Sicherheit vor derartigen Angriffen?
Literatur:
- MongoDB
- CouchDB
- Redis
Fragen:
- Was gibt es für Typen von Honeypots?
- Wie funktionieren Honeypots im Detail?
- Was genau kann damit erreicht werden?
- Kann man Honeypots entdecken?
Literatur:
- T-Pot
- glastopf
- kippo
- honeytrap
Fragen:
- Was macht eine gute Web API aus?
- Best practice?
- Always RESTful?
- Dokumentation?
- Wie kann eine Web API modelliert werden? (Bspw.: RAML)
Literatur:
- eigene Recherche notwendig
Fragen:
- Was versteht man unter Schema Matching?
- Wozu braucht man Schema Matching?
- Welche Methoden existieren?
Literatur:
- eigene Recherche notwendig
Fragen:
- Warum sollte man über "Offline"-Web-Technologien sprechen und was bedeutet dieser Begriff überhaupt?
- Eingesetzte Technologien
- Ereignisse
- Caching/Storing
- Disconnect/Reconnect
Literatur:
- eigene Recherche notwendig
Fragen:
- Wozu?
- Welche Sprachen?
- Ansätze?
- Kompressionsrate?
- Prettify?
- Obfuskation?
- Source maps?
Literatur:
- eigene Recherche notwendig
Fragen:
- Wofür werden Dashboards eingesetzt?
- Welche Funktionen werden von Dashboards erwartet und welche Funktionen werden von exitierenden Implementierungen unterstützt?
- Welche Web-Technologien bzw. Frameworks werden zur Implementierung von Dashboards genutzt?
Fragen:
- Was sind die Ziele und Einsatzgebiete von Shibboleth?
- Was sind die Vor- und Nachteile?
- Wie sehen das Protokoll und die Nachrichtenformate aus?
Fragen:
- What are DMEAs?
- Explain two algorithms.
- Provide an example of applying DMA in hardware or device.
Literatur:
- Permission-based and token-based algorithems
- examples for Mutual Exclusion devices in http://en.wikipedia.org/wiki/Mutual_exclusion
Fragen:
- Was sind Multi-device Web applications?
- Was gibt für Technik von Multi-device Web applications?
- What are the challenges for designing Multi-device Web applications
Fragen:
- Wie ist die Funktionsweise von Order-preserving Encrpytions?
- Wofür sind diese notwendig?
- Wie sicher sind sie?
Literatur:
- Agrawal, R.; Kiernan, J.; Srikant, R. & Xu, Y.: Order preserving encryption for numeric data (2004)
Fragen:
- Was ist Google Native Client?
- Wie funktioniert das Sandboxing, welche Sicherheitsaspekte sind zu bedenken?
- Wie lässt sich Native Client für die Migration von C/C++ Anwendungen zu Webanwendungen einsetzen?
Fragen:
- Wie kann man allgemein Wissen modellieren?
- Was ist eine Ontologie?
- Welche Modelle bzw. Ontologien existieren zur Beschreibung von Quelltext bzw. von Wissen, welches in Quelltext enthalten ist (z.B. Geschäftsregeln, Entitäten, Prozesse, Algorithmen, Datenmodelle etc.)?
Literatur:
Fragen:
- Worin unterscheidet sich Rust von anderen Programmiersprachen?
- Was sind die Vor-/Nachteile von Rust, für welche Anwendungen eignet es sich? Wie können Web-Anwendungen mit Rust programmiert werden?
Fragen:
- Was bedeutet Datenschutz im Allgemeinen?
- Welche Gesetze und Richtlinien gelten in Deutschland?
- Wie ist der Datenschutz im Bereich eHealth auszulegen?
Literatur:
- eigene Recherche notwendig
Fragen:
- Was versteht man unter TDD im Allgemeinen?
- Welche Testarten lassen sich in Verbindung mit Javascript einsetzen?
- Welche Frameworks zur Unterstützung von TDD in Javascript gibt es?
Literatur:
- eigene Recherche erforderlich
Eröffnungstreffen
Soweit noch nicht geschehen werden alle Studenten gebeten, sich im Seminar-Workflow-System der VSR anzumelden und die Auswahl eines Themas vorzunehmen.
Die Folien des ersten Treffen sind hier verfügbar.
Zwischenvortrag
Dazu zählen folgende Punkte:
- Was verbirgt sich hinter dem Thema?
- Welche Literaturquellen wurden bis jetzt recherchiert?
- Welche Idee für eine Demo gibt es?
Tipps für den Vortrag
- Als Daumenregel lassen sich pro Folie 2 Minuten ansetzen. Wesentlich mehr Folien pro Minute lassen sich vom Zuhörer nur schwer aufnehmen.
- Vor dem Vortrag sollte man sich überlegen: Was ich die Mainmessage meines Vortrages? Was sollen sich die Zuhörer merken?
Aufbauend auf diese Überlegungen sollte der Vortrag gestaltet sein. - Auf der Seite von Garr Reynolds gibt es sehr viele gute Hinweise: http://www.garrreynolds.com/Presentation/
Seminartage
Die Informationen zu weiterem Ablauf und den folgenden Terminen entnehmen Sie bitte den Folien
Ausarbeitung
- wichtige Hinweise zur Zitierung:
- Prinzipiell muss jede Aussage, die nicht zum Allgemeinwissen zählt und nicht vom Autor selbst stammt, durch einen Literaturverweis belegt werden!
- "When to Cite Sources" - sehr gute Übersicht der Princeton University
- Beispiele für korrektes Zitieren finden Sie in der IEEE-Zitierungsreferenz
-
Auch Webressourcen sind mit Autor, Titel und Datum zzgl. URL und Abrufdatum zu zitieren, Beispiele:
- [...] M. Nottingham and R. Sayre. (2005). The Atom Syndication Format - Request for Comments: 4287 [Online]. Available: http://www.ietf.org/rfc/rfc4287.txt (18.02.2008).
- [...] Microsoft. (2015). Microsoft Azure Homepage [Online]. Available: http://azure.microsoft.com/ (23.09.2015).
- Die URL ist (falls wie hier technisch möglich) mit dem entsprechenden Hyperlink zu unterlegen ("Klickbarkeit").
- weitere wichtige Hinweise zum Abgabeformat:
- Verwenden Sie bis auf berechtigte Ausnahmen (zum Beispiel zum Hervorheben von Textstellen mit <strong>...</strong>) ausschließlich die in der Vorlage enthaltenen HTML-Elemente. Die vorgegebene CSS-Datei darf nicht abgeändert werden.
- Prüfen Sie vor dem Einreichen Ihrer Arbeit sorgfältig Rechtschreibung und Grammatik, am besten mit Softwareunterstützung, wie zum Beispiel mittels der in OpenOffice oder Microsoft Word eingebauten Rechtschreibprüfung.
- Achten Sie darauf, dass der XHTML-Code fehlerfrei ist. Nutzen Sie zur Überprüfung einen Validator: http://validator.w3.org
- Zur Abgabe packen Sie alle benötigten Dateien (HTML, CSS, Bilder) in ein ZIP- oder TAR.GZ-Archiv.
Review
- Jeder Seminarteilnehmer begutachtet genau drei Ausarbeitungen. Die Begutachtung erfolgt nicht anonym.
- Für die Begutachtung ist jeweils ein Review-Formular im VSR Seminarsystem auszufüllen
-
Jeder Seminarteilnehmer erhält nach Abschluss der Begutachtungsphase
- Einsicht in alle drei Gutachten zur Ausarbeitung,
- ggf. ergänzt um weitere Hinweise der Seminarleitung zur Ausarbeitung und
- ggf. ergänzt um die Aufforderung die Ausarbeitung entsprechend der Hinweise zu überarbeiten (falls erforderlich).
- In die Seminarnote geht die Ausarbeitung ggf. nur in der überarbeiteten Fassung ein.
Alle Hinweise in den Gutachten zur Verbesserung der Ausarbeitung sind also im Interesse des Autors der Ausarbeitung!