Angestrebte Lernergebnisse / Learning Outcomes
Die Studierenden können in Einzelarbeit auf Basis exakter und vollständiger Anforderungen eine webbasierte Client-Server-Applikation codieren,
indem sie einen gegebenen Entwicklungs-Stack einsetzen,
um später bei der Codierung großer derartiger Applikationen mitwirken zu können sowie alternative Frameworks und Libraries einordnen zu können.
Inhalt
- Der Browser als Client
- Grundlegende Protokolle und Standards wie z.B.
- das Hypertext Transfer Protocol (HTTP)
- der Domain Name Service (DNS)
- Uniform Ressource Identifier (URI)
- Auszeichnungen und Strukturierungen von Inhalten mit der Hypertext Markup Language (HTML)
- Layoutdefinitionen mit Cascading Stylesheets (CSS)
- Dynamisierung mit JavaScript (ECMAScript), Asynchronuous JavaScript and XML (Ajax) und dem JavaScript Object Notation (JSON)
- Web-Server
- Konfiguration von Web-Servern wie Nginx
- Serving von statischen Inhalten
- Caching als wichtiges Mittel des World-Wide-Web
- Application-Server
- Wichtige Spezifikationen wie z.B.
- Servlets als Bindeglied zwischen Clients und Application-Servern
- Java Persistence API (JPA) als Bindeglied zwischen Application-Servern und Datenbank-Servern
- industriell relevante Implementierungen
- Apache Tomcat
- Spring (Boot)
- Datenbanken
- Relationale Datenbanken
- Grundlegende Konzepte wie Attribute, Schlüssel, Tupel, Beziehungen und Transaktionen
- Datenbankzugriffe mit der Structures Query Language (SQL)
- Konfiguration einer MySQL-Datenbank
- NoSQL-Datenbanken
- Vor- und Nachteile von NoSQL-Datenbanken
- Konfiguration z.B. einer MongoDB
- Programmatischer Zugriff auf Datenbanken (mittel z.B. JPA)
- Vorlesung
- Übung
- begleitende Projekt-Aufgabe:
- Ausgangssituation: exakt ausformulierte, jedoch auf wesentliche Use-Cases beschränkte Anforderungen an ein webbasiertes System wie z.B. Vorlesungsverwaltung, Warenwirtschaftssystem oder Issue-Tracking
- Zielsituation: abnahmefähiges webbasiertes System
Materialien/ Ressourcen
- Liste ausgewählter Literatur und Web-Ressourcen
- Vorlesungsunterlagen
- Übungsunterlagen inkl. Lösungen
- Projekt-Meilensteinbeschreibungen
- vorkonfigurierte Entwicklungsumgebungen
- vorgefertigte Entwicklungsstände