htw saar
Zurück zur Hauptseite

Version des Moduls auswählen:
XML-Code

Webanwendungen

Modulbezeichnung: Webanwendungen
Studiengang: Wirtschaftsinformatik, Bachelor, ASPO 01.10.2021
Code: DBWINFO-230
SWS/Lehrform: -
ECTS-Punkte: 7
Studienjahr: 2
Pflichtfach: ja
Arbeitssprache:
Deutsch
Prόfungsart:
Klausur (120 Minuten, davon je 60 Min. für Webanwendungen I und für Webanwendungen II)
Pro Bearbeitungsminute ist ein Punkt zu vergeben.

[letzte Änderung 06.10.2021]
Verwendbarkeit / Zuordnung zum Curriculum:
DBWINFO-230 Wirtschaftsinformatik, Bachelor, ASPO 01.10.2021, 2. Semester, Pflichtfach
Arbeitsaufwand:
Der Gesamtaufwand des Moduls beträgt 210 Arbeitsstunden.
Empfohlene Voraussetzungen (Module):
Keine.
Als Vorkenntnis empfohlen fόr Module:
Modulverantwortung:
Prof. Dr. Dieter Hofbauer
Dozent: Prof. Dr. Dieter Hofbauer

[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 (insbes. 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.
 
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 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 Java EE wie Servlet-API, Java Server Pages (JSP) und JAX-RS und können diese zur
Erstellung von Webanwendungen einsetzen. Sie verstehen den Lebenszyklus von Java-EE-Komponenten wie Servlets und JAX-RS-Ressourcen. Des Weiteren können sie das Architekturmuster
Model View Controller (MVC) mit Java EE und Spring Boot umsetzen. Die Studierenden kennen
verschiedene Ansätze für serverseitiges Rendering von Webseiten, etwa mit JSP, Java Server
Faces (JSF) 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. Die wichtigsten Angriffsszenarien, die die Sicherheit
von Webanwendungen gefährden können, sowie entsprechende Gegenmaßnahmen sind bekannt

[letzte Änderung 06.10.2021]
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)38
  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, HTML5)
  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. CSS-Layout an Beispielen
 
Webanwendungen II:
 
1. Grundlagen
  1.1. Aufbau und Struktur von Webanwendungen
  1.2. Adressierungsschemata URL, URI, URN; MIME-Types
  1.3. Aufbau des HTTP-Protokolls; Historie; Grundkonzepte (Content-Negotiation, Cookies, Caching, Redirects)
 
2. Frontend Technologien
  2.1. HTML5 und CSS3; JavaScript
  2.2. JSON; AJAX; Bibliotheken und Frameworks
 
3. Backend Technologien
  3.1. Grundlagen zu Dependency Injection (DI); XML- und JSON-Verarbeitung mit Java; Maven als Build-Werkzeug
  3.2. Überblick über grundlegende Java EE mit Fokus auf Spring Boot
  3.3. Java EE: Servlets, Servlet-Filter, JSP, DI, JAX-RS, Bean Validation auf Basis von Wildfly Application Server
  3.4. Spring Boot: Spring Framework, Spring (REST) MVC mit Thymeleaf Template-Engine und Embedded 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. Sicherer Betrieb von Webanwendungen
  5.1. Deployment, Monitoring, Lastverteilung
  5.2. Bedrohungen für Webanwendungen; OWASP Top 10; Sicherheitsmaßnahmen; Authentifizierungsverfahren

[letzte Änderung 06.10.2021]
Weitere Lehrmethoden und Medien:
Vorlesung, praktische Übungen

[letzte Änderung 06.10.2021]
Literatur:
Webanwendungen I:
 
• Møller, Anders/Schwartzbach, Michael I.: An Introduction to XML and Web Technologies; Addison-Wesley; Reading
• Münz, Stefan/Gull, Clemens: HTML 5 Handbuch; Franzis; Poing
• Sebestyen, Thomas J.: XML – Einstieg für Anspruchsvolle; Pearson Studium; München
• Vonhoegen, Helmut: XML – Einstieg, Praxis, Referenz; Rheinwerk Computing; Bonn
• Wolf, Jürgen: HTML5 und CSS3 – Das umfassende Handbuch; Rheinwerk Computing; Bonn
 
Webanwendungen II:
 
• Gupta, Arun: Java EE 7 Essentials; O`Reilly; Sebastopol
• Takai, Daniel: Architektur für Websysteme – Serviceorientierte Architektur, Microservices, Domänengetriebener Entwurf; Carl Hanser; München
• Tilkov, Stefan; Eigenbrodt, Martin; Schreier, Silvis; Wolf, Oliver: REST und HTTP – Entwicklung
und Integration nach dem Architekturstil des Web; dpunkt; Heidelberg
• Simons, Michael: Spring Boot 2 - Moderne Softwareentwicklung mit Spring 5; dpunkt; Heidelberg
• Spichale, Kai: API-Design – Praxishandbuch für Java- und Webservice-Entwickler; dpunkt; Heidelberg
• Rohr, Matthias: Sicherheit von Webanwendungen in der Praxis; Springer Vieweg; Wiesbaden

[letzte Änderung 06.10.2021]
[Wed Aug 10 10:19:45 CEST 2022, CKEY=awe, BKEY=aswwinf, CID=DBWINFO-230, LANGUAGE=de, DATE=10.08.2022]