IUBH IPWA01 Prorammierung von Web-Anwendungsoberflächen
IUBH IPWA01 Zusammenfassung
IUBH IPWA01 Zusammenfassung
-
- 1 / 44
-
Lernkarten
Nachteile von Software mit einfacher Struktur?
- Keine klare Aufgabenverteillung
- Bei Änderugen muss immer die ganze Software ersetzt werden
- Hohe Wartungskosten
Arten von Softwarearchitekturen?
- Software mit einfacher Struktur
- 3-Schichten-Architektur
- Client/Server-Architektur
Wie kommunizieren Clients mit dem Server?
Z.b. über das Internet
Komponenten der 3-Schichten-Architektur?
- Darstellungsschicht
- Logikschicht
- Datenhaltungsschicht
Kommunikation nur mit der benachbarten Schicht!
Vorteile der 3-Schichten-Architektur und der Client/Server-Architektur?
- Einzelne Teile austauschbar
- Geringere Wartungskosten
- Trennung nach Aufgaben
- Software auf mehrere Geräte vereilt (Cient, Server)
Aufgaben der Darstellungsschicht?
- Enthält Komponenten zur visuellen Repräsentation
- Nimmt Benutzereingaben entgegen
Aufgaben der Logikschicht?
- Durchführung der Geschäftsprozesse (Bstellung eines Artikels)
Aufgaben der Datenhaltungsschicht?
- Erzeugen,Laden,Aktualisieren und Löschen von Datensätzen
Nachteile der Client/Server-Architektur?
Fällt der Server aus, ist der Zenrale Zugang für alle Clients weg
Fat Client vs. Thin Client
- Bei einem Fat Client ist die Darstellungsschicht und die Logikschicht auf der Client Seite
- Bei einem Thin Client nur die Darstellungsschicht
Was ist die MVC-Architektur?
Model-View-Control-Architektur
Der Benutzer interagiert mit der View(Darstellungsschicht), die angezeigten Daten kann die View direkt aus dem Model abfragen(das geht in der 3S-Architektur nicht)
Ändert der Benutzer Daten, wird der Controller informiert. Er ist verantwortlich für das Verhalten der Anwendung, er verararbeitet die Eingaben und prüft diese. Desweiteren kann er die View damit beauftragen Meldungen anzuzeigen. Für die Navigation ist er auch verantwortlich.
Java SE vs Java EE
- Die Java Enterprise Edition stellt Bibliotheken zur Entwicklung von Web-Anwendungen bereit.
- Ergänzt Java SE (Klassenbibliotheken, JVM, Compiler, Tools) um weitere Klassenbibliotheken und einen Aplication Server
- Nach MVC aufgebaut
Was sind Java Server Faces (JSF)?
- In Java EE entahltenes Framework zur Erzeugung dynamischer HTML-Seiten (Die View)
Was sind Beans?
- Sind das Datenmodell einer Webanwendung (Model)
Was ist ein Servlet?
- Der Controller im Aplication Server (MVC nur Controller)
Was sind statische Webseiten?
Webseiten die in einer HTML verfasst sind
Womit beginnen HTML / XHTML Seiten?
Dokumententyp-Deklaration
Warum benutzt man CSS?
- Um den Inhalt (HTML) von der Darstellung (CSS) zu trennen
- Der gleich Inhalt kann auf verschiedenen Geräten anders dargestellt werden (Verschiedene Größen)
- Getrennte Entwicklung von Inhalt und Darstellung
Wie bindet man CSS in HTML ein?
<head>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
CSS ID Selektor vs CLASS Selektor
- Der ID Selektor gilt für einzelne HTML Elemente (p#fussnote)
- Der CLASS Selektor gilt für eine Gruppe (td.spalte2)
Was ist XML?
Eine standardisierte Sprache zur Speicherung strukturierter Daten in Textdatein
Regeln in einer XML Datei?
- Es gibt keine Regel für die Schachtelung
- Es können mit XSD Datein welche definiert werden
- Eine XML ist wohlgeformt wenn alle Syntax-Regeln eingehalten werden (Ein Wurzel-Element, Alle Tags geschlossen)
- Eine XML ist gültig wenn sie wohlgeformt ist und alle definierten Regeln eingehalten weden
XML Typen?
- Einfache Elemente (<bla>1231</bla>)
- Strukturierte Elemente
- <bla>
- <blub>123</blub>
- <blubblub>4343</blubblub>
- </bla>
- <bla>
- Leere Elemente (<br/>)
Attribute in einer XML?
Es können beliebig viele existieren
<bla attribut1="dsdsd" attribut2="fsfsssfs">
...
...
</bla>
Was ist ein Java-Servlet?
- Ein in Java geschriebenes Programm, das auf einem Server läuft und HTML Code erzeugt
- Nicht direkt über URL erreichbar
Was ist ein Servlet Container?
- Eine Komponente der Java EE Web-Architektur
- Ist über eine URL erreichbar
- Gibt ein Servlet auf eine HTTP Anfrage zurück
Was sind Java Server Pages?
- Technologie der Java EE Architektur
- Einbinden von Java Code in HTML über JSP-Tags
- Generiert dynamische Webseiten
Was ist AJAX?
- Asynchronous Javascript and XML
- Technologie die es ermöglicht, nur bestimmte Teile eine Website neu zu laden
Was ist Javascript?
- Scriptsprache mit eine Java ähnlichen Syntax
- Zur Programmierung dynamischer Websites
- Kann in HTML eingebunden werden
Was ist DOM?
- Programmierschnittstelle mit der die baumartige Strukur einer HTML Seite ausgelesen und manipuliert werden kann
Was ist JavaServer Faces?
Modernes Framework zur Ertstellung von Java Webanwendungen
Was ist der JSF Lebenszyklus?
HTTP Anfrage ->
Komponentenbaum aufbauen -> Benutzereingaben uas HTTP-Anfrage auslesen -> Validierung der Benutzereingaben -> Datenmodell atualisieren -> Zusätzliche Methoden aufrufen -> HTML-Seite generieren
-> HTTP Antwort
JSF Komponenten vs HTML
JSF Komponenten beginnen mit einem Präfix:
aus <head> </head> wird <h:head></h:head>
Unified Expression Language?
Ausdrücke formulieren, die JSF mit Java verknüpfen
Managed Beans?
Java Klassen die durch JSF erzeugt werden und mit JSF Komponenten verknüpft werden können
Gültigkeitsbereich einer ManagedBean?
@NoneScoped -> wird nach dem erstellen wieder gelöscht, wenn sie nicht benutzt wird.
@RequestScoped -> Wird nach der HTTP-Anfrage wieder gelöscht.
@ViewScoped -> Wird erst gelöscht wenn zu einer anderen Seite navigiert wird
@SessionScoped -> Wird gelöscht wenn die Sitzung beendet wird (Timeout)
@ApplicationSoped -> Bean wird mit Start des Servers erstellt und nie gelöscht.
Zugriff auf ManagedBeans, auf welche Konventionen muss man achten?
- Objektbezeichner hat den gleichen Namen wie die Klasse, allerdings klein geschrieben
- Die Attribute sind private, klein geschrieben und es sind getter und setter vorhanden, in folgender form
- public getName()
- public setName(String s)
Name für den Zugriff auf die ManagedBean ändern?
@ManagedBean(name="neuerName")
Was können h:commandLink Komponenten?
Sie müssen von einer h:form Komponente eingeschlossen sein und können Methoden von ManagedBeans aufrufen
Was ist der Unterschied zwischen Value- und Method-Expressions der Unified Expression Language ?
Value-Expression verknüpfen JSF-Komponenten zur Ein- und Ausgabe
Method-Expression verknüpfen JSF-Komponneten um Aktionen auszulösen