diff --git a/.gitignore b/.gitignore index 5691372..0bc2942 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ .DS_Store .vscode -*.pdf *.toc *.xml *.bcf @@ -12,4 +11,4 @@ *.out *.gz *.lot -_minted* \ No newline at end of file +_minted* diff --git a/doc/00_pse_complete.pdf b/doc/00_pse_complete.pdf new file mode 100644 index 0000000..6226f47 Binary files /dev/null and b/doc/00_pse_complete.pdf differ diff --git a/doc/old_exams_complete.pdf b/doc/old_exams_complete.pdf new file mode 100644 index 0000000..4628e31 Binary files /dev/null and b/doc/old_exams_complete.pdf differ diff --git a/pse.pdf b/pse.pdf new file mode 100644 index 0000000..7ca094e Binary files /dev/null and b/pse.pdf differ diff --git a/pse.tex b/pse.tex index 5db8a13..606f7c9 100644 --- a/pse.tex +++ b/pse.tex @@ -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} @@ -287,12 +293,6 @@ MVC unterteilt eine interaktive Applikation in drei Teile: Model, View und Contr *.xhtml \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} diff --git a/sw-arc.pdf b/sw-arc.pdf new file mode 100644 index 0000000..c8bcdec Binary files /dev/null and b/sw-arc.pdf differ