Added PDF for Ofili

This commit is contained in:
Moser Benjamin 2019-03-02 17:02:13 +01:00
parent a7ef4b6a90
commit 3fadff8492
6 changed files with 24 additions and 25 deletions

3
.gitignore vendored
View File

@ -1,6 +1,5 @@
.DS_Store
.vscode
*.pdf
*.toc
*.xml
*.bcf
@ -12,4 +11,4 @@
*.out
*.gz
*.lot
_minted*
_minted*

BIN
doc/00_pse_complete.pdf Normal file

Binary file not shown.

BIN
doc/old_exams_complete.pdf Normal file

Binary file not shown.

BIN
pse.pdf Normal file

Binary file not shown.

46
pse.tex
View File

@ -116,7 +116,8 @@ public class DocumentDAOImpl implements DocumentDAO, Serializable {
\end{itemize}
\begin{figure}[!htp]
\centering
\includegraphics[width=0.8\textwidth]{pics/sl_pat1.jpg}
\includegraphics[width=0.9\textwidth]{pics/sl_pat1.jpg}
\includegraphics[width=0.7\textwidth]{pics/service.png}
\end{figure}
\begin{minted}[xleftmargin=\parindent,linenos,breaklines=true]{java}
@Local(DocumentService.class)
@ -230,26 +231,18 @@ MVC unterteilt eine interaktive Applikation in drei Teile: Model, View und Contr
\begin{itemize}
\item Es befinden sich Teile im Domain und Data Source Layer.
\item Das Model enthält die Kernfunktionalität und Daten. (z.B.: Datenbankzugriff)
\item Im Projekt ... % TODO
\item Im Projekt wird dies durch die Ordner \textit{service} und \textit{data} repräsentiert
\end{itemize}
\subsubsection{View}
\begin{itemize}
\item Im Projekt im Ordner WebApp zu finden.
\item Im Projekt im Ordner \textit{webapp} zu finden.
\item Enthält im Projekt xhtml Dateien zur Darstellung und User Interaktion
\end{itemize}
\subsubsection{Controller}
\begin{itemize}
\item Im Projekt sind Controllerklassen im Ordner web zu finden.
\item Im Projekt sind Controllerklassen im Ordner \textit{web} zu finden.
\item Sie enthalten die Logik und behandeln Benutzereingaben
\end{itemize}
\subsection{Nenne die Konsequenzen der Anwendung}
\begin{itemize}
\item Visualisierung abhängig vom Model - nicht umgekehrt
\item verschiedene Darstellungen möglich
\item einfaches Testen der Domain-Logik
\item gute Strukturierung
\item View wird leichter austausch bzw. änderbar
\end{itemize}
\section{Front Controller}
\subsection{Erkläre die Funktion + Skizze}
\begin{itemize}
@ -263,16 +256,29 @@ MVC unterteilt eine interaktive Applikation in drei Teile: Model, View und Contr
\item ConcreteCommand
\end{itemize}
\end{multicols}
\end{itemize}
\subsection{Servlet}
\begin{itemize}
\item Im Projekt wurde der Front Controller in Form eines Servlet realisiert,
\item die Einbindung erfolgt in der Konfigurationsdatei \textit{src/main/webapp/WEB-INF/web.xml},
\item Servlet ist eine Java-API, welche auf einem Server betrieben wird,
\item die Verarbeitung von Requests und Responses wird ermöglicht,
\item JSF und JSP können darauf aufsetzen, in unserem Projekt wurde JSF verwendet
\end{itemize}
\subsubsection{Java Server Faces (JSF)}
\begin{itemize}
\item JSF basiert auf dem MVC-Pattern
\item JSF-View-Code ist im Projekt im Ordner \textit{src/main/webapp/*} zu finden
\item JSF-Logik befindet sich in den Java-Beans (im Projekt \textit{/src/main/java/at/fhj/swd/psoe/web/*})
\item in unserem Projekt gibt es zu jeder xhtml-View eine eigene Controller-Klasse, welche dem ViewHelper-Pattern entspricht
\item in unserem Projekt kommt PrimeFaces zum Einsatz (eine konkrete Implementierungsart von JSF => Einbindung in pom.xml)
%TODO Toni fragen MVC-Aufteilung JSF
\end{itemize}
\begin{figure}[h!]
\centering
\includegraphics[width=0.5\textwidth]{pics/fc_pat.jpg}
\end{figure}
\subsection{Beschreibe ein konkretes Anwendungsbeispiel}
\begin{itemize}
\item Java Server Faces (bei Java Server Faces enthält das File zwar keinen Java Code, interagiert aber direkt mit Java Code einer Backing Bean)
\item Im Projekt wurde der Front Controller in Form eines Servlet realisiert, dessen Einbindung in der Konfigurationsdatei "`web.xml"' erfolgt:
\end{itemize}
\begin{minted}[linenos,breaklines=true]{xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
@ -287,12 +293,6 @@ MVC unterteilt eine interaktive Applikation in drei Teile: Model, View und Contr
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
\end{minted}
\subsection{Anwendung im Projekt}
JavaServer Faces: mächtiges Framework, wo das MVC Pattern verwendet wird. Auf der einen Seite
stehen die reinen Views (XHTML Seiten) und auf der anderen Seite Java Beans (Java Klassen), die als
View Helper fungieren können. Beispiel: layered/MVC-JSF
Primefaces ist eine konkrete Implementierung der JavaServer Faces (siehe POM.XML).
\begin{minted}[linenos,breaklines=true]{xml}
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

BIN
sw-arc.pdf Normal file

Binary file not shown.