|
|
|
| Code: DBWINFO-230 |
|
|
- |
|
7 |
| Studienjahr: 2 |
| Pflichtfach: ja |
Arbeitssprache:
Deutsch |
Prüfungsart:
Klausur (120 Minuten, davon je 60 Minuten für Webanwendungen I und für Webanwendungen II) Pro Bearbeitungsminute ist ein Punkt zu vergeben.
[letzte Änderung 03.09.2026]
|
DBWINFO-230 (P730-0012) Wirtschaftsinformatik, Bachelor, Ordnung 01.10.2024
, 2. Studienjahr, Pflichtfach
DBWINFO-230 (P730-0012) Wirtschaftsinformatik, Bachelor, Ordnung 01.10.2026
, 2. Studienjahr, Pflichtfach
|
|
Der Gesamtaufwand des Moduls beträgt 210 Arbeitsstunden.
|
Empfohlene Voraussetzungen (Module):
Keine.
|
Als Vorkenntnis empfohlen für Module:
|
Modulverantwortung:
N.N. |
Dozent/innen: N.N.
[letzte Änderung 01.09.2021]
|
Lernziele:
Webanwendungen I: Die Studierenden kennen die grundlegenden Eigenschaften und Einsatzgebiete von XML, das zugrundeliegende theoretische Konzept, die Komponenten sowie deren Zusammenspiel. Sie haben einen Überblick über die wichtigsten Techniken zur Validierung, Extraktion und Transformation von XML-Dokumenten erworben. Sie sind in der Lage, eine Fachdomäne zu analysieren, ein adäquates XML-Datenmodell zu entwickeln und in einem XML-Schema praktisch umzusetzen, und sie verstehen den Unterschied zwischen wohlgeformten und gültigen XML-Dokumenten. Die Studierenden können Selektionen innerhalb eines XML-Dokuments mit Hilfe von XPath erstellen und ausführen. Sie können Transformationen von XML-Dokumenten in andere Zielformate (insbesondere XML oder HTML) mit Hilfe von XSLT spezifizieren und ausführen. Die Studierenden kennen die wesentlichen Elemente von HTML und können diese Sprache in den Kontext von XML einordnen. Die Vorteile einer konzeptionellen Trennung zwischen Inhalt und Präsentation sind verinnerlicht, insbesondere in Bezug auf HTML und CSS. Die Studierenden sind in der Lage, einfache statische Webanwendungen mit HTML und CSS zu erstellen, semantisch zu strukturieren und responsiv zu gestalten sowie grundlegende Anforderungen der Barrierefreiheit zu berücksichtigen. Webanwendungen II: Die Studierenden kennen die grundlegenden Konzepte und Techniken zur Erstellung dynamischer Webanwendungen, die Unterschiede zwischen client- und serverseitigen Techniken sowie den grundlegenden Aufbau des HTTP-Protokolls. Sie sind in der Lage, Webanwendungen auf Basis von Jakarta EE (vormals Java EE) und Spring Boot zu realisieren und beherrschen deren Deployment in geeigneten Ausführungsumgebungen. Die Studierenden kennen die wichtigsten Ausprägungen klassischer APIs in Jakarta EE wie Jakarta Servlet, Jakarta Pages und Jakarta RESTful Web Services und können diese zur Erstellung von Webanwendungen einsetzen. Sie verstehen den Lebenszyklus von Jakarta-EE-Komponenten wie Servlets und REST-Ressourcen. Des Weiteren können sie das Architekturmuster Model View Controller (MVC) mit Jakarta EE und Spring Boot umsetzen. Die Studierenden kennen verschiedene Ansätze für serverseitiges Rendering von Webseiten, etwa mit Jakarta Pages, Jakarta Faces oder Thymeleaf, und können Vor- und Nachteile kritisch bewerten. Die Studierenden verstehen die Grundkonzepte aktueller Techniken zur Realisierung von REST-basierten Webservices und serviceorientierten Architekturen. Sie können generative KI bei abgegrenzten Entwicklungsaufgaben verantwortungsbewusst und unter Berücksichtigung rechtlicher Rahmenbedingungen einsetzen sowie übernommene Ergebnisse kritisch prüfen. Sie können typische Angriffsszenarien gegen Webanwendungen beurteilen sowie geeignete anwendungsseitige Gegenmaßnahmen auswählen. Ergänzend kennen sie Grenzen des KI-Einsatzes und ausgewählte Risiken KI-gestützter Webanwendungen, etwa Prompt Injection.
[letzte Änderung 03.09.2026]
|
Inhalt:
Webanwendungen I: 1. Extensible Markup Language (XML) 1.1. Einsatzbereiche an Beispielen; historische Einordnung 1.2. XML-Bäume; Knotentypen; Document Object Model (DOM) 1.3. Konkrete Syntax; Wohlgeformtheit von XML-Dokumenten 2. XML Path Language (XPath) 2.1. Lokalisierungspfade; Kontextknoten; Achsen 2.2. Operatoren und Funktionen 3. Schemasprachen 3.1. Validierung durch Schemaprozessoren 3.2. Beispiel Document Type Definition (DTD) 3.3. Beispiel XML-Schema (XSD) 3.4. Vergleich zwischen DTD und XSD 4. XSL-Transformationen 4.1. XSLT als domänenspezifische XML-Sprache 4.2. XSLT-Prozessoren 4.3. Templates; Patterns und Pattern-Matching; Auswertung 5. Hypertext Markup Language (HTML) 5.1. Einordnung (SGML, XML, XHTML); HTML Living Standard; semantische Dokumentstruktur und Grundlagen barrierefreier Webinhalte 5.2. Grundlegende HTML-Elemente und -Attribute (Seiten- und Textstruktur; globale Attribute; Hyperlinks; Listen; Tabellen; Bilder; Formulare) 6. Cascading Style Sheets (CSS) 6.1. Formatierung für XML und HTML; CSS-Module 6.2. Selektoren und Kombinatoren; Vererbung und Kaskadierung 6.3. Responsives CSS-Layout an Beispielen (Flexbox, Grid, Media Queries) Webanwendungen II: 1. Grundlagen 1.1. Aufbau und Struktur von Webanwendungen 1.2. Adressierungsschemata URL, URI, URN; Medientypen 1.3. Aufbau des HTTP-Protokolls; Historie; Grundkonzepte (Content-Negotiation, Cookies, Caching, Redirects) 2. Frontend-Technologien und Entwicklungswerkzeuge 2.1. HTML und CSS; JavaScript (ECMAScript) 2.2. JSON; asynchrone HTTP-Kommunikation im Browser (z. B. Fetch API) 2.3. ausgewählte Bibliotheken und Frameworks 2.4. verantwortungsbewusster Einsatz generativer KI im Entwicklungsprozess unter Berücksichtigung rechtlicher Rahmenbedingungen 3. Backend-Technologien 3.1. Grundlagen zu Dependency Injection (DI); XML- und JSON-Verarbeitung mit Java; Build- und Abhängigkeitsmanagement, z. B. mit Maven 3.2. Überblick über Java-Webanwendungen mit Jakarta EE (vormals Java EE) und Spring Boot 3.3. Jakarta EE: Jakarta Servlet und Filter, Jakarta Pages, Dependency Injection, Jakarta RESTful Web Services und Jakarta Validation auf Basis eines kompatiblen Application Servers 3.4. Spring Boot: Spring Framework, Spring (REST) MVC mit Thymeleaf und eingebettetem Servlet-Container 4. Architektur von Webanwendungen 4.1. Model View Controller (MVC) als Architekturmuster; client- versus serverseitiges Rendering; Single Page Applications 4.2. REST-Webservices, REST-Architekturprinzipien; Hypermedia as the Engine of Application State (HATEOAS) 4.3. Datenaustausch mit XML und JSON 5. Betrieb und Sicherheit von Webanwendungen 5.1. Deployment, Monitoring, Lastverteilung 5.2. Bedrohungen auf Anwendungsebene; ausgewählte aktuelle OWASP-Risiken für Webanwendungen; ergänzend ausgewählte Risiken KI-gestützter Webanwendungen (z. B. Prompt Injection); anwendungsseitige Sicherheitsmaßnahmen einschließlich sicherer Verarbeitung von Ein- und Ausgaben; Authentifizierungs- und Autorisierungsverfahren
[letzte Änderung 03.09.2026]
|
Weitere Lehrmethoden und Medien:
Vorlesung, praktische Übungen
[letzte Änderung 06.10.2021]
|
Literatur:
Webanwendungen I: • Becher, Margit: XML – DTD, XML-Schema, XPath, XQuery, XSL-FO, SAX, DOM; 2. Auflage; Wiesbaden: Springer Vieweg, 2022 • Müller, Peter: Einstieg in HTML und CSS – Webseiten programmieren und gestalten; 3., aktualisierte und erweiterte Auflage; Bonn: Rheinwerk Computing, 2024 • MDN Web Docs: Learn Web Development; jeweils aktuelle Fassung; https://developer.mozilla.org/en-US/docs/Learn_web_development • data2type GmbH: XML-Technologien – Tutorials und Übungen zu XML-Schema, XPath und XSLT; jeweils aktuelle Fassung; https://www.data2type.de/xml-xslt-xslfo Webanwendungen II: • Ackermann, Philip: JavaScript – Das umfassende Handbuch; 4., aktualisierte Auflage; Bonn: Rheinwerk Computing, 2025 • Ullenboom, Christian: Spring Boot 4 und Spring Framework 7 – Das umfassende Handbuch; 3., aktualisierte Auflage; Bonn: Rheinwerk Computing, 2026 • Takai, Daniel: Architektur für Websysteme – Serviceorientierte Architektur, Microservices, Domänengetriebener Entwurf; München: Carl Hanser Verlag, 2017 • Tilkov, Stefan; Eigenbrodt, Martin; Schreier, Silvia; Wolf, Oliver: REST und HTTP – Entwicklung und Integration nach dem Architekturstil des Web; 3. Auflage; Heidelberg: dpunkt.verlag, 2015 • Spichale, Kai: API-Design – Praxishandbuch für Java- und Webservice-Entwickler; 3., überarbeitete und erweiterte Auflage; Heidelberg: dpunkt.verlag, 2025 • Rohr, Matthias: Sicherheit von Webanwendungen in der Praxis; 2. Auflage; Wiesbaden: Springer Vieweg, 2018 • Eclipse Foundation: Jakarta EE Starter Guides und Jakarta EE Tutorial; jeweils aktuelle Fassung; https://jakarta.ee/learn/starter-guides/ und https://jakarta.ee/learn/docs/jakartaee-tutorial/current/index.html • Spring: Spring Guides und Spring Boot Tutorials; jeweils aktuelle Fassung; https://spring.io/guides und https://docs.spring.io/spring-boot/tutorial/ • PortSwigger: Web Security Academy – ausgewählte Lernpfade zu klassischen Angriffen auf Webanwendungen; ergänzend zu Web-LLM-Angriffen; jeweils aktuelle Fassung; https://portswigger.net/web-security • OWASP Foundation: OWASP Top 10 und ausgewählte Cheat Sheets zu klassischen Webangriffen; ergänzend LLM Prompt Injection Prevention und Secure Coding with AI; jeweils aktuelle Fassung; https://owasp.org/www-project-top-ten/ und https://cheatsheetseries.owasp.org/
[letzte Änderung 03.09.2026]
|